What is an ad impression, and when does it count?
Part of Programmatic media planning
The short answer
An ad impression is one ad that a measurement system counts as delivered. Under the MRC and IAB guidelines, the count happens on the user's device after the ad has loaded and at minimum begins to render, with invalid traffic filtered out. An ad request, a won bid and a viewable impression are separate events, counted separately.
Key takeaways
- The MRC and IAB guidelines count an impression on the device once the ad has loaded and begins to render, not when a server picks the ad.
- A request, a won bid, an ad decision, a rendered impression and a viewable impression are different events.
- Counts differ between platforms because each records a different moment, filters its own way and reports its own scope.
- A plan names one system of record for delivered impressions and labels every other count.
What counts as an ad impression under the MRC and IAB guidelines?
Definition
- Ad impression
- One ad that a measurement system records as delivered to a user's browser or app, counted as late as possible in delivery, after the creative has loaded and at minimum begun to render, and filtered for invalid traffic.
The reference definition for display comes from the Desktop Display Impression Measurement Guidelines (opens in a new tab), written by IAB Tech Lab and the Media Rating Council (MRC) and last updated in October 2017. It describes an ad impression as the measurement of responses from an ad delivery system to an ad request from the user's browser, "filtered for invalid traffic" and "recorded at a point as late as possible in the process of delivery." The ad "must be loaded and at minimum begin to render" to count.
The guideline defines both words. Loaded means the creative file has reached the user's device. Render means painting the creative or adding it to the page's Document Object Model. Begin to render does not require any part of the ad to be visible on screen, which is why the guideline points to the separately defined viewable impression as the metric closer to an opportunity to see.
The MRC standards index (opens in a new tab) lists separate impression documents for desktop display, digital video, mobile web and mobile in-app. A useful answer to how an impression was counted names the environment and its guideline.
How is an ad opportunity different from a delivered impression?
Between the moment a page asks for an ad and the moment one appears, several systems record their own events, and each can end up in a column labeled impressions.
| Event | What happened | Recorded by | Is it an impression? |
|---|---|---|---|
| Ad request | A page or app asked for an ad for one slot | Publisher ad server, SSP | No. OpenRTB's Imp object is "an ad placement or impression being auctioned" |
| Won bid | A bidder won the auction | Exchange and DSP, via the win notice | No. The win notice is "not necessarily indicative of a delivered, viewed, or billable ad" |
| Ad decision | A server chose and sent the creative | Ad server | No. The guidelines reject count on decision |
| Rendered impression | The creative loaded and began to render | Ad server tracking, measurement tags | Yes, under the MRC and IAB guidelines |
| Viewable impression | At least half the ad's pixels were in view for the required time | Viewability measurement | A separate metric; see the viewability guide |
Google's Ad Exchange eCPM help page (opens in a new tab) shows the gap from the sell side: matched requests, where a buyer purchased the inventory, can exceed impressions when rendering issues occur. The real time bidding guide covers the auction steps before this point.
When is an impression counted, on serve or on render?
On render. The desktop guideline requires a client-initiated approach. Server-initiated counting, "also known as count on decision or count on insertion", where impressions are counted at the same moment the page content is served, is "not acceptable for counting ad impressions because they are the furthest away from the user actually seeing the ad." A count may still be logged on a server, as long as it is triggered by an event detected on the device.
The guideline closes two loopholes. Prefetched or prerendered pages do not qualify unless the ad loads and begins to render in response to a user's request. And because ads can be shown from a device's cache, publishers and ad servers are expected to use cache busting, such as random numbers or timestamps on the tracking request, and to disclose it.
Video follows the same logic. The Digital Video Impression Measurement Guidelines (opens in a new tab) (June 2018) say measurement "should not occur when the buffer is initiated" but when the ad begins to play. For server-side ad stitching, server-to-server tracking "may be limited and not fully able to satisfy client-initiated measurement requirements", and measurers should disclose that limitation.
| Event | What it records | Use in a plan |
|---|---|---|
| Ad request | The player reached an ad break and asked for an ad | Diagnostic only, not delivery |
| VAST Impression | The player called the impression tracking URI from the ad response when the ad began to play | The delivered video impression |
| Start and quartiles | Playback reached the start, then 25, 50 and 75 percent | Completion reporting, kept apart from impressions |
| Viewable impression | Two continuous seconds played with at least half the ad's pixels in view | Viewability reporting, in a separate column |
The video rows follow VAST 4.3 (opens in a new tab) (December 2022): the ad server supplies an impression tracking URI in the Impression element, and every such URI in the ad response and any wrapper before it "should be triggered at the same time" to prevent counting discrepancies. OpenRTB 2.6 adds that for VAST video, the VAST impression event is "the official signal that the impression is billable."
Why do impression counts differ between platforms?
Even when every system follows the guidelines, they do not record the same instant. The desktop guideline says so directly: "There will necessarily be some slight differences among measurers in the precise moment when rendering is measured." Larger gaps can come from the systems counting different events, filtering differently, or covering different slices of the campaign.
- Different events. A DSP may report billable events, while the advertiser's ad server counts rendered impressions. OpenRTB 2.6 says the billing notice fires "when a winning bid becomes billable based on exchange-specific business policy".
- Redirects. The desktop guideline notes that "the number of redirects in the transaction stream can impact the accuracy of ad counting due to latency."
- Invalid traffic filtering. Each measurer applies its own filters, so two compliant systems can remove different amounts.
- Reporting scope. Time zones, date boundaries, creative and placement IDs and the time a report was pulled all change the total.
Five steps to trace an impression discrepancy
- Freeze both reports. Save each export with the time it was pulled, so later adjustments do not erase the evidence.
- Match the scope. Use the same campaign, creative and placement IDs, the same dates and the same time zone in both reports before calculating any gap.
- Name the event in each column. Write down whether each system counts requests, won bids, billable events, rendered impressions or viewable impressions.
- Ask about filtering. Record each system's invalid traffic treatment and whether its total is preliminary or final.
- Isolate the gap. Break the remaining difference down by creative, format and environment, and send sample records to the person who implemented the tags.
Do not average two totals to settle a gap: the average has no counting method behind it. Keep the system of record's figure and show the unexplained difference beside it.
Which impression count should a media plan report?
Pick one system of record for delivered impressions before launch, such as the advertiser's ad server or the measurement service named in the contract, and say which guideline it follows. Every other count gets its own label.
Impression reporting checklist for a media plan
- The plan names the system of record for delivered impressions and its owner.
- The counted event is written in plain words: loaded and began to render on the device, or for video, began to play.
- Won bids, billable events and ad requests appear only in diagnostic columns, never as delivered impressions.
- Viewable impressions sit in their own column with the standard they follow.
- Each report states its time zone, date range and whether invalid traffic adjustments are final.
- The plan says where unresolved discrepancies will be logged and who decides the billing basis under the contract.
Impression counts feed every rate in the plan: CPM divides spend by them, as the CPM guide explains, and the desktop guideline notes they remain an input into viewability metrics. See the programmatic media planning hub for the wider workflow.
Which sites are likely to inflate impression counts per visit?
Some page designs produce many rendered impressions per visit: slots that reload on a timer, sticky units and long pages stacked with ad slots. Each can be valid under the guidelines while adding little for the advertiser. The ad refresh guide covers how refresh should be declared.
What does an impression review look like on one campaign?
Fictional example
An independent bookstore chain in Washington and Oregon
A fictional chain of independent bookstores in Seattle and Portland runs display and short video ads in Washington and Oregon, in English, beside book reviews and author interviews, to promote fall author events. The agency buys through a DSP on a curated deal, and the bookstore's ad server tracks every creative.
After the first week, the DSP report and the ad server report disagree. The planner freezes both exports, resets both to Pacific time and the same creative IDs, and labels each column. The DSP column counts billable events set by the exchange; the ad server counts rendered impressions. Most of the gap sits on one video creative behind an extra redirect.
The ad server becomes the system of record for delivered impressions, the DSP figure moves to a diagnostic column, and the extra wrapper is removed. No delivery or performance result is implied.
Frequently asked questions
Do prefetched or prerendered pages create ad impressions?
Not by themselves. The MRC and IAB desktop guideline says prefetch and prerender requests do not qualify as valid impressions unless the ad loads and begins to render in response to a request by a user. Measurers are expected to exclude prerender situations where nobody actually navigated to the page.
Does a refreshed ad slot count as a new impression?
Each time a slot loads and begins to render a new ad, a new impression can be counted, so one page visit can produce many. That is why sellers should declare refresh and report it apart; the ad refresh guide covers the declaration rules.
How are impressions counted when ads are stitched into a video stream?
With server-side ad insertion, the stitching server can send tracking on the player's behalf. The MRC video guideline says this may not fully meet client-initiated counting requirements, and that measurers who cannot measure these environments well should disclose and size that limitation. Ask for the disclosure before the buy.
Are invalid traffic impressions removed from the count?
They should be. The MRC and IAB definition of an impression includes filtering for invalid traffic, with the detailed rules in the MRC's invalid traffic addendum. Because each measurer filters in its own way, ask whether every report's total already includes its invalid traffic adjustments before comparing it with another report.
Sources
- Desktop Display Impression Measurement Guidelines, version 1.1, October 2017 (opens in a new tab)IAB Tech Lab and Media Rating Council
- Digital Video Impression Measurement Guidelines, version 1.1, June 2018 (opens in a new tab)IAB and Media Rating Council
- Standards and Guidelines (opens in a new tab)Media Rating Council
- OpenRTB 2.6 specification (opens in a new tab)IAB Tech Lab
- VAST 4.3, December 2022 (opens in a new tab)IAB Tech Lab
- Understanding eCPM in Ad Exchange (opens in a new tab)Google Ad Manager Help
Researched and written by PlacementGraph Research. Read how we research, source and update these pages. Corrections: diana@placementgraph.com.