Skip to content

eCPM vs CPM vs RPM

By Theaimart ADX ·

2 minute read · AI-assisted technical review

CPM is a price per thousand impressions; eCPM expresses realized revenue per thousand impressions. RPM must name its denominator, such as page views or ad impressions.

Start with the question you are measuring

A buyer uses CPM to express a price for one thousand impressions. A publisher can calculate effective CPM from observed revenue and the corresponding impressions. RPM is also a per-thousand measure, but its name does not identify the denominator by itself. Label it page RPM, ad-impression RPM or request RPM.

Before comparing reports, write down the revenue basis, event counted, currency, reporting window and timezone. A higher number with a different denominator does not establish a better monetization outcome.

Choose the denominator before calculating
MeasureArithmeticQuestion
Impression eCPMRevenue / ad impressions × 1,000What revenue corresponds to a thousand impressions?
Page RPMRevenue / page views × 1,000What revenue corresponds to a thousand page views?
Request RPMRevenue / eligible requests × 1,000What revenue corresponds to a thousand opportunities?

One dataset, three useful answers

Use this hypothetical month: revenue is $120, ad impressions are 60,000, page views are 40,000, and eligible requests are 75,000. The results are $2 impression eCPM, $3 page RPM and $1.60 request RPM. The revenue has not changed; only the denominator has.

If a second placement produces additional impressions, impression eCPM can fall while page RPM rises. That is a reason to inspect ad density and user experience alongside revenue, rather than optimize one ratio in isolation.

javascript ·

const revenue = 120;
const perThousand = count => revenue / count * 1000;
console.log(perThousand(60000)); // 2: impression eCPM
console.log(perThousand(40000)); // 3: page RPM
console.log(perThousand(75000)); // 1.6: request RPM

Reconcile before drawing a conclusion

Export raw counts and revenue for the same period. Check that one report is not finalized while another is estimated. Then recompute each ratio rather than averaging daily RPM values without weighting their denominators.

For example, one day with $10 from 1,000 impressions and another with $10 from 9,000 impressions have a combined eCPM of $2. An unweighted average of the daily rates would give roughly $5.56 and would misrepresent the combined result.

What this does not tell you

A per-thousand ratio does not explain consent eligibility, invalid-traffic adjustments, payment eligibility or the effect of ads on retention. These examples are arithmetic, not measured ADX earnings. For a scenario using your own assumptions, use the linked revenue calculator and keep gross and publisher-net inputs separate.

Sources

Check supported integrations and limitations before integrating. Explore publisher onboarding.