Unfilled ad impressions mean ad revenue left on the table. This is one of the biggest issues the publishers are facing. Not a lot of online references out there can precisely pinpoint the best solution as publisher situations differ.
To fix unfilled ad impressions in Google Ad Manager (GAM), first, check the number of unfilled impressions using Google Ad Manager reports. Identify which ad units are affected the most. Ensure your ad units’ Div IDs/Slot IDs in the source code match your setup in Google Ad Manager. Confirm the accuracy of MonetizeMore Header Bidding placement IDs and parameters. Lastly, adjust your CPM floors across all networks to encourage more bids from advertisers.
Based on our extensive ad optimization experience, here’s a guide that will help you troubleshoot, identify the cause of the unfilled ad impression and put an end to this revenue-killer.
Step 1: Log into Google Ad Manager
Step 2: Click on Reports
Step 3: Click on Yield Report
Yield types are listed with the corresponding percentage of traffic. Our goal is to keep unfilled impressions to a minimum. Google’s advice as of their latest webinar is to try to keep it at 5% or less.
Step 4: Click the link to see which ad units are getting unfilled impressions
Step 5: This gives you a clue as to where to start
Step 6: Check your average ads per page (total ad impressions/total page views). If the result is small, that may also signal unfilled impressions.
Step 1: Run a GAM Report to see which ad units are getting the most unfilled impressions
Step 2: Audit the Div IDs/Slot IDs in the source code. To do this open the website > right click on the page > select “View Page Source”. Use CTRL + F to find the slot ID/div ID.
On-page setup – If you see in your results that you have 3 matches of the slot ID/div ID within the page (1 on the header, 2 on the body) then that means the div id is set up properly.
Off-page setup – You should see at least 1 result on the body
Step 3: Verify that the MonetizeMore Header Bidding placement IDs/parameters are correct
Step 4: Check your House line item to make sure all active ad units are targeted
Step 5: Check your Ad Exchange order and line items to make sure all the active ad units are targeted
Step 6: Check the CPM floors across all ad networks. A high CPM floor could restrict the ability of the lower-paying advertisers to bid for your inventory.
Step 7: If the ad unit that gets the most unfilled impressions is a 1×1, which you built for non-100% fill ad networks (e.g. anchor, slider, push down), see if you can setup a pass back. The pass back you can use must be of the same ad format (i.e. anchor passing back to another anchor).
Step 8: Sign up with as many ad networks as possible that can fill the 1×1 slot (ad format approved by the publisher to run).
Step 9: Check your top geographic locations and see if all of the geographical traffic is being targeted by these 1×1 ad networks. Most of the time, non-English traffic is prone to unfilled impressions because it’s very rare for these ad networks to monetize them. Look for ad networks that can monetize worldwide traffic.
Step 10: Consider pausing all non-100% fill managed demand and switch to the non-standard ads supported by MonetizeMore Header Bidding (i.e. autozone) + Ad Exchange/AdSense. This makes the ad spot more competitive.
Step 11: Run your discrepancy audit and identify which ad networks could be causing the gap
Step 12: Do an ad quality monitoring test to hunt down blank ads or in-banner video ads (IBVs) slowing down the page.
House Line items are your safety net. It’s the lowest priority line item that would catch all remaining impressions if none of the higher priority line items monetized it.
Step 1: Log into Google Ad Manager
Step 2: Identify which ad network you would use as House. This is ideally an ad network that can fill 100% of worldwide traffic. You may also separate your House per group of geographical locations.
Step 3: Click on the Delivery tab
Step 4: Create an order or just create a line item under a pre-existing order. If you choose the latter, it only makes sense to create it under the same ad network you’ll use as the house network.
Step 5: For line item type choose: House, Goal: 100%
Step 6: You may set the rate at $0, or adjust it according to its actual CPM performance. Doing the latter would be beneficial when generating GAM reports to get accurate stats.
Step 7: Upload as many creatives based on the number of ad units targeted. For example, if the line item targets three ad units (300×250), you should also upload three 300×250 creatives. You may upload one, then select it and copy.
Google Ad Manager has a limitation that when a line item targets multiple ad units and it’s not backed by a sufficient number of creatives to serve, it could result in unfilled ad impressions.
Step 1: Review each of your active line items. If you have any line items that target multiple ad units, make sure you match them with the same amount of creatives.
Step 2: For example, if you have five 728×90 ad units targeted, and three 300×250’s, you need to upload one creative for each size and just create a copy.
Step 3: Keep creating copies until you have the right number of creatives
Do you have a non-100% fill ad network that has a particular CPM floor set? You need to make sure you set up a passback tag behind it. Ideally, you would setup an ad network that can fill the unmonetized impressions. If you have the tag, set it up in the user interface or have your ad rep do it for you.
You might also consider using GAM as a passback.
Step 1: Create a passback ad unit
Step 2: Generate the code (Inventory > Generate Tags)
Step 3: Select ‘Create a Passback Tag’ in the Tag Options
Step 4: Implement this tag behind the non-100% fill ad network
Step 5: Create Orders/Line items that will target the passback ad unit.
Every Time you deploy a CPM floor it impacts advertiser behavior. You are restricting the demand because you’re not accepting buyers who would pay lower than the amount you specify. If extremely necessary, just ensure you have enough demand to cover the impressions that won’t be monetized.
Adjust floors when deemed necessary.
This often happens for non-English geographical location traffic. It’s not easy looking for demand partners that can buy international traffic at a 100% fill rate. If you have AdSense and Ad Exchange, then your problem is solved!
A slow website is not only annoying to users but also to advertisers. Come to think of it – your site is slow which means some ads won’t even load in a given session. You should also consider minimizing video ads on the page.
The following tools may help you identify the reasons for slow page performance:
GTmetrix – gtmetrix.com
Page Speed Insight by Google – https://developers.google.com/speed/pagespeed/insights
Do your daily ad quality monitoring. You may use Google Publisher Toolbar to identify the culprit. These ad networks may also have huge reporting discrepancies, so keep an eye out for that. Compare your GAM report vs. UI. This will require you to adjust CPM rates according to true CPMs so GAM can produce accurate reports.
Reach out to your ad rep to investigate if necessary.
Now that you know how to troubleshoot and fix unfilled ad impressions on your websites be sure to follow our instructions and implement fixes ASAP. You don’t want to be leaving money on the table!
Always strive to monetize 100% of your ad impressions. Your ad revenues are suffering because {% of Unfilled Ad Impressions} of your ad impressions are going unfilled.
Let’s help you monetize 100% of your ad impressions. Get started here!
With over seven years at the forefront of programmatic advertising, Aleesha is a renowned Ad-Tech expert, blending innovative strategies with cutting-edge technology. Her insights have reshaped programmatic advertising, leading to groundbreaking campaigns and 10X ROI increases for publishers and global brands. She believes in setting new standards in dynamic ad targeting and optimization.
10X your ad revenue with our award-winning solutions.