Back to Blog

CPM vs. eCPM: What Publishers Should Actually Track

The Aditude Team

No headings found on page

CPM (cost per mille) is the price an advertiser pays for 1,000 ad impressions. eCPM (effective CPM) is what a publisher actually earned per 1,000 impressions across all demand: total ad revenue ÷ impressions × 1,000. CPM is a bid. eCPM is a result. For site-level decisions, track page RPM, which also accounts for ad slots that never filled.

If you run ad revenue for a publisher, you see all three numbers every day. They are easy to mix up, and treating them as interchangeable leads to bad calls on floors, layout and demand partners. This guide defines each one, shows the math, and explains which number belongs on your weekly dashboard.

What does CPM mean in advertising?

CPM stands for cost per mille, Latin for "per thousand." It is the price a buyer agrees to pay for 1,000 impressions of an ad. A campaign bought at a $4.00 CPM costs the advertiser $4.00 for every 1,000 times the ad is served.

CPM is set from the buy side. A direct-sold campaign has a negotiated CPM. In programmatic auctions, every bid is effectively a CPM, and the clearing price changes impression by impression. That means a single page view can carry several different CPMs at once, one for each ad slot on the page.

This is why CPM alone tells a publisher very little about how the business is doing. It describes one transaction, not the outcome across all of your inventory.

What is eCPM and how do you calculate it?

eCPM, or effective cost per mille, is the revenue a publisher actually earned per 1,000 impressions, blended across every buyer, deal and auction. It turns many different prices into one comparable number.

The formula:

\text{eCPM} = \frac{\text{Total ad revenue}}{\text{Total impressions}} \times 1{,}000

A worked example: a site earns $450 from 180,000 paid impressions in a day.

$450 ÷ 180,000 × 1,000 = $2.50 eCPM

You can calculate eCPM at any level: the whole site, one ad unit, one demand partner, one country or one device type. Comparing eCPM across those cuts is how ad ops teams spot which slots and partners pull their weight.

One detail matters a lot. Most platforms calculate eCPM on paid impressions only. Requests that went unfilled are not in the denominator. Keep that in mind for the next section.

CPM vs. eCPM vs. RPM: which number should a publisher track?

Track eCPM to compare ad units and partners. Track page RPM or session RPM to judge the business. RPM (revenue per mille) divides revenue by page views or sessions, not by impressions, so it captures fill rate, ad density and layout in a single number.

Metric

Formula

Who sets it

Counts unfilled slots?

Best used for

CPM

Price per 1,000 impressions in a deal or bid

Buyer, or negotiated

No

Pricing a campaign or deal

eCPM

Revenue ÷ paid impressions × 1,000

Result of all demand

No

Comparing ad units, partners, geos

Page RPM

Revenue ÷ page views × 1,000

Result of demand + layout + fill

Yes

Judging overall site monetization

Session RPM

Revenue ÷ sessions × 1,000

Result of demand + layout + engagement

Yes

Weighing ad load against reader engagement

Page RPM is the number to put in front of leadership. It answers the question they care about: how much money does each visit earn? It also resists the most common trap with eCPM, which the next section explains.

Why can eCPM rise while revenue falls?

Because eCPM ignores the impressions you did not sell. Raise your price floors and weak bids drop out. The impressions that still clear are worth more, so eCPM goes up. But fewer impressions clear, and total revenue can go down.

Scenario

Paid impressions

eCPM

Revenue

Before floor increase

100,000

$2.00

$200

After floor increase

75,000

$2.40

$180

eCPM rose 20%. Revenue fell 10%. A team that reports eCPM alone would call this a win.

The same trap shows up when you remove low-performing ad units. Average eCPM climbs because the weakest slots are gone, but the page earns less. Always read eCPM next to fill rate and page RPM before you call a change a success.

What is a good eCPM?

There is no single good eCPM. It depends on who your audience is and how your inventory is packaged. The main drivers:

  • Geography. US, UK, Canadian and Australian traffic usually earns well above the global average.

  • Device. Desktop and mobile web often price differently, and in-app has its own market.

  • Format. Video and high-impact formats generally command higher prices than standard display.

  • Viewability. Buyers pay more for impressions that are likely to be seen.

  • Seasonality. Q4 budgets push prices up, and January usually resets them lower.

  • Audience data. Logged-in or well-described audiences attract more bidders.

The useful benchmark is your own history. Compare this week's eCPM by geo, device and ad unit with the same period last year, and investigate any cut that moves sharply against the trend.

How do you raise eCPM without losing fill?

The goal is more competition for each impression, not fewer impressions. These levers move eCPM and revenue in the same direction:

  1. Add real competition. Header bidding through Prebid lets multiple demand partners bid on every impression at the same time. More bidders usually means higher clearing prices.

  2. Improve viewability. Place units where readers actually look, and lazy-load below-the-fold slots. See our guide to banner blindness and layout fixes.

  3. Set floors by context, not one flat number. A single floor for all traffic leaves money on the table in strong segments and kills fill in weak ones. Dynamic Flooring for AdX adjusts floors by segment to protect both price and fill.

  4. Cut slots that hurt the page. A low-value unit that slows the page or crowds content can drag down RPM for every other slot.

  5. Measure in one place. You cannot tune what you cannot see. Insights shows eCPM, fill and RPM by page, geo, device and partner side by side.

Frequently asked questions

How do you calculate eCPM?

Divide total ad revenue by total paid impressions, then multiply by 1,000. For example, $450 in revenue on 180,000 impressions is a $2.50 eCPM.

Is eCPM the same as RPM?

No. eCPM divides revenue by impressions. RPM divides revenue by page views or sessions. RPM reflects fill rate and how many ads each page carries, so it is the better measure of overall monetization.

Why is my eCPM high but my revenue low?

Usually because fill rate dropped. High floors or removed demand can raise the average price of the impressions you sell while cutting how many you sell. Check fill rate and page RPM alongside eCPM.

Does eCPM include unfilled impressions?

In most reporting, no. eCPM is typically calculated on paid impressions only. Unfilled requests show up in fill rate and in RPM, not in eCPM.

CPM (cost per mille) is the price an advertiser pays for 1,000 ad impressions. eCPM (effective CPM) is what a publisher actually earned per 1,000 impressions across all demand: total ad revenue ÷ impressions × 1,000. CPM is a bid. eCPM is a result. For site-level decisions, track page RPM, which also accounts for ad slots that never filled.

If you run ad revenue for a publisher, you see all three numbers every day. They are easy to mix up, and treating them as interchangeable leads to bad calls on floors, layout and demand partners. This guide defines each one, shows the math, and explains which number belongs on your weekly dashboard.

What does CPM mean in advertising?

CPM stands for cost per mille, Latin for "per thousand." It is the price a buyer agrees to pay for 1,000 impressions of an ad. A campaign bought at a $4.00 CPM costs the advertiser $4.00 for every 1,000 times the ad is served.

CPM is set from the buy side. A direct-sold campaign has a negotiated CPM. In programmatic auctions, every bid is effectively a CPM, and the clearing price changes impression by impression. That means a single page view can carry several different CPMs at once, one for each ad slot on the page.

This is why CPM alone tells a publisher very little about how the business is doing. It describes one transaction, not the outcome across all of your inventory.

What is eCPM and how do you calculate it?

eCPM, or effective cost per mille, is the revenue a publisher actually earned per 1,000 impressions, blended across every buyer, deal and auction. It turns many different prices into one comparable number.

The formula:

\text{eCPM} = \frac{\text{Total ad revenue}}{\text{Total impressions}} \times 1{,}000

A worked example: a site earns $450 from 180,000 paid impressions in a day.

$450 ÷ 180,000 × 1,000 = $2.50 eCPM

You can calculate eCPM at any level: the whole site, one ad unit, one demand partner, one country or one device type. Comparing eCPM across those cuts is how ad ops teams spot which slots and partners pull their weight.

One detail matters a lot. Most platforms calculate eCPM on paid impressions only. Requests that went unfilled are not in the denominator. Keep that in mind for the next section.

CPM vs. eCPM vs. RPM: which number should a publisher track?

Track eCPM to compare ad units and partners. Track page RPM or session RPM to judge the business. RPM (revenue per mille) divides revenue by page views or sessions, not by impressions, so it captures fill rate, ad density and layout in a single number.

Metric

Formula

Who sets it

Counts unfilled slots?

Best used for

CPM

Price per 1,000 impressions in a deal or bid

Buyer, or negotiated

No

Pricing a campaign or deal

eCPM

Revenue ÷ paid impressions × 1,000

Result of all demand

No

Comparing ad units, partners, geos

Page RPM

Revenue ÷ page views × 1,000

Result of demand + layout + fill

Yes

Judging overall site monetization

Session RPM

Revenue ÷ sessions × 1,000

Result of demand + layout + engagement

Yes

Weighing ad load against reader engagement

Page RPM is the number to put in front of leadership. It answers the question they care about: how much money does each visit earn? It also resists the most common trap with eCPM, which the next section explains.

Why can eCPM rise while revenue falls?

Because eCPM ignores the impressions you did not sell. Raise your price floors and weak bids drop out. The impressions that still clear are worth more, so eCPM goes up. But fewer impressions clear, and total revenue can go down.

Scenario

Paid impressions

eCPM

Revenue

Before floor increase

100,000

$2.00

$200

After floor increase

75,000

$2.40

$180

eCPM rose 20%. Revenue fell 10%. A team that reports eCPM alone would call this a win.

The same trap shows up when you remove low-performing ad units. Average eCPM climbs because the weakest slots are gone, but the page earns less. Always read eCPM next to fill rate and page RPM before you call a change a success.

What is a good eCPM?

There is no single good eCPM. It depends on who your audience is and how your inventory is packaged. The main drivers:

  • Geography. US, UK, Canadian and Australian traffic usually earns well above the global average.

  • Device. Desktop and mobile web often price differently, and in-app has its own market.

  • Format. Video and high-impact formats generally command higher prices than standard display.

  • Viewability. Buyers pay more for impressions that are likely to be seen.

  • Seasonality. Q4 budgets push prices up, and January usually resets them lower.

  • Audience data. Logged-in or well-described audiences attract more bidders.

The useful benchmark is your own history. Compare this week's eCPM by geo, device and ad unit with the same period last year, and investigate any cut that moves sharply against the trend.

How do you raise eCPM without losing fill?

The goal is more competition for each impression, not fewer impressions. These levers move eCPM and revenue in the same direction:

  1. Add real competition. Header bidding through Prebid lets multiple demand partners bid on every impression at the same time. More bidders usually means higher clearing prices.

  2. Improve viewability. Place units where readers actually look, and lazy-load below-the-fold slots. See our guide to banner blindness and layout fixes.

  3. Set floors by context, not one flat number. A single floor for all traffic leaves money on the table in strong segments and kills fill in weak ones. Dynamic Flooring for AdX adjusts floors by segment to protect both price and fill.

  4. Cut slots that hurt the page. A low-value unit that slows the page or crowds content can drag down RPM for every other slot.

  5. Measure in one place. You cannot tune what you cannot see. Insights shows eCPM, fill and RPM by page, geo, device and partner side by side.

Frequently asked questions

How do you calculate eCPM?

Divide total ad revenue by total paid impressions, then multiply by 1,000. For example, $450 in revenue on 180,000 impressions is a $2.50 eCPM.

Is eCPM the same as RPM?

No. eCPM divides revenue by impressions. RPM divides revenue by page views or sessions. RPM reflects fill rate and how many ads each page carries, so it is the better measure of overall monetization.

Why is my eCPM high but my revenue low?

Usually because fill rate dropped. High floors or removed demand can raise the average price of the impressions you sell while cutting how many you sell. Check fill rate and page RPM alongside eCPM.

Does eCPM include unfilled impressions?

In most reporting, no. eCPM is typically calculated on paid impressions only. Unfilled requests show up in fill rate and in RPM, not in eCPM.