eCPM calculation, formula and meaning

eCPM meaning

eCPM is a term that’s thrown around quite often in the mobile advertising world. But it can be quite confusing, especially for new developers looking to monetize their app through in-app advertising. Let’s take a look at what it means and why it matters for app developers.

how to increase eCPM

What is eCPM?

eCPM means “effective cost per thousand impressions,” which in layman’s terms is the ad revenue generated per 1,000 ad impressions.

There are two sides to eCPM: monetization and user acquisition.

On the monetization side, eCPM is a metric used to measure an app developer's ad monetization performance. If app developers have a high eCPM, it means that the ads served on their app are doing their job and converting users. The more users the ads convert, the more the app developer gets paid.

On the user acquisition side, eCPM measures the ad revenue generated by a specific campaign. Because networks use eCPM to rank campaigns within their ad serving models, they serve the campaigns with the highest eCPMs first and most often - enabling the campaign to garner a high amount of impressions and scale quickly. In this way, eCPM represents the campaign’s buying power.

eCPM vs CPM?

CPM is the rate that advertisers pay per 1000 impressions while eCPM is the ad revenue per 1000 impressions.

How to calculate eCPM

eCPM formula for ad monetization:

eCPM = (total earnings/total impressions) x 1,000.

To calculate eCPM, divide your total advertising earnings by the total number of impressions your app served. Then multiply by 1,000. The final figure is your eCPM, or the amount of money your app earns per 1,000 ad impressions.

eCPM formula for user acquisition:


As long as impressions and cost are measured, eCPM on the user acquisition side can be estimated by multiplying the CPI (how much you're willing to pay for each install) and IPM (how many installs out of a thousand the campaign generates) of a campaign.

 eCPM floor

An eCPM floor, also called a flat eCPM or predefined CPM, is the minimum CPM an ad network must meet to serve an ad on your app. In other words, an ad network will not serve an ad if it's not able to meet the eCPM floor that you manually pre-set in your waterfall. If an ad network can't meet your eCPM floor, it will move on to the next instance in your waterfall. CPMs can be set on individual or groups of specific countries, and on the global level. Read more about eCPM floors and best practices here.

Note that eCPM floors are only relevant for traditional waterfalls and not for in-app bidding. Rather than manually assigning an eCPM floor to each line item in a waterfall, an in-app bidding solution asks each ad network how much they're willing to pay to serve an impression and automatically serves the impression to the highest bidder. While the mobile app industry is still operating in a hybrid bidding system, as the industry moves closer to a pure in-app bidding monetization, eCPM floors will become less relevant.

eCPM for ads

eCPM helps app developers evaluate and optimize their monetization strategy by letting them compare ad revenue generated across multiple variables, such as ad network, region, operating system, location, etc.

For example, let’s say you want to understand which ad unit is performing better and making you more money. To do so, you’d calculate and compare the eCPM of both.

In a month, you see that rewarded video generated 400 impressions and $5.00 in earnings, while banner ads generated 700 impressions and $3.00 in earnings. It’s hard to compare the performance of the two ad units based on these numbers alone.

But after some quick math, we find that rewarded video has an eCPM of $12.50 and banner ads have an eCPM of $4.29. Now we see clearly that rewarded video is making you more money.

eCPM marketing and advertising

As we mentioned, eCPM is also critical for measuring and optimizing the performance of user acquisition campaigns - the higher the campaign's eCPM, the more impressions it'll win and the faster it'll scale.

Take a look at the graph below and remember that eCPM for user acquisition managers equals CPI multiplied by IPM. That means Campaign A has an eCPM of $5, Campaign B $10, and Campaign C is upwards of $40.

Campaign A's eCPM is too low to win a high share of voice on the network, while Campaign B's eCPM is good enough to win a majority of a network's impressions. Campaign C, meanwhile, has such a high eCPM that UA managers can actually increase their margins, or lower their CPI, and still see the same campaign performance. That's usually due to an incredibly high IPM, from a high-performing creative. 


How to increase eCPM

There are several strategies app developers can implement to improve ad monezation eCPM. Take a look at a few of our top tips:

1. Monetize with in-app bidding

Think of in-app bidding as an auction - the solution asks all the available bidding ad networks how much they're willing to pay for an impression and serves the impression to the highest bidder. That's in contrast to the traditional waterfall, which has multiple line items that app developers manually arrange according to eCPM.

In-app bidding drives higher eCPMs for app developers for a few reasons:

  • The competition among the ad networks drives up the price of each impression - just like in an auction.
  • Because it's such a manual process to optimize waterfalls, app developers typically only look after a few of their most important ones rather than all of them (per geo, segment, etc). This means that many of the waterfalls aren't as optimized as they could be, and developers are missing out on potential revenue. However, in-app bidding completely automates the optimization process, since there's no need to manually arrange anything. This means there's no chance developers lose out on revenue because of poor optimization.
  • If you placed a certain network low in your traditional waterfall but it was potentially was willing to pay a high amount for the impression, you'd simply miss out on the revenue. But because in-app bidding flattens the waterfall, and simultaneously asks all networks how much they're willing to pay for each impression, you never risk losing out on a potentially higher bid.

By using in-app bidding to ensure best performing campaigns are delivered first, you can quickly and easily increase your own eCPM.

2. A/B test ad formats and remove the ones that don’t perform

There are several ad units out there to choose from today: user-initiated ones that users opt-into engaging with like rewarded video and offerwall, and system-initiated ad units that developers choose when to show like banners and interstitials. Each has its own advantages. Be sure to continuously run A/B tests to see which ones are performing well and which ones aren’t. If you see that a certain ad unit is consistently delivering low eCPMs, remove it from your app. ironSource's ad monetization A/B testing solution lets developers test different ad monetization strategies and know with certainty which one will maximize revenue. Here are five examples of A/B tests you can start running now. 


how can you increase eCPM

Using ironSource mediation, ZiMAD was only running rewarded video ads on their game, My Museum. Their project manager was curious about adding interstitials as a second ad unit, to see if it would increase revenue without harming retention. She used ironSource's ad monetization A/B testing tool to set up two groups: the first group acted as a control and ran only rewarded video ads, while the second group ran both rewarded video and interstitials from Day 1. The result? ZiMAD’s revenue increased by 17%. Read the full case study here.


Let's put these tips to good use

Grow your app business with ironSource