Metric guide

Page RPM vs. CPM: Why the Two Numbers Are Never the Same

If you monetize with both Google AdSense and a network like Adsterra, you have seen Page RPM and CPM on your reports. They look interchangeable. They are not. Each metric divides revenue by a different denominator, and comparing them directly is one of the most common ways publishers misread their own numbers.

Published 3 min read

The 60-second answer: CPM = (revenue / ad impressions) × 1,000. Page RPM = (revenue / page views) × 1,000. One page view usually loads several ads, so Page RPM is almost always the larger number.

What CPM measures

CPM (cost per mille) started as a buyer-side metric: what an advertiser pays for one thousand ad impressions. Networks that pay publishers per impression, including Adsterra, report the publisher-side version of the same figure. It answers a narrow question: how much is a single ad slot on your page worth per thousand fills?

CPM says nothing about how many ads a page carries or how much a visitor is worth overall. A page with one banner at a $1.00 CPM and a page with five units at a $1.00 CPM earn very different amounts per visitor, but the CPM looks identical.

What Page RPM measures

Page RPM (revenue per mille) is Google's page-level metric. AdSense reports it as PAGE_VIEWS_RPM, defined as estimated earnings divided by page views, multiplied by 1,000. Because one page view can load several ad units, the denominator is smaller than the impression count and the number comes out higher.

Page RPM answers the question publishers actually ask: how much does a thousand visits to my content earn? It folds fill rate, ad layout, click behavior and bid prices into one figure, which is why AdSense treats it as the headline performance metric.

A worked example

Suppose one of your sites produced this yesterday:

MetricValue
Ad impressions25,000
Page views10,000
Total revenue$120.00

CPM = ($120.00 / 25,000) × 1,000 = $4.80. Page RPM = ($120.00 / 10,000) × 1,000 = $12.00. Same day, same revenue, two numbers 2.5× apart, and both are correct. The only mistake is comparing one network's CPM with the other's Page RPM.

Why mixing denominators distorts decisions

  • A site that looks weak next to AdSense may simply be reported in CPM. Convert it before judging it.
  • If a dashboard computes RPM with impressions instead of page views, it understates page-level revenue by the impressions-per-view factor and hides exactly the sites that need attention.
  • Trend lines whose denominator silently switches, for example when a platform starts or stops reporting page views, create fake jumps that look like growth or decline.

To compare an impression-paid network with AdSense at page level you need the impressions-per-page-view ratio: equivalent Page RPM = CPM × (impressions / page views). Without that ratio, the honest answer is that the two rates are not comparable.

How AdRevFlow handles it

AdRevFlow reports CPM for Adsterra and Page RPM for AdSense, labeled per platform, so the denominators never mix. When a sync cannot obtain page views for a day, the Page RPM cell shows no value instead of a number computed on the wrong denominator. A missing number is better than a wrong one.

Frequently asked questions

Can I compare AdSense and Adsterra performance directly?
Not with the headline metrics. AdSense leads with Page RPM (per page view) and Adsterra with CPM (per impression). Compare raw revenue per day first, and only compare rates after converting both to the same denominator.
Why is my Page RPM so much higher than my CPM?
Because page views are a smaller denominator than impressions. If a page loads 2.5 ad units per view, Page RPM will be about 2.5 times the impression CPM even though the underlying revenue is identical.
Does Page RPM include every ad on the page?
Yes. It divides total page revenue by page views, so it covers all ad units on the page plus click-driven revenue, not just impressions.

Keep reading