Optimize your AMP pages for high ad viewability rate or high ads served

Configure ad ‘Data Loading Strategy’

Vamsee Jasti
Sep 11, 2018 · 3 min read

This post is part of a larger AMP monetization series that you can read about here.

I’m endlessly fascinated that an advertiser would pay for an ad impression that a user never saw. Yet, that’s how most default ad contracts are written. Many brands are changing how they negotiate contracts or redefining what they’d consider viewable. Plus the terminology itself can be confusing.

Viewability rate (also known as viewability %) is defined as (number of ads viewed / total number of ads served) X 100. Depending on the advertisers it works with, a publisher uniquely configures its site for higher viewability rate or for increasing the number of ads served since they are inversely correlated.

In AMP, tweaking your pages to drive higher ad viewability rate or views is easy for publishers using the ‘data-loading-strategy’ attribute on the `amp-ad` component.

Data Loading Strategy on amp-ad

The `data-loading-strategy` attribute takes a float value between [0,3]. The value represents the number of viewports between the user and the ad on the page. The smaller the number, the longer the runtime will wait for the ads to render and vice versa. If you are a publisher that wants to increase viewability rate, then you’d keep this value to be as small as possible and if you set this to a larger value (e.g. 3), you are instructing the runtime to start rendering the ad as long as it’s within 3 viewports of the user’s location on the page. Note that the data-loading-strategy dictates when the ad renders and it’s not about when the ad request is made. In almost all cases, the ad request is made very early in the page lifecycle.

<amp-ad width="300"

If `data-loading-strategy` attribute isn’t included, the runtime assumes a value of 3 by default. If `data-loading-strategy` attribute is included but a value isn’t provided, then the runtime sets the float value to a default value of 1.25 which is the tried and tested value to get a high viewability rate without drastically impacting the total ads served. The attribute also accepts ‘prefer-viewability-over-views’ as a value, which at the moment is 1.25 but may be fine tuned in the future if further testing reveals the need for a different number.


Effect of Render on Idle

Last year, the DoubleClick Fast Fetch extension introduced a mechanism called ‘Render on Idle’ where the runtime would start to request ads that were very far below the viewport if the runtime detected that it was done loading all other components on the page and was idle. As a result, this would lead to a drop in viewability rate but would increase the number of ads served improving the chances of an loading in time for the user to view it. Therefore, note that if you configure ‘data-load-strategy’, then render on idle would be disabled on the page.

As the industry makes its shift towards compensating for viewability vs views, publishers can easily configure and test different strategies for ad loading by changing a single line of code on AMP pages.

Publishers can even consider configuration at the CMS level for additional flexibility.


Highly combustible AMP advice

Welcome to a place where words matter. On Medium, smart voices and original ideas take center stage - with no ads in sight. Watch
Follow all the topics you care about, and we’ll deliver the best stories for you to your homepage and inbox. Explore
Get unlimited access to the best stories on Medium — and support writers while you’re at it. Just $5/month. Upgrade

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store