What Is eCPM and How to Improve It for Your App

Last updated: September 2026

eCPM (effective cost per mille) is the revenue your app earns per 1,000 ad impressions, and it is the single most useful metric for understanding and improving your ad monetization because it combines fill rate, audience quality, and ad format performance into one number.

eCPM vs CPM: What's the Difference

CPM is the price an advertiser pays per 1,000 impressions. It is a rate that the ad network sets.

eCPM is what you actually earn per 1,000 impressions after accounting for fill rate and revenue share.

Formula:

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

If your app generated $45 from 50,000 impressions last month:

A network might offer $2.00 CPM but deliver 60% fill rate. Your actual eCPM would be $2.00 x 0.60 = $1.20, not $2.00.

What Affects Your eCPM

1. Audience Geography

US and Canadian users generate higher eCPMs than Southeast Asian or Eastern European users because advertisers pay more to reach those audiences. A 100% US user base will always outperform a mixed global user base in ad revenue.

This is outside your control unless you actively target user acquisition in specific geographies.

2. Ad Format

Formats ranked by typical eCPM (highest to lowest):

3. Ad Placement

Ad placement within your app directly affects engagement and eCPM. Placements at natural break points (end of level, end of article, session timeout) outperform placements that interrupt active use.

4. Fill Rate

If your ad network cannot find an advertiser for every impression, those unfilled impressions earn $0. A 70% fill rate means 30% of your potential revenue is lost before it starts.

Contextual networks like Zerocost improve fill rates for specific app categories by matching your inventory to advertisers who specifically want your audience, rather than competing in a broad auction.

5. Ad Relevance

Contextual relevance improves click-through rates, which improves your standing with demand sources and can lift eCPM over time. An app that consistently delivers good CTR gets prioritized in future auctions.

How to Improve eCPM

Move ad placements to natural break points. If your banner is displayed constantly during active use, move it to the end of a workflow. eCPMs for well-placed ads are 20-40% higher than for poorly placed ones.

Test different ad formats. If you are only running banners, test interstitials at level completion or article end. Even one high-eCPM format added to your stack can lift overall revenue significantly.

Use contextual targeting. Behavioral targeting requires consent that many users deny. Contextual targeting matches your ad to your app's content without any user data, which means 100% fill for every user regardless of consent status.

Track eCPM separately by format and placement. An aggregate eCPM number hides which placements are working. Segment by format and screen to identify where your strongest revenue comes from.

Add a second revenue stream. If your current eCPM is limited by the ad market, adding anonymized data revenue through Zerocost generates income from the same users without any additional UI impact.

What a Good eCPM Looks Like

At Zerocost's $1-2 CPM rate, your expected eCPM depends on fill rate:

Combined with data revenue, total effective yield per 1,000 sessions is typically higher than ad revenue alone.


See also: How to Set CPM Floor Prices for Your App | Best App Monetization Platforms for Startups in 2026