Before deciding how ExactDrive should serve a third-party creative, you must determine the ad tag format: HTML or JavaScript. HTML creatives are easily recognizable by their angle brackets (e.g. <html>). Your browser is designed to read HTML. We often see issues where the ad tag was labeled with the wrong tag format.
JavaScript, on the other hand, is a scripting language that defines variables and functions, which result in a certain output. ExactDrive must wrap JS creatives in HTML so that the browser is told that it is looking at a language. Note that often JavaScript ad tags come pre-wrapped in HTML, but do not be fooled. If the JS is surrounded by HTML markup tags, then the creative is HTML.
Once you have determined the ad tag language, choose which format ExactDrive should use when serving your creative.
1. iFrame HTML
We will serve the creative inside of an iFrame ad tag (http://www.w3schools.com/tags/tag_iframe.asp) An iFrame is an inline frame that contains another document.
Benefits: Security, especially for the publisher.
Downside: JavaScript cannot reference anything outside of the contained iFrame document so expandable and other rich media ads may not run properly.
2. Raw HTML
We will wrap the HTML using document.write(), a JavaScript method (http://www.w3schools.com/jsref/met_doc_write.asp). The JS-wrapped HTML is then wrapped in HTML <script> tags when returned to the page.
Benefits: Allows expandable and other rich media ads.
Downside: Ads will be able to read the content of the page. Ads will load synchronously, potentially slowing down site content.
3. Raw JS
We will serve the JS wrapped in HTML <script> tags
Poor Tag Set Up
It helps to know HTML and JavaScript here, but always look over the tag itself. Are HTML elements closed off when they should be? Are their mangled URLs or extra spaces or characters? Is there unnecessary character encoding?
Inactive Third Party Lines
Often, third party creatives are pointing towards lines in other systems that may or may not be running. It is always best practice to double check the setup in the hosting ad server.
Using Developer Tools to Troubleshoot
It is essential to have browser developer tools, such as FireBug, Tamper Data, or HTTPFox for FireFox, or built-in developer tools in Chrome to be able to fully troubleshoot a creative.
- What calls are being made?
- View all of the HTTP calls made using your sniffer tool of choice.
- Are any of the calls returning errors?
- Where are possible areas of failure?
- Is the call chain being halted by a particular URL?
- Are some of the calls returning empty content when they shouldn't?
What is going on behind the scenes?
- View the different HTML sections on the page using your developer tool of choice.
- Take note of which portions are being directly delivered as part of the ad tag in ExactDrive, and which portions are subsequently called FROM those portions.
- Check for malformed URLs and unnecessary or missing encoding (additional details on encoding here: http://www.w3schools.com/tags/ref_urlencode.asp)
We generally think of ad tags as something a publisher places on a website in order to sell ad space. But they can also be advertiser ad tags, used to direct the browser to a particular image or flash creative, or a kind of "in between" tag that moves an ad call along to the next step in the decisioning chain. These tags are all essentially the same in structure: they are all requests for content of a certain size and type from a certain URL. The content is either a creative or another ad tag and it may be returned immediately in one step or after multiple steps (an auction, redirects, etc.) each with its own tag. An ad tag may look very long and complicated if information about the ad call is included in the tag itself, or it might be very short and simple if ad call information is stored in the server to which the tag's URL is pointed.
What Does an Ad Tag Look Like?
An ad tag has two parts:
1) A URL, from which the browser will request content
2) Some HTML and possibly some JavaScript code. (HTML lets you create static webpage content. JavaScript is designed for performing dynamic tasks.)
The purpose of the code is to tell the browser how to display the ad (or other content) that they get from the URL request. For example the HTML <iframe> tag tells the browser to open a mini browser window of a specified size inside the current window. This way the ad content cannot expand beyond the size specified and "take over" the screen.
As a sidenote, most people dealing with ad tags (publishers, who need tags to put on their inventory pages, and advertisers, who may use tags to direct a browser to their creative) aren't hand building tags; they are inputting their page information or creatives into their ad server's user interface, and getting an ad tag spit out to them.
You probably know by now that the path of an ad tag can involve many hops. The very first hop will usually be to an ad server belonging to the Publisher or an ad server, network, exchange or other entity that will handle the inventory on behalf of the publisher. This entity may decide that this inventory fits the criteria for a guaranteed media buy. In this case they don't wish to send the inventory on to an open auction; they pass back a tag that directs the browser to either the advertiser that has pre-purchased this inventory, or to some ad server, network, exchange, or agency that is handling the advertiser's inventory.Or the entity may decide that the inventory should go directly to an open auction.