CPM Calculator
Illustration for CPM vs vCPM: What's the Difference and Why It Matters

CPM vs vCPM: What's the Difference and Why It Matters

Published 7 min read

If you've ever pulled a campaign report and seen two different cost-per-thousand numbers — one labeled CPM, another labeled vCPM — you've run into one of the most common sources of confusion in digital ad reporting. They're not two names for the same thing, and mixing them up can make a campaign look more efficient (or less efficient) than it actually is.

CPM, Briefly

CPM (cost per mille) is the price per thousand ad impressions served — meaning the ad was delivered to a page or app, whether or not anyone actually saw it. It's calculated with the standard CPM formula: divide total cost by total impressions, then multiply by 1,000. You can run that calculation yourself with the CPM calculator on this site.

What Is a Viewable Impression?

A served impression just means the ad tag fired — the ad was technically loaded into a page. It says nothing about whether the ad was ever on screen. A viewable impression is stricter: it means the ad met a minimum visibility threshold.

The most widely adopted definition comes from the Media Rating Council (MRC). Under that standard, a display ad counts as viewable if at least 50% of its pixels are on screen for a minimum of one continuous second. Video ads have a slightly higher bar: 50% of pixels visible for at least two continuous seconds. Most major ad platforms and measurement vendors have adopted this benchmark, which is what makes vCPM comparable across different tools and networks.

What Is vCPM?

vCPM (viewable cost per mille) applies the same cost-per-thousand logic as CPM, but the denominator changes: instead of dividing by every impression served, you divide by only the impressions that were actually viewable.

vCPM = (Total Cost ÷ Viewable Impressions) × 1,000

Because viewable impressions are always a subset of served impressions (never more), vCPM will always be equal to or higher than CPM for the same campaign. The size of that gap is itself a useful diagnostic — a small gap means most of what you paid for was actually seen; a large gap means a meaningful share of your budget went toward impressions nobody looked at.

How Viewability Is Measured

Viewability isn't something an advertiser eyeballs manually — it's tracked automatically by measurement code embedded alongside the ad itself. Ad servers like Google Ad Manager report viewability natively, and independent verification vendors such as Integral Ad Science, DoubleVerify, and Moat provide third-party measurement that many advertisers layer on top for cross-platform consistency.

That measurement code checks two things continuously while the page is open: how much of the ad's area is currently within the visible browser viewport, and how long that visibility has been sustained. Once both conditions cross the MRC threshold, the impression is logged as viewable. Everything below that threshold — technically delivered, never confirmed visible — still counts toward CPM, but not toward vCPM.

A Worked Example

Say a display campaign spends $1,000 and the ad server logs 200,000 impressions served. Using the standard CPM formula:

CPM = ($1,000 ÷ 200,000) × 1,000 = $5.00

Now suppose the viewability report for that same campaign shows only 140,000 of those impressions actually met the MRC viewable threshold — the rest loaded below the fold or into tabs visitors never scrolled to. Applying the vCPM formula to the same $1,000 spend:

vCPM = ($1,000 ÷ 140,000) × 1,000 = $7.14

The campaign's CPM looks like a competitive $5.00 on the surface. But once you account for only the impressions that had a real chance of being seen, the effective rate is closer to $7.14 — a 43% difference. Neither number is “wrong”; they're just answering different questions, and only one of them reflects what the campaign actually delivered in front of a real person.

CPM vs vCPM at a Glance

MetricMeasuresDenominator
CPMCost per 1,000 impressions servedAll served impressions
vCPMCost per 1,000 impressions actually seenOnly viewable impressions

Why the Gap Between Them Matters

A campaign can post an attractively low CPM while quietly delivering a poor return, if a large share of those impressions were never viewable. A few common causes:

  • Below-the-fold placement — ads loaded far down a page may never be scrolled into view before the visitor leaves.
  • Background or inactive tabs — an ad can be served into a browser tab that isn't currently in focus.
  • Fast page exits — a visitor who leaves within a fraction of a second may never reach the one-second viewability threshold.
  • Ad stacking or hidden placements — lower-quality inventory sometimes loads ads in ways designed to be technically “served” without being genuinely visible.

Comparing CPM alone across two campaigns can be misleading if one has meaningfully better viewability than the other. vCPM corrects for that by pricing only the impressions that had a real chance to be seen.

How to Improve Viewability

  • Favor above-the-fold or sticky placements — inventory that's visible without scrolling tends to have far higher viewability.
  • Buy inventory with viewability guarantees — some platforms let you set a minimum viewability rate as a targeting or optimization condition.
  • Review placement-level reports — most ad platforms break out viewability by placement, making it possible to exclude the weakest performers.
  • Prefer formats built for attention — sticky, in-content, and native placements typically outperform ads squeezed into page margins or footers.

Where those placements actually live varies by platform — see the Google Ads and Meta Ads CPM guides for placement-specific detail.

Frequently Asked Questions

Is vCPM always higher than CPM?

Yes. Since viewable impressions are a subset of served impressions, dividing the same cost by a smaller impression count always produces an equal or higher rate. A large gap between the two usually points to a viewability problem.

What viewability standard defines a 'viewable' impression?

The most widely used standard comes from the Media Rating Council (MRC): for display ads, at least 50% of the ad's pixels must be on screen for a minimum of one continuous second. For video, the bar is 50% of pixels for two continuous seconds.

Does a high CPM always mean a bad deal?

Not necessarily — a high CPM with strong viewability can still be efficient, since every dollar is buying impressions people actually see. A low CPM with poor viewability can end up costing more per viewable impression than it first appears.

CPM tells you what you paid per thousand impressions delivered. vCPM tells you what you paid per thousand impressions actually seen. Neither number is wrong — they answer different questions — but when the two diverge sharply, it's usually the viewability side of the campaign that needs attention, not the price.

Want to work out your own numbers? Use the CPM calculator

Related Reading

Naeem Ullah

Builds and maintains CPM Calculator, a free tool used to plan ad spend and check impression pricing across campaigns. Writes about the pricing models and formulas behind digital advertising.