Page RPM: What the metric means and how to improve it

page rpm

CPM (“Cost Per Mille”) is the most widely used metric in advertising. It denotes the cost that an advertiser bears for serving a thousand ad impressions. On the sell-side, publishers have their own metrics for measuring the revenue performance of owned websites.

In this post, we’re going to look into one such metric: Page RPM, what it means, how it’s different from other ad unit-level and page-level revenue metrics, why it’s useful, and where it falls short.

What is Page RPM in online advertising?

Page RPM (“Revenue Per Mille”) is used to calculate the estimated earnings per thousand pageviews on a website. To calculate it, you need to divide your total estimated earnings by total pageviews during a given time period, and multiply by 1000.

Page RPM = (Estimated earnings / Number of pageviews) * 1000

Since it is a page-level metric, it can be helpful in measuring the impact of your broader optimization efforts, such as A/B testing, ad refresh, lazy loading, in a way that ad unit-level metrics, like Impression RPM and Ad Request RPM (explained later) cannot.

Where to find Page RPM

In AdSense, you can navigate to the ‘Reports’ tab to view Page RPM.

However, since AdSense measures pageviews by counting the number of times the AdSense code is fired on the page, the metric might be slightly off if you account for pages where the code is not present, didn’t fire because of a conflict, or was blocked by an ad blocking script.

For daily monitoring, you can use the metric provided by AdSense, but to get True Page RPM, you’ll have to get the pageviews data from Google Analytics and do the calculation yourself.

Google Ad Manager does not provide Page RPM as a metric in its reports, however, you can simply use the formula above to calculate the True Page RPM. An important thing to note here is to never compare True Page RPM (the one you calculated yourself) from one revenue source with the Page RPM in AdSense, as the numbers might be way off, making it a false comparison.

Before we proceed with Page RPM, let’s review two ad unit-level metrics that are also frequently used in revenue reporting: Impression RPM and Ad Request RPM.

What is Impression RPM?

Impression RPM is calculated by dividing your estimated earnings by the number of impressions (ads that have been rendered and displayed), multiplied by 1000.

Impression RPM = (Estimated earnings / Impressions) * 1000

Impression RPM is a measure of how much you are being paid for every single impression that you serve. It can be a useful metric for running experiments where you need to make like-for-like comparisons, for instance, when you’re running a split test to see which of the two demand partners you’re testing returns better yield for your inventory.

However, relying only on Impression RPM does not give you the full picture of the revenue pie. For instance, let’s say you decide to drop the least valuable ad units from your inventory, while this might increase Impression RPM, it will decrease your overall revenue.

What is Ad Request RPM?

Ad request RPM is calculated by dividing your estimated earnings by the number of ad requests generated from your inventory, multiplied by 1000.

Ad request RPM = (Estimated earnings / Number of ad requests) * 1000

Ad request RPM is a measure of how much revenue you’re generating from every thousand ad requests generated from your inventory. Unlike impressions, ad requests can and do go unfilled, which means that Ad Request RPM takes fill rate and coverage into account.

As a metric, it can be used to track the growth in ad requests generated from your inventory over time. A sudden drop in Ad Request RPM can indicate technical/script issues preventing ad requests from being generated or lower fill rate from a decline in advertiser demand.

How do you increase Page RPM

Since Page RPM simply measures the estimated revenue generated per pageview, one way to increase Page RPM is to increase ad density, i.e., the average number of ad units per page.

However, this is not the best way.

In fact, this is one of the problems with using Page RPM as the primary performance metric—it does not provide any indication on how user experience affects overall revenue.

To optimize Page RPM, you need to either serve more impressions per pageview or increase how much you are paid per impression, ideally both. To increase impressions per page, you can try:

In order to increase the yield per impression, you can try:

  • Running a more efficient auction with header bidding or Open Bidding
  • Increasing competition by adding new demand partners
  • Improving your inventory’s ad viewability score
  • Testing and using optimal price floors for your inventory

Why Session RPM is a better metric

Session RPM, also known as EPMV (earnings per thousand visitors), calculates the revenue generated from a thousand visitors/sessions on the website.

Session RPM = (Total earnings / Sessions) * 1000

By connecting revenue directly to visitors, Session RPM allows publishers to fully understand the impact of user experience on revenue. It is therefore a more useful metric compared to Page RPM or other ad unit-level metrics like Impression RPM or Ad Request RPM.

Consider this example: Let’s say a publisher has a Page RPM of $6 and decides to add more ad units on the most high traffic pages. Immediately, the Page RPM shoots up to $8. However, Page RPM does not take into account that because of the negative impact on user experience, the average pageviews per session drop from 4 to 2. In this case, even though Page RPM increased, the Session RPM decreased from $24 to $16, and overall revenue dropped 33%.

Don’t rely on any single metric

You may have guessed by now that no single metric provides the full picture about your revenue optimization efforts. At the same time, every metric says something about your inventory.

Impression RPM can help you understand the revenue generated from every single impression, uncovering opportunities for optimizing impression-level yield, but it says nothing about fill rate.

Ad Request RPM can help you quickly identify any technical issues with ad serving or a sudden drop in fill rate, but it cannot say anything meaningful about page-level yield.

Page RPM helps you connect pageviews to revenue, and goes beyond the intelligence you can derive from ad unit-level metrics, however, it does not measure the impact of UX on revenue.

Finally, Session RPM helps you connect revenue to individual visitors and allows you to see the impact of all the changes made to your demand stack, page layout, and ad placements. However, you cannot rely only on Session RPM for daily monitoring, as it may not provide the warning signs you need to identify and fix issues before they become bigger problems.

The answer lies in knowing all the ad unit-level and page-level revenue metrics, what they mean, what you can use them for, and most importantly, their limitations.

While you're here...

Did you know that the average publisher loses 10-40% of their revenue to ad blocking? What you may not know is that ad blocking has largely shifted to ad-filtering, with over 300M users allowing a safer, less interruptive ad experience to be served to them—in turn supporting their favorite sites and creators.

Blockthrough's award-winning technology plugs into publishers' header bidding wrapper and ad server to scan ad creatives for compliance with the Acceptable Ads Standard to activate this "hidden" audience and generate incremental revenue, while respecting the choice and experience of ad-filtering users.

Want to learn more?