Search the site:

Copyright 2010 - 2024 @ DevriX - All rights reserved.

Mobile Ads Viewability: A Quick Guide for Digital Publishers

Mobile Ads Viewability_ A Quick Guide for Digital Publishers

What is ad viewability and why is it important?

86% of users pay zero attention to banner ads. Just 1% of those who do, actually engage with them.

Viewability is a really important metric for digital publishers, concerning programmatic advertising. It was introduced to fix the issue with having ads that can’t fit into a screen and it measures the chances of an ad to be viewed by a visitor.

From a publisher’s standpoint viewability is important as it leads to higher CPMs and more desirable inventory.

In this article, we will go in-detail into what mobile ad viewability is and how to monitor it as a WordPress publisher to improve CPMs.

But before that, let’s see when an ad is considered viewable in the first place?

According to the International Advertising Bureau’s standards, also adopted by Google, a typical display banner ad is viewable when 50% of it stays in the viewport for at least 1 second.

For example, if you have a 300×250 banner, at least 300×125 of it should be in the viewport for a whole second. That’s plenty of time if a user just scrolls past it. Good viewability is in the range of 60-80% for a regular banner. Of course, that will depend on the exact positioning of your ad and sometimes it is fine if it’s a lower percentage. In other instances – like sticky ad units, if it’s below 95%, there is something wrong with it.

If it is larger , there is an exception. If at least 30% of the ad is visible for at least 1 second and the ad is 242,500 pixels (970 x 250) or greater, then the ad is viewable.

This means that if a mobile user lands on your page and while scrolling through the content passes over a whole banner, it probably won’t be considered as “viewed”. The user didn’t stop intentionally to actually see it.

It also means that if there is a half viewable part of an ad at the bottom of the screen and although you don’t even scroll down, it still might count as a viewable one.

Keep in mind that these metrics apply only to display banners, and that video ads have their own metrics.

Viewability is an interesting metric, as it’s just a part of a larger mix of things to look for, when building the ultimate ad stack. It can drive your CPMs up, even in the shorter term.

Therefore, if you have a faster website, the ads will load earlier. Also, there will be a higher chance for someone to see them and your CPMs will increase. However, if you go for some UX changes – which introduce more padding around your ads for example – on mobile this might result in your users scrolling faster through the ad, and not “seeing” it.

Still, keep in mind that using 300×600 on mobile instead of 300×250 will result in something similar. The user may skip over this big blind spot on your site and the ad will have lower viewability overall. However, this might result in a higher CPM, due to the bigger ad unit. So, it’s all about calculating what best fits your needs.

Improving ads viewability is tricky and may even cost you revenue. It could also mean you have to cut those extra ads that load at the bottom of the website, where nobody sees them anyway. Doing so will increase viewability. However, you will stop receiving that extra juice coming from this bad inventory.

So before you stop loading the ad unit after the end of the content, just to increase the viewability, think twice. It might bring in some extra cash, but it won’t compensate for other ads. At least not in the short term, bidders have to value your inventory more.

That’s why it’s important to seek the balance when working on your ad viewability optimization.

Main Reasons for Low Ads Viewability

Main Reasons for Low Ad Viewability

There are lots of reasons why viewability might be low, but here are the main ones:

  • Bad ad placement. Ads that never really get into the viewport.
  • Slow serving speed. Ads after the user has scrolled pass an empty space on your site where the banner appears.
  • Low-quality content or bad user experience. This can make the user scrolls faster through the ads.
  • All kinds of bugs. This includes ads that are broken, sidebar ads that are not visible, mobile ads showing on desktop and vice versa.
  • AdBlockers. A user may have installed an ad blocker on their browser.
  • Technical issues. Viewability is not measured correctly.

We know that every publisher’s case is different and requires careful examination and analysis.

In this article we will propose some useful tips and insights on how you can increase viewability and henceforth your ad revenue.

How to Increase the Ads Viewability on Your Site?

How to Increase the Ads Viewability on Your Site

Try Lazy Loading

One of the quickest ways to increase ad viewability is by using lazy loading. If you have long form content and you load all your ads on the page, the user might only see the ones above the fold. So, if users open the page and do not scroll down to the bottom, you will be serving up ads that nobody sees and will not generate a viewable impression.

Lazy loading lets you display ads after a certain point on the website is reached. If a user reads a long article you can show them the ads by portions. For example, when they load the site – you can directly serve the first four ads. When they scroll down to the third one, you can load the next three (5,6,7). When they scroll to the sixth, you load 8,9,10, etc. This way you will be loading an ad unit only when there is a higher probability that the user will see it.

Actually, a practical solution for this is Google Publishing Tag (GPT) lazy loading, which is an out of the box solution, integrated within Google Ad Manager tags. It works on the principle of viewports. For instance, you might set the ad to fetch 4 viewports before the user scrolls down to it, and render 2 viewports earlier – giving time for creatives to load and minimizing the percentage of ads which never really get into the viewport.

Still, some users might close the page before they see the loaded ads, but the percentage will be lower than if you serve all the ads up at once.

We’ve found that sometimes when using custom logic that is more in line with the site, it may also give really good results, but GPT is always worth testing.

How to test out lazy-loading approaches?

This, though, should be carefully tested and it really depends on the individual case of the website. If you lazyload the ad unit too much, that could increase the chance of a user scrolling past the ads early on, and not even being able to see it.

And when you have shorter content, as is the case with paginated layouts, using lazy loading might not be the best idea.

Consider Viewport Refreshes

Having banner placement that auto refreshes is a great way to monetize your inventory. That’s especially true, when we speak about sticky ad units. These can be a mobile anchor – one, that is being constantly displayed on the bottom of a page or as a desktop sticky sidebar ad unit, that scrolls along with the user next to content.

If an ad like this has low viewability, you should thoroughly check what could be wrong with it, as it is not supposed to behave this way. Above 95% is something within the norm.

One of the more common mistakes is to let the ad refresh even when the browser is not on focus, or even when the user is no longer active in this tab.

For example, if you load an article on desktop and start reading, there might be an ad below the fold in the sidebar, which is a sticky one. If this ad refreshes before you reach it, it could have several “empty” impressions, which nobody will see. This could be especially bad for CPMs and viewability of the ad unit, resulting in a lowered demand in the long term.

Fix Load Speed

One of the most common issues is that people scroll through ads before they have even loaded. This could be addressed in several ways and one of them is by improving the ad speed.

Here are some suggestions on how to improve your ad loading speed.

  • Make sure that you are loading GPT tags as early as you can on the page. Better enqueue by a script tag, than within another script. Use as it is the newer host.
  • Load header bidding script directly after GPT. Make sure bid requests do not wait on `googletag.pubadsReady` or `googletag.cmd.push` to load.
  • Control timeouts for bids, experimenting with an optimal result.
  • Introduce minimum floor prices with Unified Pricing Rules (UPR) in GAM, so that you don’t display creatives that are too cheap, but still take time and resources to load on the site.


Another thing that causes problems could be having too many prebid SSPs. You may see improvements if you remove any adapters that barely contribute to your revenue flow and only make the site slower.

If you send requests to less adapters, that will speed up your site and will also speed up creative loading. This should result in better viewability and therefore – increased CPMs. The results in revenue could account for the loss of low-profile bidding adapters in Prebid.

Optimize Ad Positions

The best place to put an ad is right above the fold. This means that, for example, if you are on a desktop environment, putting a horizontal banner right at the bottom of the visible part of the screen is the better solution, rather than sticking it on the top of the page.

When choosing the positions of your ads, you should always consider the type of content on the page. Also, think about how the user will engage with it.

When someone opens a site, they usually tend to scroll down to the main part of the content, and if they do so quickly, they will not be able to even see a megaboard banner above the page’s hero image or heading.

If you place this leaderboard below the main image, instead at the very top of the page – the person will still scroll, but there is a higher chance they will stop before they reach the banner, giving it more time for it to load and see it.

That’s why having in-article banners and engaging content is one of the proper ways to ensure high ads viewability. If visitors read your content, they will also see the ads, and your CPM will grow. For example, galleries without engaging text tend to make the users just leave.

Optimize the Size of Creatives

The same principle goes for the size of the ad you are displaying. For example, 300×600 px creatives in mobile most of the time will have a lower viewability than 300×250 px. This is due to the fact that it’s harder to fit half of the banner in the viewport next to the content. So, when people reach such a banner, they tend to scroll down through it. It does, however, produce a better CTR, as users unintendedly click on the banner that fills in the whole page.

A good thing to experiment with is adding smaller creative sizes up to 300×250 px on mobile – like 320×50 px, 300×100 px, etc. If they succeed, that’s both more revenue for you and higher viewability for the ad unit.

Always keep in mind, that half of the height of the banner should be present in the viewport for at least a second. If you manage to put it in the right place you will increase your profits.

Next Page Load

Another trick could be to use the loading of the page that follows to your advantage. If you consider the “just above the fold” tactic, you may use it in different micro scenarios.

It’s usually better to place an ad right before the next page of an infinite scroll article, than place one directly after. If people stop for a second to wait for the content to load, they will be able to see the banner right above it. If you position a banner right after that, they will just scroll down to the content.

Paginated Content

Similarly, that improvement logic works for paginated content as well. When you click the next button, you should go to a page with a banner just above the fold. For instance, if you are in a gallery view, you should see the title, the photo, the banner and then the text. This way you’re putting the banner in the viewport, and right between the content to be consumed.

Another good place is right above the Next button since the reader will have to go to it to continue reading, and is probably going to spend a second there. Just make sure to leave enough space between it and the banner, to avoid misclicks.

Prefetching the banners might also be a really useful way to increase ad viewability and ad speed.

Loading Ads in Wrong Environments

Bugs such as ads in the wrong environment can also lead to lower ads viewability. Fixing this though could bring big changes and more revenue.

Showing ads in the wrong environment can significantly influence their performance. For example, let’s say you are using a desktop setup in a tablet environment There is a chance that you are serving sidebar ads. But in portrait mode on tablet view, your sidebar won’t be visible, and thus your ads won’t be shown.

First of all, make sure that you are identifying devices correctly. One way to do so is to use a user client, rather than device resolution to determine which ad stacks you should be displaying.

Secondly, a quick query in Ad Manager with dimensions for both ad units and devices will break down the traffic to different platforms This way, you will be able to search for unusual results there.

Loading Ads in Wrong Environments

How To Check The Ad Unit Viewability On Your Site?

1. Google Ad Manager Reports

The first place to look for areas for improvement is simply by pulling an AdManager report by ad units, following these steps:

In Ad Manager go to Reporting – > Reports/or Queries, if you are in a 360 product/, then create a new one.

Here are the specific metrics you can use to create the report:

Report type: Historical

Date range: At first you may want to select a longer period – 30 days for example.

Filters: This is more or less specific to the case

Dimensions: Let’s run the query with just “ad units”. This one will mean that we will separate the results by individual placements. Further down in the process, we could also use specific devices, creative sizes and dates. This way, we will break down the report to more and more pieces. However, that’s after we’ve discovered what we are looking for.

Google Ad Manager Reports

Metrics are the data we are using for every dimension we’ve selected. For this we will need to add

  • Total Active View % viewable impressions, which show the exact % of ad units being viewable.
  • Total Active View % measurable impressions are the % of creatives displayed that support active view measurement. If this is quite high – above 98 – there is something unusual happening, and you need to investigate.
  • Total impressions and Total CPM, CPC, CPD and vCPM revenue are valuable metrics to include. When you look at data ad units by ad unit, focus on ones that will have a higher impact. Once the results are ready, you can select and sort either one of them.
  • AdManager 360 only: Total Active View Average Viewable Time (seconds). This isn’t directly relevant to viewability, but it is a nice insight. It is also only available to premium users.
  • Total average eCPM, Total fill rate, Ad Exchange CTR – Allow you to look at more data that has informational purposes.
    Click “Run” and you have the necessary query to explore viewability issues.

2. Look into Dev Tools

Another useful way to explore issues on your website is by examining data in the browser’s console.

An easy way to see viewability in action is by opening the target site and hitting Ctrl+Shift+I to open Dev Tools. There in the network tab you can search for `activeview`. Every time a measurable banner gets viewed by the IAB’s definition, it will “fire” a new line with an active view.

Scroll down the site and monitor when the “activeview” event is triggered in the console.

Exploring this may help you find different issues. Just don’t forget to do it using various devices and testing different conditions.

3. Speed query

Since October 2019 Google has introduced another query in Google Ad Manager, that is useful for debugging viewability issues.

To access it, you should change the report from “Historical” to “Ad Speed”. You could do most of the same filtering as previously shown to identify different issues.

Speed query

The report can give you valuable information on three main topics: creative load times, Non-viewable impression reasons and tagging speed.

3.1. Creative load time

Creative load times are mostly concerned with direct deals, where publishers have more control over the creatives, but it could also help you identify issues with Prebid bidders as well, if some of them tend to load ads slower than the others.

A quick trick is to set up the report to have orders or advertisers as a dimension in the query and run the creative load time. If you see a Prebid bidder that takes long to load, consider getting rid of it.

3.2 Non-viewable impression reasons

The next one is “Non-viewable impression reasons”. When it’s broken down by ad units it could really help you understand the issues on your site and suggest improvements

  • Slot never entered viewport (%)
  • User scrolled before ad filled (%)
  • User scrolled/navigated before ad loaded (%)
  • User scrolled/navigated before 1 second (%)
  • Other non-viewable impression reasons (%)

Unfortunately, you can’t add other metrics to this report It’s better to have the standard “Historical” query opened in a different tab with the same dimensions for reference.

For example, if an ad unit here has more than 50% of it’s impressions not being viewed due to the fact that it never entered viewport, but on the other tab you see, that it’s viewability is 97%, there is probably nothing major to be worth fixing.

However, if you have poor viewability for an ad unit, let’s say 50%, and the report shows you that 80% of the non-viewed ads are because the slot never entered the viewport, check for lazy loading.

And if a user scrolls past an ad before it’s filled or loaded, check how your tags are loading and the logic behind it, as well as site speed.

3.3 Tagging speed

And the third tab is tagging speed. This one gives developers great insight on page navigation to tag load and ad requests time.

In a nutshell, this report shows how much time it takes on average for the user to have the gpt tag loaded after they landed on the page. Also, it demonstrates how much more time it takes for an actual ad to be requested.

Keep in mind

A lot of factors can affect viewability – including UX changes, content differences, site speed, creatives, bidders or simple mistakes. So it’s usually a trade-off. Is a change worth the poor viewability, and if so – is there another thing that can positively impact it?

This is why you need to understand viewability and carefully read the signals it sends you.