CPM vs RPM: why your ad revenue never matches the CPM you were quoted
CPM and RPM are calculated from opposite ends of the same ad transaction. Here is exactly which divisor each one uses, and why the gap is not an error.
By X Centrix AIAdvertising & Monetisation5 min read
Two numbers measured from opposite ends of one transaction
CPM and RPM look like the same metric described twice. They are not. They are calculated from opposite sides of a single ad transaction, and the distance between them is the whole difference between what an advertiser spends and what a publisher receives.
CPM — cost per mille — is the advertiser's figure. It answers one question: what did it cost to buy a thousand ad impressions?
RPM — revenue per mille — is your figure. It answers a different question: what did a thousand units of my traffic earn?
- CPM = (total ad spend ÷ impressions) × 1,000
- Impression RPM = (your earnings ÷ ad impressions) × 1,000
- Page RPM = (your earnings ÷ page views) × 1,000
Look at the divisor in each line. CPM and impression RPM divide by impressions; page RPM divides by page views. That one difference accounts for most of the gaps people spend an afternoon trying to reconcile.
Gap one: impressions and page views are not the same thing
A page carrying three ad units can produce three impressions from one visit. If a thousand people view that page once, you have a thousand page views and up to three thousand impressions. Divide the same earnings by 1,000 instead of 3,000 and your RPM triples.
This is why an advertiser quoting CPM and a publisher quoting page RPM can discuss the same campaign, disagree by a factor of three, and both be right.
Gap two: CPM is gross and your earnings are net
The advertiser's CPM is the price of the inventory. A network takes a share before the remainder reaches you, and invalid traffic — impressions and clicks the network judges not to be genuine — is filtered out and not paid on.
So even with a matched divisor, your revenue per impression sits below the quoted CPM. That gap is not a mistake in your reporting. It is the supply chain, and no amount of spreadsheet work removes it.
For this step use your own account's revenue-share figure rather than a number from an article, including this one. It differs by product and it changes; your own reporting is the only authoritative source.
Gap three: page views that never became impressions
Every page view counts in the denominator of page RPM. Not every page view produces an ad impression. Blockers that prevent the ad request, requests that go unfilled, consent states in which no ad may be served, and visits so brief the ad never renders all inflate the denominator while adding nothing to the numerator.
That is why page RPM is almost always the lowest of the three figures — and also why it is the fairest one to judge a site by. It measures revenue per visitor rather than revenue per unit of inventory you happened to sell.
A worked example
Read it downwards and the confusion dissolves. The advertiser paid $8.00 per thousand impressions. You received $4.48 per thousand impressions. Your page RPM is $11.20, because each visit produced 2.5 impressions. Three different numbers, three different questions, all correct.
| Item | Value |
|---|---|
| Advertiser spend | $40.00 |
| Impressions served | 5,000 |
| Advertiser CPM | $8.00 |
| Your earnings after revenue share and filtering | $22.40 |
| Impression RPM | $4.48 |
| Page views | 2,000 |
| Page RPM | $11.20 |
If those three figures ever appear in one report without labels, somebody will treat them as contradictory. Label them at the point you write them.
Which number to quote, and when
Comparing a page RPM against a CPM as though they were the same figure is the commonest version of this error, and it usually surfaces during a negotiation, which is the worst possible time to discover it.
- Buying inventory: use CPM. It is the price you are being asked to pay.
- Reporting what a site earns, or explaining value to a business owner: use page RPM. It is what a visitor is worth.
- Diagnosing a sudden drop: use impression RPM. It separates the price of your inventory from a change in how many ads each visit produced.
What actually moves a CPM, and what does not
Since CPM is the price of inventory, it moves with whatever makes an audience more or less valuable to an advertiser. Knowing which levers are real prevents a lot of futile optimisation.
- Audience and geography. The same impression is worth different amounts depending on where the viewer is and what they are likely to buy, which is why a site can have excellent traffic and a modest RPM.
- Season. Advertiser budgets rise and fall through the year and the price of inventory moves with them, so a month-on-month comparison across a seasonal boundary is not like for like.
- How many ads a visit can carry. More units per page raise impressions per visit, which raises page RPM while the CPM has not moved at all.
- Viewability and placement. An ad that is never seen is worth less than one that is, so placement quality feeds back into the price.
What does not move it is the size of your site. A large site of low-intent traffic can earn less per thousand than a small one with high intent, which is why chasing volume and chasing revenue are different strategies that occasionally conflict.
When CPM falls and page RPM holds, the problem is price. When page RPM falls and CPM holds, the problem is how many ads each visit is producing. Those are different fixes, and having both numbers tells you which one you have.
Run the arithmetic yourself
The CPM & Ad Revenue Calculator solves for whichever of the three you are missing — spend, impressions or rate — and shows the formula rather than hiding it behind the answer.
What none of this tells you
These figures say nothing about whether your inventory is priced well. A high RPM on a page nobody reads is worth less than a modest RPM on a page everybody reads. RPM measures yield per thousand; it is silent on how many thousands you have.
Frequently asked questions
Is RPM the same as eCPM?
Very nearly. eCPM expresses your earnings as a rate per thousand impressions, so it is close to impression RPM — networks use the term to report your side in the advertiser's units. Page RPM is the different one, purely because of its denominator.
Why did page RPM fall when my traffic went up?
Usually because the extra traffic arrived on pages or from sources that produce fewer impressions per visit, or because blockers and unfilled requests grew. Page RPM is revenue per visit, so a change in traffic mix moves it even when nothing about your ad setup changed.
Can page RPM be higher than CPM?
Yes, and it is not suspicious. When a single visit produces several impressions, the earnings attributed to that one page view can exceed the price of a single thousand impressions. Multiply before comparing.
Should I quote CPM or RPM to a client?
RPM, if you are reporting what their site earns. CPM is a buying price and tells them nothing about their own outcome. Quoting CPM as an earnings figure is how projections end up several times too optimistic.
Read next
Spotted something wrong in these numbers? Tell us — corrections are the fastest thing we ship.