MRC viewability, explained for publishers

What the 50% / 1-second rule actually means, why serious advertisers demand it, and how to measure it correctly in your digital magazine.

The one-sentence definition

An ad is "viewable" when at least 50% of its pixels are in the reader's viewport for at least 1 continuous second (2 seconds for video). That's the Media Rating Council (MRC) standard, and it's the measurement Google, Meta, and every major ad network use.

Who MRC is and why they matter

The Media Rating Council is an independent, non-profit industry body that accredits measurement methodologies for advertising — TV, radio, print, and digital. Their Viewable Ad Impression Measurement Guidelines (first issued in 2014, updated regularly since) define the threshold all major players converged on. Any platform claiming to measure "viewable impressions" is claiming alignment with these guidelines.

Why does this matter to a publisher? Because when a media buyer from a brand agency asks "what's your viewable rate on that slot?", they're expecting a number that was computed against the MRC standard. If you report something else — say, "92% of ads were rendered" — they'll discount your inventory or refuse to buy.

The definition, in detail

≥50% of pixels in viewport
At least half of the ad's rectangle must be inside the reader's currently visible browser viewport. 49% visible? Not viewable. 51%? Viewable (once the dwell also satisfies). For large-format ads (≥242,500 pixels / ~550×441), the threshold drops to 30% — acknowledging that huge ads are hard to fully fit on smaller screens.
≥1 continuous second (display) or ≥2 continuous seconds (video)
The pixels must stay visible for the full dwell without interruption. If a reader scrolls past in 800ms, the impression doesn't count as viewable even if the 50% threshold was briefly met. For video, the longer dwell reflects that a viewer has to actually start watching — not just pass by.
Served to a real browser
The ad must render in an actual user-facing browser — not a headless crawler, not an iframe pre-fetch, not an ad blocker's shadow. Most implementations use the browser's native IntersectionObserver API, which only fires for visible elements in a live viewport.

"Served" vs "viewable" — why the distinction matters

A served impression = the ad's HTTP request completed; the creative is in the DOM. A viewable impression = the ad was in a position where a reader could have looked at it. These are different numbers, and they tell you different things:

  • Served impressions tell you the technical delivery worked — your server responded, the image loaded. Useful for debugging, useless for advertisers.
  • Viewable impressions tell you readers had a chance to see the ad. This is what correlates with brand lift, recall, click-through, and the outcomes advertisers actually care about.

A healthy display-ad campaign runs at 50-70% viewable rate (viewable impressions ÷ served impressions). Below 50% suggests most readers scroll past the ad before the 1-second dwell completes — usually a placement problem (the ad is below the fold on mobile, or next to skippable content).

How viewability is measured in practice

The standard modern implementation uses the browser's IntersectionObserver API:

  1. When an ad element mounts in the page, fire an ad_impression event (the "served" count).
  2. Attach an IntersectionObserver with threshold 0.5 to the ad element.
  3. When the observer reports intersectionRatio ≥ 0.5, start a 1000ms timer (2000ms for video).
  4. If the element stays ≥50% visible for the full dwell, fire an ad_viewable event and disconnect the observer.
  5. If the element drops below 50% before the dwell completes, cancel the timer; re-arm if it returns above threshold.
  6. Each ad mount = one chance to fire ad_viewable. Re-mounts (page flips, SPA navigation) start fresh.

ZenFlip implements this natively in the flipbook viewer's useAdViewability hook. Every ad overlay drawn on a page carries the observer; every impression and viewable event is attributed to the correct slot + placement in the analytics database.

What publishers should actually do about this

  1. Pick a platform that measures MRC-standard viewability natively. If you're on ZenFlip Business+, this is already done. If you're on a competitor platform that doesn't support it, you can't report viewability — and you won't be able to sell to buyers who demand it.
  2. Include viewable rate on your advertiser reports. Don't just report impressions and clicks — add viewable impressions and viewable rate. This is what makes your tear sheet credible.
  3. Optimise placements for viewability. Ads at the top of the first page or the middle of a long-dwell page perform better than ads at the extreme bottom of short content. Use viewable rate per placement to diagnose weak slots.
  4. Consider charging on viewable impressions (vCPM). Some publishers sell CPM on served impressions; more sophisticated operations charge vCPM (viewable CPM) which only bills for impressions that met the MRC threshold. Premium placements that are always in-view can charge a higher vCPM than lower-quality inventory.

Frequently asked questions

What does MRC stand for?
Media Rating Council — an independent industry body that accredits measurement methodologies for advertising. The MRC's Viewable Ad Impression Measurement Guidelines define the standard all major ad networks use to count a "viewable" impression.
What counts as a "viewable" impression under MRC?
For display ads: at least 50% of the ad's pixels must be in the viewport for at least 1 continuous second. For video ads: the same 50% pixels but for at least 2 continuous seconds. Both thresholds are what Google Ad Manager, Meta, and every major DSP/SSP use when they report "viewable impressions."
Why does viewability matter more than just impressions?
Impressions count "the ad was served" (rendered in the DOM, or sent to the device). But a banner at the bottom of a long page that a reader never scrolls to is still an impression — just not a useful one. Viewability separates "served" from "actually had a chance to be seen." Advertisers increasingly pay only for viewable impressions, because that's what correlates with brand lift, recall, and clicks.
Do small publishers need to track viewability?
If you want to sell direct-booked ads to serious media buyers — yes. Without a viewable rate on your reports, bigger advertisers won't take your placement seriously. Small trade magazines can usually skip it for smaller advertisers, but you'll hit a ceiling on what you can charge. The good news: ZenFlip implements MRC measurement natively, so there's no extra work for publishers on any plan with the ads stack.
How is MRC viewability different from Google Active View?
Google Active View is Google's implementation of MRC-standard viewability — the measurement methodology is the same (≥50% pixels for ≥1s). Both are MRC-accredited. The difference is the platform: Active View measures ads served through Google's networks; MRC standards themselves apply to any correctly-implemented viewability tracking, including publisher-native systems.
How does ZenFlip implement MRC viewability?
The flipbook viewer attaches an IntersectionObserver to every ad overlay with a threshold of 50% and a dwell timer of 1000ms (1s) for display or 2000ms for video. When the observed element satisfies both conditions, an ad_viewable event fires. The measurement is first-party (no third-party JavaScript) so it works inside iframes, across custom domains, and stays compliant with privacy regulations.

Native MRC viewability, with no extra setup

Upload your PDF, draw an ad slot, book an advertiser. Viewable impressions start tracking automatically — the same measurement Google and Meta use.

Start a Business trial →See the ads feature
MRC Viewability for Publishers — The 50% / 1-Second Rule Explained | ZenFlip