Publisher Ad Monetization

What Is RPM and How Is It Different from CPM and eCPM?

Last updated: August 2, 2026 · 8 min read

CPM measures what an advertiser pays per thousand impressions. RPM measures what you earn per thousand pageviews. eCPM measures what you earn per thousand ad impressions. Three metrics, three different denominators, three different answers to the question "how is my monetization performing?" This article covers the formulas, the math, the variants, and the diagnostic traps that catch publishers who confuse them.

What Do CPM, eCPM, and RPM Actually Measure?

CPM is a buyer metric. eCPM and RPM are seller metrics. They sit on opposite sides of the same transaction, and mixing them up leads to bad decisions about your publisher ad monetization strategy.

FeatureCPMeCPMRPM
Full nameCost Per MilleEffective Cost Per MilleRevenue Per Mille
PerspectiveAdvertiser (buyer)Publisher (seller)Publisher (seller)
Formula(Cost / Impressions) x 1,000(Earnings / Impressions) x 1,000(Earnings / Pageviews) x 1,000
DenominatorAd impressionsAd impressionsPageviews
MeasuresWhat the advertiser paysWhat one ad slot earnsWhat each page earns total
Use caseCampaign cost evaluationIndividual ad unit performanceSite-level revenue evaluation

CPM tells the advertiser how much visibility costs. eCPM tells you how well a single ad unit performs. RPM tells you how much money each page on your site generates across all ad slots combined. RPM is the metric that actually predicts your monthly revenue.

What Are the Formulas for CPM, eCPM, and RPM?

All three follow the same structure: a dollar amount divided by a count, multiplied by 1,000. The difference is which dollar amount and which count.

CPM = (Ad Spend / Impressions) x 1,000

An advertiser spends $500 and receives 100,000 impressions. CPM = ($500 / 100,000) x 1,000 = $5.00

Run this in any direction using the CPM calculator or check the full CPM formula breakdown.

eCPM = (Ad Revenue / Impressions) x 1,000

Your 300x600 sidebar ad earns $180 from 45,000 impressions in a month. eCPM = ($180 / 45,000) x 1,000 = $4.00

Use the eCPM calculator to compare unit performance across ad slots.

Page RPM = (Total Page Revenue / Pageviews) x 1,000

Your site earns $900 total ad revenue from 50,000 pageviews in a month. RPM = ($900 / 50,000) x 1,000 = $18.00

That $18 RPM means every 1,000 pageviews generates $18 in revenue. At 100,000 monthly pageviews, you'd earn $1,800. This is the number that maps directly to your bank account.

What Is the Difference Between Page RPM, Session RPM, and Impression RPM?

Page RPM divides revenue by pageviews. Session RPM divides revenue by sessions. Impression RPM divides revenue by ad impressions (which makes it identical to eCPM). The distinction matters because each tells you something different about your monetization.

Page RPM is the most common variant and the default in Google AdSense reporting. It answers: how much does each page on my site earn? A $20 page RPM on a site with 3 ad units means those 3 units collectively produce $20 per 1,000 pageviews.

Session RPM measures revenue per visitor session, incorporating all pageviews within a single visit. If your average session includes 2.5 pageviews and your page RPM is $20, your session RPM is roughly $50. Mediavine and Raptive report session RPM because it rewards content that drives deeper engagement (more pages per session = more ad impressions = more revenue per visitor).

Impression RPM is eCPM by another name. It measures revenue per 1,000 ad impressions, not pageviews. A page with 3 ad slots generating a $20 page RPM has an impression RPM (eCPM) of roughly $6.67 per slot.

Session RPM is the most accurate predictor of total site revenue because it accounts for both page-level yield and user engagement depth. Two sites with identical page RPMs but different pages-per-session will generate very different total revenue.

Why Can High eCPM Still Produce Low Page RPM?

Because eCPM measures one ad slot. RPM measures the entire page. If your single in-content unit earns a $12 eCPM but your fill rate is 60% and you only run one ad unit per page, your page RPM drops to roughly $7.20.

The gap between eCPM and page RPM exposes three problems:

  • Low ad density. If you run only one ad unit per page, your page RPM can never exceed that unit's eCPM. A page with 3 units averaging $4 eCPM each generates $12 page RPM. Same eCPM per unit, 3x the page revenue.
  • Low fill rate. If 20% of your ad requests return empty, you're losing 20% of potential revenue. A $10 eCPM at 80% fill produces $8 effective page contribution from that slot, not $10. Our fill rate guide covers how to diagnose and fix this.
  • Low viewability. Ad slots that load but never enter the viewport count as impressions but earn lower CPMs because advertisers increasingly bid on viewable CPM (vCPM).

The diagnostic: if your individual unit eCPMs look healthy but your page RPM disappoints, the problem is almost always density, fill, or viewability, not the demand itself. Fix the plumbing before switching ad networks.

How Do You Increase Page RPM?

Five actions ranked by typical impact:

  1. Switch to a managed network. Moving from AdSense ($2 to $5 RPM) to Mediavine ($15 to $25 RPM) produces the single largest RPM jump available. See our network comparison for qualification thresholds.
  2. Add ad units to underserved pages. If a page runs one ad unit, adding a second in-content unit and a sticky sidebar can 2 to 3x page RPM without changing demand quality.
  3. Improve viewability. Moving ad placements into high-viewability positions (above fold, in-content, sticky sidebar) raises the CPM advertisers bid because viewable impressions are worth more.
  4. Increase pages per session. Internal linking, related posts, and content series that drive readers to additional pages increase session RPM even if page RPM stays flat. Revenue is pageviews x RPM.
  5. Block low-CPM categories. Removing the lowest-paying advertiser categories from your ad settings lifts average CPM across remaining fills. Check results against CPM benchmarks for your vertical.

Use the AdSense CPM calculator to model the revenue impact of each change before implementing.

Frequently Asked Questions About RPM, CPM, and eCPM

What is the main difference between RPM and CPM?

CPM (Cost Per Mille) is an advertiser metric measuring the price paid for 1,000 ad impressions, whereas RPM (Revenue Per Mille) is a publisher metric measuring total revenue generated per 1,000 pageviews or sessions.

How do you calculate Page RPM vs Session RPM?

Page RPM is calculated by dividing total earnings by total pageviews and multiplying by 1,000. Session RPM divides total earnings by total user sessions and multiplies by 1,000, accounting for multi-page visits.

What is eCPM and how is it calculated?

eCPM (Effective Cost Per Mille) measures earnings per 1,000 impressions served by a specific ad unit. It is calculated as: (Total Ad Earnings / Served Impressions) * 1,000.

Why can a high eCPM result in a low overall Page RPM?

A site can have a high single-unit eCPM but a low Page RPM if ad density is too sparse or if fill rates are low, meaning fewer overall ad impressions are monetized per pageview.

What is a good Page RPM benchmark for website publishers in 2026?

Page RPM benchmarks vary by niche and geo, ranging from $2-$5 on entry-level networks to $15-$30+ on premium header bidding networks like Mediavine or Raptive for Tier-1 traffic.