How Ad Viewability Affects CPM and What Publishers Can Do About It
Ad viewability measures whether an ad impression had the opportunity to be seen, defined by the IAB and MRC as at least 50% of the ad's pixels visible in the active browser viewport for one continuous second. Sites with high viewability scores attract higher CPM bids. Sites with low scores get shaded or blacklisted. This article covers the exact standards, how DSPs price based on viewability data, which placements score highest, and how to audit your numbers as part of your publisher ad monetization strategy.
What Is the Official Viewability Standard?
The IAB Tech Lab and Media Rating Council (MRC) define viewability thresholds by ad format. Display, video, and large-format ads each have different rules.
- Standard display ads (less than 242,500 pixels): 50% of pixels visible in the viewport for 1 continuous second.
- Large display ads (242,500+ pixels, e.g., 970x250): 30% of pixels visible for 1 continuous second. The lower threshold accounts for the fact that large creatives rarely fit entirely in the viewport.
- Video ads: 50% of the player pixels visible for 2 continuous seconds. The longer threshold reflects that video requires sustained attention to deliver value.
An impression that loads but never enters the viewport is served but not viewable. You get counted for the impression. The advertiser paid for it. But their measurement platform flags it as non-viewable, and that data feeds into how they bid on your inventory next time.
Google's Active View is the most widely used viewability measurement tool because it's built into Google Ad Manager. Third-party alternatives (IAS, DoubleVerify, MOAT) operate independently and may report slightly different numbers because they sample differently.
How Do DSPs Use Viewability Data to Price CPM Bids?
DSPs track viewability scores at the domain level, placement level, and ad unit level. Low viewability scores trigger automatic bid reductions. High scores unlock premium CPM tiers.
| Viewability Tier | Typical Viewability Rate | Relative CPM Impact | DSP Behavior |
|---|---|---|---|
| Low | Below 40% | 30-50% lower CPMs | Bid shading or domain blacklist |
| Average | 40-60% | Baseline CPMs | Standard bidding |
| Premium | 70%+ | 30-80% higher CPMs | Premium demand, vCPM campaigns eligible |
The mechanism is straightforward. The Trade Desk, DV360, and other major DSPs maintain historical viewability profiles for every domain and placement they've bought on. When a bid request arrives from your site, the DSP checks your viewability history. If your site scores 45%, the DSP shades its bid downward because it knows nearly half of impressions won't be seen.
A site moving from 45% to 70% viewability can see eCPM increases of 30 to 80% on the same inventory without changing anything about its demand partners or content. The improvement comes entirely from DSPs bidding more aggressively on inventory they trust will be seen.
Viewable CPM (vCPM) campaigns take this further. Advertisers buying on vCPM only pay for impressions that meet the viewability threshold. Publishers with high viewability attract these campaigns. Publishers below 50% are excluded from them entirely.
Which Ad Placements Score the Highest Viewability?
Above-fold and in-viewport placements consistently outperform below-fold and footer positions. The gap is large enough to restructure your entire ad layout around it.
- Sticky sidebar (300x600): 80 to 90% viewability. The unit stays in the viewport as the user scrolls. It's in view for the entire reading session on desktop. This is the single highest-viewability standard display placement.
- In-content (responsive, after paragraph 2-3): 60 to 75% viewability. Users scroll past it while reading. It's in the viewport long enough to meet the 1-second threshold for most readers.
- Above-fold leaderboard (728x90): 55 to 70% viewability. Visible on page load, but users often scroll past quickly. Viewability depends on how much time the user spends above the fold before engaging with content.
- Below-fold banner (728x90): 30 to 45% viewability. Many users never scroll this far. On pages with high bounce rates, this unit loads but never enters the viewport.
- Footer ad (320x50 or 728x90): 15 to 30% viewability. The lowest-performing position. Users who reach the footer have finished reading and are about to leave. The ad loads, but the 1-second threshold rarely completes.
The common mistake: running a footer ad unit because "more ad slots means more revenue." A footer unit with 20% viewability drags your domain-level viewability average down, which causes DSPs to shade bids on every unit on your site, including the high-performing ones. Removing a low-viewability unit can increase total revenue by raising CPMs across remaining units.
How Do Sticky and Anchor Ads Improve Viewability?
Sticky ads stay fixed in the viewport as the user scrolls, maintaining near-100% viewability throughout the session. They generate the highest viewability-adjusted CPMs of any standard display format.
- Desktop sticky sidebar (300x600): Fixes to the sidebar and follows the scroll. On content-heavy pages where users spend 2+ minutes, this unit can achieve 85 to 95% viewability with sustained in-view time well above the 1-second minimum.
- Mobile anchor ads (320x50 or 320x100): Fixed to the bottom of the mobile viewport. Always visible. Viewability rates of 90%+ are standard. eCPMs are lower than in-content units ($1 to $3), but the near-perfect viewability contributes to your domain's overall score.
The trade-off is user experience. Aggressive sticky ads that cover too much screen area trigger Google's Better Ads Standards violations. Google requires that sticky ads consume no more than 30% of the viewport. A 300x600 on a narrow desktop viewport can hit that limit. Test on common screen resolutions before deploying.
How Do You Audit Your Viewability Score?
In Google Ad Manager, navigate to Reports > create a new report > add "Active View Viewable" as a metric dimension. Filter by ad unit, placement, or device to identify which slots score above and below the 50% threshold.
Run this report monthly. Sort by viewability rate ascending. Any unit consistently below 40% is actively hurting your site. Either move it to a higher-viewability position, convert it to a sticky format, or remove it entirely.
Compare your overall viewability against CPM benchmarks for your format and vertical. If your display viewability sits below 50% site-wide, fixing placement should be your first optimization priority within your publisher ad monetization strategy, ahead of demand partner changes or fill rate improvements.
Use lazy loading to ensure below-fold ads don't fire until near the viewport. This single technique can lift viewability 10 to 15 percentage points because it prevents off-screen ads from loading and counting as non-viewable impressions.
Model the CPM impact of viewability improvements using the CPM calculator.
Frequently Asked Questions About Ad Viewability
What is considered a good ad viewability score for publishers?
A strong site-wide ad viewability benchmark is 70% or higher. DSP algorithms prioritize domains with 70%+ viewability scores, rewarding them with higher competitive CPM bids.
What is the official IAB definition of an viewable ad impression?
The IAB and MRC define a viewable display ad impression as having at least 50% of its pixels in the active browser viewport for at least one continuous second.
How does low ad viewability affect advertiser CPM bids?
Low historical viewability (<50%) triggers DSP bid shading algorithms, causing buyers to lower their maximum bid valuations or filter out the publisher's inventory entirely.
Do sticky footer ads count toward viewability metrics?
Yes, sticky anchor/footer ads maintain high viewability scores (often 80-90%+) because they remain anchored inside the visible viewport while users scroll through page content.
How can publishers check their Google Active View viewability score?
Publishers can monitor Active View metrics inside Google Ad Manager or Google AdSense reports under the Active View % Viewable metric column across ad units and domains.