Report on performance

IAB compliance

This document is a summary of the impression measurement process employed by Google Ad Manager. For additional resources beyond the scope of this document, see the IAB Ad Impression Measurement Guidelines.

Measuring impressions


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).


Ad Manager 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. Note that for each ad impression, you must add a googletag.defineSlot JavaScript call. Every time the browser invokes the googletag.display, a separate HTTP request is made to the server to fetch the ad.

View the sample Google Publisher Tag.

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

  • Ad Manager records ad impressions when the Ad Manager 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 Manager 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 Manager 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, Ad Manager automatically includes a random number in the URL for any call made to the ad server. This limits the caching of the Ad Manager ad tag. Ad Manager 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 Manager ad server.
    • Ad content: The identifying information relating to the content selected by the Ad Manager 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 Ad Manager 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.
  • JavaScript deactivated or incapable browsers: Certain older browsers and non-PC devices may not support JavaScript, and users may deactivate the JavaScript function on newer browsers disallowing JavaScript programs and scripts from executing. The proper implementation of Ad Manager uses a JavaScript function to generate the ad tags. Browsers incapable of executing the JavaScript don't generate the ad call, and, as a result, don't have an interaction with the Ad Manager 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 Ad Manager 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 Ad Manager 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 customized 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 turned off: Users have the option to turn off image rendering in their browser. In this state, the user's browser doesn't request images from the creative servers. Therefore, users in this state don't see the ad creatives (for standard image formats), but the user's browser may still render rich content ads in this state. However, the user's browser may still make the initial request to the Ad Manager 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

See Update periods for changes in Ad Manager.

Invalid traffic detection and filtration methodology

Google tries to identify and filter both general and sophisticated invalid traffic through data-based identifiers, activities and patterns, though presently Google has pursued general invalid traffic accreditation on Ad Manager only. This includes non-human traffic and suspected traffic fraud. However, because user identification and intent cannot always be known or discerned by the publisher, advertiser or their respective agents, it is unlikely that all invalid traffic can be identified and excluded from the reported results proactively. In order to protect invalid traffic filtration processes from becoming compromised or reverse-engineered, no details of specific filtration procedures, beyond those detailed in the Ad Impression Measurement Guidelines, will be disclosed, other than to auditors as part of the audit process.

  • Ad logs: Ad Manager 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.
  • Inactive begin to render impressions: Impressions (via begin to render methodology) considered inactive, as defined by served to a device receiving ad or bid requests continuously for a session of greater than 16 hours without a "reset" event. Sessions are reset daily at 5:00 AM, local time, and when the device goes longer than 30 minutes without a request. They are also reset by any VAST interaction ping (for example, pause, mute, unmute, volume changes). Inactivity is currently only measured for CTV.
  • 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 programs 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, and so forth), browser version, the computer's operating system, and so forth and may also include information identifying itself to the server. Such information is used to filter out non-human traffic.
  • Business Partner Qualification: All clients that use the Ad Manager service are required to adhere to our Platforms Program Policies, which state that partners must not engage in invalid activity. You can read more in the section on ‘Invalid Activity’. Google performs invalid traffic filtration on an ongoing basis, and will review any business partners that receive high amounts of invalid traffic. Partners who continually receive high amounts of invalid traffic may have their account suspended or closed.
  • Additional filtration details:

    • 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. The IAB Robots List exclude file is used.
    • Activity-based filtration processes: Activity-based identification involves conducting certain types of pattern analyses, looking for activity behavior 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.
    • All filtration is performed passively after the fact: The user (browser, robot, and so forth) 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. In some cases, frontend blocking is also utilized, when it is likely that the resulting ad request may lead to invalid activity. Historically, for reservation traffic, less than 0.5% of ad requests are blocked.
    • 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. Google does, however, have mechanisms in place to proactively review and segment auto refresh traffic for internal review.
    • Filtration frequency: Invalid traffic filtration is performed on an ongoing basis, as part of the reporting data processing system. Learn more about report processing timelines.
    • Updates to filtration systems: Google is continually updating invalid traffic filtration systems. As filtration processes are updated, an analysis is conducted to identify materially impacted campaigns. Google will proactively notify clients with materially impacted campaigns where appropriate and when such notification will not encourage reverse engineering of traffic filtration processes.

    • Internally generated traffic: Processes have been implemented to remove activity from Google internal IP addresses.

The decision rate for Ad Manager Reservation traffic is 100% (based on the reviewed sample data).

Data reporting

  • Google reports ad impressions to Ad Manager through an online electronic reporting application accessible through Ad Manager.
  • 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. Ad Manager reports audience metrics on multiple characteristics (for example, 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.
  • Ad Manager aggregates statistics continuously, though there could be a delay of up to four hours for the data to show up in reports. Around 3 AM Pacific Time on the first day of every month, we pause 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 (that is, 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 authorized personnel are able to approve program and system changes and their migration into the production environment. Google maintains formal processes to grant, change or terminate user access in the Ad Manager 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.
  • Reissuance 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 reissuance is handled on a case-by-case basis.

Device classification methodology

Google uses a combination of user-agent and mobile app SDK data from internal and external sources to classify device types. Google doesn't rely on any third party to perform classification.

Was this helpful?

How can we improve it?
Release notes

Read about the latest Ad Manager features and Help Center updates.

See what's new

Clear search
Close search
Google apps
Main menu