Definition:
Cachebuster is a random number which makes your creative unique and prevents loading them from browser’s cache.
Example:
When you visit wikipedia.org you will find wikipedia’s logo in the centre. When you revisit this site, the logo will be loaded from browser’s internal offline buffer called ‘cache’. Caching increases loading speed of the browser and helps you navigate smoothly across web pages that you visit regularly.
While it is useful for your day-to-day browsing, it can be a source of discrepancy for your campaigns. If your cachebuster isn’t implemented correctly your ads could be shown, but impressions wouldn’t be counted because they are not calling your adserver. Also, image loads offline.
Cachebuster adds a unique number to the image url, so there is no option for the browser to “memorise” it.
When to use:
Cachebusters have to be used for third party impression trackers and tracking pixels, so that the 1×1 pixel images will not be cached by browser.
What happens when cachebusters are not used in your campaign:
The most common issues are:
- Discrepancy between adserver and third party adserver
- Discrepancy in conversions (pixel loads)
- Non unique impressions aren’t counted, hence unnaturally low impression frequency per user
- Skewed results
Execution:
Most DSPs/Adservers have their own cachebusting macro for third party tracking. A line of code will generate a random number for you. Examples of cachebusters for different platforms:
Appnexus - ${CACHEBUSTER} DBM - ${CACHEBUSTER} Mediamath - [RANDOM_NUMBER] Rocketfuel - {cachebust}
Source code Example (Doubleclick Bid Manager Pixel):
<!-- Start of DoubleClick Floodlight Tag: Please do not remove Activity name of this tag: Retargeting URL of the webpage where the tag is expected to be placed: http://www.sparcmedia.com This tag must be placed between the <body> and </body> tags, as close as possible to the opening tag. Creation Date: 04/19/2016 --> <script type="text/javascript"> var axel = Math.random() + ""; //creates random number var a = axel * 10000000000000; //multiplication of random number by 10000000000000 document.write('<img src="https://ad.doubleclick.net/ddm/activity/src=1234567;type=invmedia;cat=12345678;ord=' + a + '?" width="1" height="1" alt=""/>'); //adding random number as ord= parameter // ]]></script> <noscript> <img src="https://ad.doubleclick.net/ddm/activity/src=1234567;type=invmedia;cat=12345678;ord=1?" width="1" height="1" alt=""/> <!-- Noscript part doesn't have random number implemented, ord=1 and is constant --> </noscript> <!-- End of DoubleClick Floodlight Tag: Please do not remove -->
Source code executed (Doubleclick Bid Manager Pixel):
<img src="https://ad.doubleclick.net/ddm/activity/src=1234567;type=invmedia;cat=12345678;ord=8256481299340.306?" alt="" width="1" height="1" />
Every time we will reload website with this pixel, ord will have a different number. In this case ord=8256481299340.306.
1 comment for “Cachebuster – why replacing [timestamp] in placement tags and impressions trackers is crucial to avoid discrepancy?”