What Is Macro?
Macro is a special string or placeholder that needs to implemented on the creative tags to track certain information from the ad server. When ad serve to the user, the ad server replaces the macro with the real value or unique value based on the macro type. For example, if the ad tag updated with the macro $!{AD_ID} then ad server fetches the ad id and replace the macro $!{AD_ID} with corresponding Ad Id.
Why Macro Is Important?
Most of the advertisers are using third party ad tags to serve the ad banner. So, they can use macro’s to accurately calculating impressions, clicks and also gathering other values.
There are two types of macro’s available,
Cachebuster Macro
What Is Cachebuster Macro?
Cachebuster macro in the ad tag forces the platform to make a new call to the ad server when each time impression is served. So, browser do not serve the ad banner from the cached memory.
In the above creative tag, $!{AD_CALL_ID} is the cachebuster macro. You can understand the purpose of the Cachebuster macro after reading the below workflow process.
When user browse the website on their computer or mobile phones the following actions will happen,
User load website
Browser sends request to the hosting server to load the content
If the page contains publisher ad code then browser send ad request to the publisher
Bidding will happen at the ad exchanges
Once win, the ad exchange pass the winning information to the browser
Then browser send ad request to ad server
Ad server send the corresponding ad tag to the browser
Browser Load the “Ad Tag” & Fetch the image from the source and display to the user
Normally, when you visit a website in your browser, it saves certain links, images, other files in its cache directory to provide the seamless experience to the browser if they visit again. If user load the same website again then it first checks it’s cache directory and fetch the image or files from there. If anything not available then browser request the hosting server to provide the remaining files. Browsers are designed like to speedup the loading process.
Lets consider below is the ad tag received from the ad server. When browser load this tag first time, it will check it’s cache memory and no files can’t be founded. So, it will send request to the ad server and fetches the ad banner and show it to the browser. Right away, it saves this ad banner in its cache location. Whenever user bid and win the same ad, the browser won’t send any request to the ad server because it already available in the cache memory. So, browser retrieve the image file from its cache memory and show it to the user. Due this, ad server won’t get any banner request and won’t serve any banner. So, it won’t count the impression. To avoid this issue, we have to use the Cachebuster macro.
We can’t force the browser to stop storing cache and looking up the cache memory when it loads. To avoid the above issue ad tech engineers found a solution called “cache buster”. The main reason for the above issue is “same link”. If we able to change the link every time then the browser always sends request to the ad server. So ad server can count every impression.
Generating new links also a painful job. To automate this process, cachebuster place holder is introduced. In the above example tag, below link is the ad banner source.
https://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=rsb&c=28&pli=129d9211&PluID=0&w=120&h=600&ord=[timestamp]&ucm=true
This [timestamp] macro should be replaced with a corresponding macro’s when its uploaded on different DSP’s. For example, if you upload this tag in Amobee DSP then you must replace this macro with $!{AD_CALL_ID}. So the tag should be like this,
https://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=rsb&c=28&pli=129d9211&PluID=0&w=120&h=600&ord=$!{AD_CALL_ID}&ucm=true
Platform will generate random number when browser loads this tag as below examples,
https://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=rsb&c=28&pli=129d9211&PluID=0&w=120&h=600&ord=234335322&ucm=true
https://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=rsb&c=28&pli=129d9211&PluID=0&w=120&h=600&ord=455336784&ucm=true
Every time this source link looks new. So, browser always reach the ad server to get the ad banner.
What Is Click Macro?
Click macro is a placeholder that needs to be added to the creative tags. Normally, click macro appended to the landing page url in the creative tag. Whenever user clicks the ad banner it generates a unique string value that helps the ad server to track the clicks.
In the third party ad tag, the landing page url or click tracker kept in the a href section. In the above tag, the click tracker is “https://bs.serving-sys.com/BurstingPipe/adServer.bs?cn=brd&FlightID=1299211&Page=&PluID=0&Pos=166017939”. When user clicks the particular ad, they redirected to the landing page linked under this tracker. Normally, browsers (publishers) send some information to the ad server once their ad is clicked. If we append the click macro “XXCLICK_FORM_URL[]XX” to the click tracker, it generates unique value and click through to the landing page when user clicks the ad. So, ad server capable for understanding the unique value and count the clicks without any loss. If we don’t put the click macro then adserver not able to record the clicks.