eCPM (effective cost per mille) is the ad revenue a publisher earns per 1,000 ad impressions. It is the core metric app and game publishers use to measure how well their ad inventory monetizes — and to compare performance across ad formats, ad networks, countries, and platforms.
The eCPM formula
eCPM = (Total ad revenue ÷ Impressions) × 1,000
Worked example: if your app earns $500 a day from ads across 250,000 impressions, your eCPM is ($500 ÷ 250,000) × 1,000 = $2.00. In plain terms, you earn $2 for every thousand ads shown.
eCPM vs CPM
The two are mirror images. CPM is what an advertiser pays per 1,000 impressions. eCPM is what the publisher actually earns per 1,000 impressions across every demand source — so it is the number that matters when you are the one selling the inventory.
What is a good eCPM? US benchmarks by format
There is no single “good” eCPM — it swings widely with format, country, platform, and season. As a directional baseline, here are average US eCPM rates by ad format (Appodeal Q4 2024 data for video/banner; TapJoy and ironSource for offerwall).
| Ad format | iOS (US) | Android (US) | Notes |
|---|---|---|---|
| Offerwall | — | $400–$530 | Highest-paying format; high-intent users |
| Rewarded video | $19.63 | $16.49 | Strong eCPM, opt-in, retention-friendly |
| Interstitial | $14.32 | $14.08 | High value; pace to protect session length |
| Banner | $0.45 | $0.68 | Lowest eCPM; high volume, always-on |
Rates are directional benchmarks, not guarantees — your eCPM depends on your audience, demand setup, and the period you measure.
What affects your eCPM
Ad format
The biggest lever. Offerwalls and rewarded video earn many times more than banners because interactive formats command higher advertiser bids.
Geography
Tier-1 markets (US, Japan, Australia) pay far more than emerging markets, because advertisers value users with higher purchasing power.
Platform
iOS historically out-earned Android, but ATT and the loss of IDFA have narrowed the gap considerably since 2021.
Seasonality
eCPMs spike in Q4 around the holidays as advertisers compete for inventory, then dip in Q1 as budgets reset.
Demand competition
A single ad network limits demand. Mediation and bidding put multiple networks in competition for each impression, lifting eCPM.
Fill rate trade-off
Setting price floors too high inflates eCPM but starves fill rate — so total revenue can fall even as eCPM looks great.
How to increase your eCPM
- Run real-time bidding (in-app bidding) instead of, or alongside, a manual waterfall so every network bids on every impression.
- Diversify demand — more competing DSPs and SSPs means higher bid density and higher winning bids.
- Move pricing from cohort-level floors to user-level pricing, so high-value users aren’t underpriced and low-value users still fill.
- Optimize placements and pacing to protect session length — aggressive setups raise eCPM but quietly cut retention and ARPDAU.
- Match formats to context: layer rewarded video and offerwalls where they fit the UX, not just banners.
- Cut ad latency: even a one-second delay can reduce programmatic revenue by up to ~8%.