IAB compliance


Introduction

This document is a summary of the impression measurement process employed by DFP Small Business. For additional resources beyond the scope of this document, please see the IAB's Ad Impression Measurement Guidelines.


Measuring impressions

Sampling

The measurement process is census based, not sample based; therefore, there are no universal estimates or statistical projections of the data. The measurement methodology is based on all impression activity recorded (subject to filtration procedures).

Metrics

DFP produces audience metrics based on display (banner) advertisement (ad) impressions, clicks and click-through rates: network, advertiser, salesperson, creative, ad unit, placement, date and hour of day. However the focus of this document is on ad impression measurement and reporting.

Client-initiated implementation technique

Ad requests resulting in impressions are initiated by an HTTP request generated by <SCRIPT> tags, included in the page content, that are rendered when acted upon by the browser. Below is the structure of the ad tag. Note that for each ad impression, one must add a GA_googleFillSlot JavaScript call. Every time the browser invokes the GA_googleFillSlot, a separate HTTP request is made to the server to fetch the ad.

Step HTML Description
<html>
<head>
Step 1 <script language="JavaScript" src="http://partner.googleadservices.com/gampad/google_service.js">
</script>
Required: Load JavaScript files used by DFP Small Business
Step 2 <script language="JavaScript" type="text/javascript">
    GS_googleAddAdSenseService("ca-pub1");
    GS_googleEnableAllServices();
</script>
Required: Enable your page to display ads
Step 3 <script language="JavaScript">
    GA_googleAddAttr("Gender", "Male");
    GA_googleAddAttr("AgeRange", "18To24");
    GA_googleAddAttr("InterestArea", "cars");
</script>
Optional: Set page-level attributes that influence ad selection.
Step 4 <script language="JavaScript">
    GA_googleAddSlot ("ca-pub1", "GizmosUnlimited_HelpCentre_FAQs_ATF_Left_90x90");
    GA_googleAddAdSensePageAttr("google_color_bg", "F0F0F0");
    GA_googleAddAdSenseSlotAttr("AdUnitName", "google_color_bg", "F0F0F0");
</script>

Required / Optional / Optional respectively:

  • GA_googleAddSlot: Defines the ad units on your page. This example uses a fictitious ad unit name ("GizmosUnlimited...").
  • GA_googleAddAdSensePageAttr: For pages that serve AdSense ads, you can pass AdSense parameters to all ad units that appear on a page.
  • GA_googleAddAdSenseSlotAttr: For ad units that serve AdSense ads, you can pass AdSense parameters and values to a particular unit.
Step 5 <script language="JavaScript">
    GA_googleFetchAds();
</script>
Required: Retrieve the ads for your page.

</head>

<body>
<h1> Title of your Page</h1>

Step 6 <script language="JavaScript">
        GA_googleFillSlot("GizmosUnlimited_HelpCenter_FAQs_ATF_Left_90x90");
 </script>
Required (once per ad unit): Display Ads.

<p>Normal content of your Web page.</p>

</body>
</html>

Response that results in ad impression measurement

The JavaScript ad tag GA_googleFillSlot invokes an HTTP request to the ad server. The ad server selects an advertisement and then delivers a "200" server code with JavaScript content directing the browser to the advertising content, whether a Google hosted creative or third-party ad tag. Counting occurs when the ad server acts upon the ad call and issues the ad content. In this implementation, measurement occurs based on the ad servers selecting and returning the ad content, and in advance of the ad being displayed to the user.

Limitations associated with the specific measurement trigger being used

  • DFP Small Business records ad impressions when the DFP ad server receives the ad request from the browser and selects an ad, but prior to delivery of the selected ad content. In certain situations, this could cause overstatement if the user abandons the web page after the ad tag was acted upon and the impression was counted, but prior to delivery of the ad content.

  • Ad impressions delivered via pop-up or pop-under ads (collectively referred to as pop-up hereafter) may be blocked from displaying by a pop-up blocker. When ad tags are properly implemented by the publisher, a pop-up blocker, which would prevent the pop-up window from opening, would also prevent the ad tag (which also serves as the measurement asset) from being requested, and therefore, the ad impression would not be recorded. However an impression will be recorded if the ad creative opens up a pop-up although the pop-up might be blocked by a pop-up blocker.

Compound tracking

We don't support group loading of ads. Each ad is loaded, and hence recorded, individually.

Cache-busting techniques

Through the use of a JavaScript function, DFP Small Business automatically includes a random number in the URL for any call made to the ad server. This limits the caching of the ad tag. DFP Small Business also supports insertion of cache busting macros (random number to make the URL unique) for ads rendered by third party ad servers. However it relies on the publisher having the ad units tagged correctly.

Logging method

  • Google uses multiple ad servers to provide sufficient capacity, each of which maintains a log file that is continuously processed centrally. Automated procedures are used after processing the daily results to ensure all log files were processed. Alerts are triggered and attended to in case of unusual activity or errors. There could be a delay of up to four hours before logs are processed and stats are recorded for an ad impression.

  • The following is a description of some of the items logged and their use in the process:
    • IP address: The Internet Protocol (IP) address represents the address of the user making the request. This is used in the filtering process, including the identification and removal of non-human and internal Google traffic.

    • User agent: The user agent is a text string sent to the server by the browser providing certain identifying information about the browser. This is used in the filtering process, primarily to identify and remove non-human traffic.

    • Date/time: Date and time the request was logged by the ad server.

    • Ad content: The identifying information relating to the content selected by the ad server:

    • Publisher: Identifies the associated publisher site calling for the ad placement.

    • Ad unit: Identifies the location of the ad to be placed on the publisher site. An ad unit may have one or multiple line items associated with it.

    • Line item: Identifies respective customer campaign/creative.

Other disclosures around measurement

  • Pop-up blockers: Ad impressions delivered via pop-up or pop-under ads (collectively referred to as pop-up hereafter) may be blocked from displaying by a pop-up blocker. When DFP Small Business ad tags are properly implemented by the publisher, a pop-up blocker, which would prevent the pop-up window from opening, would also prevent the ad tag (which also serves as the measurement asset) from being requested, and therefore, the ad impression would not be recorded.
  • Non-Flash browsers: Certain browsers and non-PC devices may not support Flash, which is an interactive format used for the delivery of certain advertisements.  In these situations, the ad impression would be recorded once the ad tag is requested by the browser.  Therefore, if the user’s browser cannot render an advertisement in the Flash format, the ad impression will be overstated, unless an alternative ad format is requested and delivered instead.
  • JavaScript disabled or incapable browsers: Certain older browsers and non-PC devices may not support JavaScript, and users may disable the JavaScript function on newer browsers disallowing JavaScript programmes and scripts from executing.  The proper implementation of DFP Small Business uses a JavaScript function to generate the ad tags.  Browsers incapable of executing the JavaScript will not generate the ad call, and, as a result, will not have an interaction with the ad server (no ads will be served or counted).
  • Ad blocking software: With certain browsers or tools, users have the ability to block content (including advertisements) based on the domain from which the content is being requested.  This may include either image blocking from the selected domains, or the exclusion of any requests being made to the designated domains.  Ad blocking techniques or software that prevents any requests to the DFP Small Business domain may have no impact on the impression measurement as this situation may prevent both the ad request and the measurement, resulting in an accurate count of zero impressions.  However, ad blocking software that blocks images or content from the creative server, but not DFP Small Business ad servers, may result in an overstatement if the ad request is processed and counted, but the browser subsequently prevents the display of the ad creative.  Additionally, certain ad blocking tools may also be customised by the user to block content based on the image size.  The software compares the size of the image/creative to the set parameters of the filter and if it matches the parameters, the image is blocked, potentially resulting in overstatement of the impression.
  • Image rendering disabled: Users have the option to disable image rendering in their browser. In this state, the user's browser will not request images from the creative servers.  Therefore, users in this state will not see the ad creatives (for standard image formats), but the user’s browser may still render rich content ads in this state if they do not separately disable the Flash player.  However, the user’s browser may still make the initial request to the DFP Small Business ad server potentially resulting in over counting of the static image ad creatives as counting occurs after the request is made, but before the ad is delivered to the browser.
  • Auto refresh: Every refresh of the page results in new requests being made to the ad server and hence additional impressions being counted.
  • Other limitations: In addition to the measurement limitations noted above, certain log entries may be corrupted or otherwise unusable in the accumulation of ad impressions. 

Ad scheduling and delivery process

There could be a delay of up to 10 minutes for any new ad unit to start receiving ad traffic. Also there could be a delay of up to 15 minutes for any change to be propagated to the ad serving systems.


Filtration methodology

  • Ad logs: DFP Small Business ad logs are identified for invalid events and non-human traffic through the filtration process to produce the aggregated ad impression files.

  • Invalid events: During the filtration process, certain log entries are removed from the logs as they represent situations where the log entry indicates a situation other than a usable log entry, such as entries where the server did not understand the request, and therefore assigned an error code status to the request. Incomplete or corrupted log entries are also removed. Google’s processing requires certain fields included in the request to be found, complete and accurate; if any of these fields are missing or incorrect the log entry is rejected.

  • Non-human traffic: Non-human traffic including robots, spiders, crawlers and agents (collectively referred to as robots) represents programmatic activity on the website. This activity is comprised of programmes making requests for web pages on the website and recursively following the links on the page to other pages within the website, including in many cases, the links to the ad servers. This activity may include system monitoring tools designed to ensure the website is functioning properly and content indexing or retrieving processes such as those used by search engines to populate their databases. When a user’s browser or robot makes a request of a server for content, it typically provides certain data to the web server in addition to the specific request, including their IP address and user agent. The user agent typically provides certain information to the web server such as browser type (Internet Explorer, FireFox, Safari, Netscape, Opera, etc.), browser version, the computer’s operating system, etc. and may also include information identifying itself to the server. Such information is used to filter out non-human traffic.

  • Additional filtration details:

    • Filtration services: All filtration is done by Google.

    • Sources used for identification of non-human activity: Google uses the IAB/ABCe International Spiders & Robots List as well additional filters based on past robotic activities.

    • Activity-based filtration processes: Activity-based identification involves conducting certain types of pattern analyses, looking for activity behaviour that is likely to identify non-human traffic. Google's Ad Traffic Quality team has systems in place to determine any suspicious activities and does such activity-based filtering appropriately.

    • Internally generated testing (non-commercial) activity: Google excludes all traffic from internal IP addresses from any reported data, based on a listing of all Google internal addresses. Additionally, if you sign into DFP Small Business and generate a click or impression from the same IP address, the click or impression will be disregarded.

    • All filtration is performed "after-the-fact" and passively. That is, the user (browser, robot, etc.) is provided with their request without indication their traffic has been flagged, or will otherwise be filtered and removed as Google does not want to provide any indication to the user agent that their activity has triggered any of Google’s filtering mechanisms.

    • Auto-refresh: Automatically refreshing pages use HTML programming code to automatically reload the user’s browser with an updated webpage after a specified time interval, including new ad impressions. Google does not have direct control over publisher’s site-initiated auto refresh, and does not have the ability to ensure publishers are fully reporting and disclosing the use of auto-refresh.


Data reporting

  • Google reports ad impressions to DFP Small Business through an online electronic reporting application accessible through DFP Small Business.

  • Reported audience metrics include advertising impressions, clicks, and click-through rates, and are presented for the following areas:  network, advertiser, salesperson, creative, ad unit, placement, date and hour of day.  DFP Small Business reports audience metrics on multiple characteristics (e.g. order by date and hour of day and creative by date). No sort of estimation procedure/approximation is used in the reporting of data.

  • Reports are generally reported in the time zone setting of the publisher.

  • DFP Small Business aggregates statistics continuously, though there could be a delay of up to four hours for the data to show up in reports. After 4:00 AM on the first day of every month, we freeze statistics for the previous month.

  • Pre-release quality assurance procedures:

    • Google’s processes include formal change request protocols and tracking systems.  Whenever a change is requested, it must be entered into the change management tracking tools, which also document approvals.  Changes are then made and tested using either automated testing tools or manual testing (i.e. unit testing) as necessary depending upon the nature of the change.  Once all unit testing is complete, a build is produced containing all the recent changes, which are tested in a parallel test environment.  Upon successful completion of the build test, the changes are pushed into production.

    • Access control systems are used to enforce access to various systems as well as to ensure only authorised personnel are able to approve programme and system changes and their migration into the production environment.  Google maintains formal processes to grant, change or terminate user access in the DFP Small Business environment under the control of Google.  Additionally, user access audits are performed quarterly in which every user account is reviewed to determine if the access rights are appropriate.

  • Re-issuance of data: Google has automated tools to detect and alert internally any discrepancies in the data reports. Google personnel respond to these alert to take appropriate corrective action. Larger data re-issuance is handled on a case-by-case basis.

  • Retention period for electronic records: All raw ad server logs are backed up and retained for at least one year.