Part 4: Strategies for Improving Viewability


Lesson Overview + Resources:

In the final lesson within our Strategies For Improving Viewability module, we’ll discuss several additional ad layout optimization strategies to consider in order to maximize revenue. This includes:

  • How to categorize your inventory
  • How to build and set an effective price floor strategy
  • Focusing on the little things for a big revenue impact

Here are additional resources pertaining to the lesson above:

Read the Transcript:


Next, let’s look at the refresh settings you can adjust.

Most ad units will refresh, essentially making a new ad call and replacing the current ad with a newly served ad, after a set amount of time. There are quite a few settings that control the overall refresh behavior of an ad unit, each of which can be changed, tested, and optimized to improve viewability.

They include:

  • Time between refreshes
  • Total number of refreshes
  • Refreshing when in view only
  • Refresh on triggers (or, choosing to refresh on user actions and event-driven triggers)

And the list keeps growing as the ad tech industry continues to advance.


Let’s go into each one in more detail.

First, time between refreshes. This particular setting is a can of worms all its own. Most best practices will tell you that you shouldn’t refresh any sooner than 30 seconds. However, each SSP and DSP have their own rules regarding these settings, so it is hard to give clear-cut advice. What we can tell you is that you are safest with a 30 second refresh setting even on the most restrictive of demand sources.

Next, let’s discuss total number of refreshes. This is the upper limit of how many times an ad will refresh before stopping.

Total number of refreshes is exactly what it sounds like: you can choose to set an upper limit on the total number of times an ad unit can refresh before it stops. Typically refreshed ad units will provide diminishing returns on CPM the higher the refresh count. You can look at your own data to determine if there is a point at which refreshed ad units don’t provide enough incremental value to continue refreshing after a certain number of refreshes.

Refreshing when in view only indicates that your ad units choose to refresh only when they know they are currently visible, or about to be visible in the viewport. You can go as specific as breaking down exactly what the definition is from 50% in view to 100% in view before you choose to refresh the unit. 

One thing to keep in mind here is that your “out of focus rate” can have a huge impact on your ad call volume (and subsequently your revenue) when choosing to refresh only when in view. If your website has a high out of focus rate, meaning that users may keep your website open in a separate tab but not actively be viewing it, you’ll find that choosing to refresh only when in view will cause a huge change in your ad call volume.

Refreshing on triggers means you are using some very specific user action to trigger a refresh. This could be interaction with a certain object on your page, the act of bringing a tab back into focus, and more.

Each of these settings are meant to serve the same goal as with lazy loading, helping to control when ad calls are being made to maximize the potential that they are getting that full one second of in-view time.

Like the previous recommendation, the proper settings are maintaining a delicate balance between revenue and viewability, so you should test on different ad units and placements, and not consider any change to these settings a standard recommendation across the board.

Before we close up, let’s talk about one more highly specialized strategy you can use: Categorizing Inventory to Maximize Value.

This is less a strategy for improving viewability, and more of a strategy for increasing the understanding up the ad call chain of the value of the ad inventory you have that is viewable.

Here, grouping your “highly viewable” ad inventory into a category and assigning a key value to it can help to silo your viewable inventory off, allowing you to do interesting things with it.

If you have deep enough relationships with demand partners (typically large-scale ad monetization partners and massive publishers will be the only ones with this kind of sway), you can directly pass this information up the chain to SSPs so that they can value your highly viewable inventory as premium.

While the previous recommendation requires some sway, there are ways to use this inventory categorization as a standalone publisher. As a publisher, you can also use these key values to set unified pricing rules in Google Ad Manager, increasing your price floors on highly viewable inventory to maximize revenue.

Similarly to changing ad unit settings, we’ve found that figuring out exactly how to get your price floor settings for highly viewable inventory perfectly dialed in is a job best suited for AI and machine learning, not human trial and error. That’s why we built our price floor controller!

Now, let’s look at examples of specific ad units and see how we can improve viewability using a combination of placement and settings.

Let’s start by looking at what you can do for your above the fold “in-content” ad units. Your goal is to get them as low on the page as you can while keeping it above the fold. Often this means moving it just under a title card or below the first listing on a listing page.

Keep in mind this may mean a different placement on both desktop and mobile as the “fold” will happen at very different places.

This may also mean that some units may need above the fold treatment on desktop but below the fold treatment on mobile, depending on where they fall.

With above the fold units, you likely don’t need to worry about lazy loading, but will want to consider refreshing only when in view (so that once a user scrolls the ad out of view it quits refreshing).
Next, let’s look at the case where you have a unit below the fold in-content. You’ll want to look for opportunities to get the ad unit higher on page (unless it is an in-article unit that auto-injects every so many paragraphs). The higher the unit is, the more likely it will be to be scrolled into view.

With below the fold units, you may consider experimenting with lazy loading, particularly if you are concerned with page load speed. These units are also great candidates for choosing to refresh only when in view.

If a unit is almost at the bottom of the page, you may want to look at both viewability and revenue metrics for the unit. You may want to consider completely removing the unit if it is hurting viewability badly and not really generating revenue.
For in-content ads like in-article units, you can also consider utilizing a “scrollable container” where the unit begins docked to the top of the container and then scrolls down within the container as the user scrolls down the page.

This allows you to hold space for multiple ad sizes without worrying about your content shifting depending on which ad size shows, an important feature for reducing cumulative layout shift.

The fact that the unit stays sticky within the container as the user scrolls down simply helps to give an opportunity for a full second of in-view time. You likely won’t see a huge impact to viewability with this change alone, but every little bit adds up.
If you have a sidebar, you’ll definitely want to take advantage of it. You’ll want to make sure you have at least one of your units remaining sticky as the user scrolls, otherwise you’re just wasting opportunities.

If you have multiple stacked units, you’ll likely want to look at a “stacked sticky” medium rectangle layout.This layout allows you to continually serve new medium rectangles in the sidebar as the user scrolls down the page and is great for making use of empty sidebar area and provides plenty of in-view ad opportunities.You can also start to experiment with trigger based refresh rules. You can look for opportunities that signal clear user interaction as a chance to refresh in-view ad units. Some examples of user interactions that might qualify as a reason to potentially refresh include:

A user bringing a tab back into focus.

A user interacting with an element on page, typically best on an interactive experience.

Or, A major change in layout of the page as the result of an interaction, like a game ending and showing a closing screen.