Of Time on Page, Viewability and RPP: the aftermath of ad refresh

Updated: Apr 19


Economic efficiency is when all goods and factors of production are distributed or allocated to their most valuable uses and waste is eliminated or minimized.

The principles of economic efficiency are based on the concept that resources are scarce. Ad Refresh help Publishers to overcome scarcity issues related to their ad inventory, by making the most of every second spent by your visitor on your pages.

Demonized during its early adoption, ad-refresh has proven to be a revenue booster, if it complies with certain standards and best practices set by the Industry.

This post won’t focus on ad-refresh related best practices, as there’s already a fair amount of great content on that topic out there. We won't deep dive into ad refresh set up or discuss the cons of using this feature (read more about those topics here or here).

We will assume that at this point you are already using ad refresh or at least made up your mind regarding activating it for your open RTB auctions.

Instead, this post intends to provide you with data driven advice on how to effectively track and validate the impact of ad-refresh on revenue and UX, allowing you to maximize the time spent by users on your pages.

Before jumping into the details, let’s level the playing field with some basic definitions that we will be using in this post:

  • Action-based refresh: the ad is refreshed upon an action executed by your visitor (e.g. clicking on a “read/learn more” link that displays the full content of the page, etc).

  • Event-triggered refresh: the ad is refreshed upon the occurrence of an event on your page (e.g. on sports Sites the Score changes).

  • Time-based refresh: the ad is refreshed after a certain time interval*.

  • Refresh Interval: The amount of time upon which the ad will be automatically refreshed. Google advices to use between 30 and 60 seconds for both desktop, mobile and app.

  • Valid Refresh: Ad refresh should be triggered only when the user is active on the page and only when the ad is in the viewable port. Failure to comply with this will result in a violation of Google policies.

  • Time on Page: The time spent by a user on individual pages of your website.

  • RPP (Revenue per Page) Average revenue generated by a single page of your website.

  • Viewable ad: when at least 50% of a display ad area is visible on the screen for at least 1 second or when at least 50% of a video ad area is visible on the screen for at least 2 seconds. (see demos here)

  • Viewability Rate: percentage of all your ads that qualify as viewable ads.


*For the purposes of this post we will focus on Time-based refresh as user & event triggered refresh modes might not be applicable to all set ups.

For the purpose of this post we will focus on ad refresh on Open RTB / Header Bidding auctions. Refreshing direct sales campaigns should always be negotiated with buyers.

We are using Time on Page and not Session as the engagement metric to define the ad refresh interval for your set up. Here is a great article on why Time on Page is a more suitable metric than Session duration. Read more.

Problem statement

Your Site’s average Time on Page for the last 3 months has been 40 seconds and your Viewability Rate fluctuates between 60% and 65% MoM. You have set your Time Based Refresh interval for your Desktop and mobile RTB inventory at 60 seconds in consideration that triggering a refresh after the first 30 seconds (Google’s minimum recommended interval) might have a negative impact on both viewability and RPP.

As a result of several UX improvements conducted on your site, your Avg. Time on Page has increased from 40 to 45 seconds, so you are evaluating if this extra time on page can result in higher RPP by enabling Time based Refresh below 60 seconds to generate more ad impressions and thus higher revenue.

Solution & Methodology

Premise 1: Make the most of your Time on Page by distributing it evenly to produce more ad requests.( Lower refresh interval = more Ad Requests )

Premise 2: Improve fill rates by keeping viewability rates at levels that are appealing to your buyers. (Higher viewability = higher fill rates)

Premise 3: Achieve higher RPPs despite CPM negative fluctuations. (Higher fill rates = Higher RPP)

Process & Execution

1. Forecast Viewability Scenarios upfront. Your time on page can already give you a hint or two on what to expect in terms of viewability. Cross your “Average Time on Page” against a few refresh intervals scenarios, using a table like the following:

In the table above you can easily identify which refresh intervals will hurt your viewability the most (red cells). As you can see, refreshing more can sometimes result in higher viewability. Take for example, the 45 seconds Time on Page column in the table above. While a 60 seconds refresh interval will give you 133% viewability, it will also preempt you from generating incremental revenue. Logic would point to reduce the refresh interval conservatively to lets say 45 or 35 seconds. By setting the refresh interval at 35 seconds the viewability of the second ad displayed (the ad displayed after the 1st refresh) will actually be 50% less than if you set the interval at 30 seconds. The reason for this is simple: Time on Page should be distributed evenly to unlock more ad inventory while keeping viewability rates as high as possible. Adjust the figures in the table to your target viewability rates. In any case keep away from the red cells.

2. Set the benchmarks for your core KPIs. Create 7 and 30 days reports that include performance of the following programmatic KPIs:

  • Ad Requests

  • Fill Rate

  • Viewability Rate

  • Revenue per Page

  • CPM

3. Adjust your refresh interval according to point 1. Above.

4. Track your programmatic KPIs. The ultimate goal should be to verify that your new refresh interval increases your Revenue per Page while keeping you on track with your viewability goals. This could be achieved using a linear regression model that crosses Revenue per page with viewability data. Read how to do this here.

However, to avoid loose ends you need to isolate the impact of refresh on the 2 metrics above by separating them from other factors that could contribute to such fluctuations.

5. Isolate programmatic KPIs.The immediate impact of reducing refresh intervals is generating more Ad impressions, but you need to be sure that ad inventory surplus is not generated by an increase of Page Views or Unique Users. Shall these sets of metrics show moderate to low fluctuations, you can safely attribute any impact to refresh.

Expected outcome & validation.

1. Your ad requests should definitively show an increase;

2. If your fill rate shows a decrease, this could be a signal that bidders are less attracted to your ad inventory;

3. If despite a decrease of your fill rate your delivered impressions increase, then;

4. Verify that decreases on both your CPM and viewability are justified by higher Revenue per Page;

5. Decide if the overall revenue uplift generated by Refresh is worth fluctuations on CPM and viewability.

Useful Resources.

- Use yieldPass Smart Dashboards to unify all your data sources in one place.

- Use yieldPass Surveillance Software to set customized alerts on the sets listed on the Process & Execution section above.