How to Troubleshoot & Fix Unfilled Ad Impressions?

Ad Optimization
January 22, 2024 | by Aleesha Jacob

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.

How to check unfilled ad impression volume?

Step 1: Log into Google Ad Manager

Step 2: Click on Reports

Step 3: Click on Yield Report

impressions not filled screenshot

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

unfilled impressions report

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.

Troubleshooting and resolving possible reasons for 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.

Missing House line item

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.


Not enough creatives uploaded for line items targeting multiple ad units

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.

copying creatives

Step 3: Keep creating copies until you have the right number of creatives

creative copy

Missing passback behind non-100% fill ad network

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

select tag options

Step 4: Implement this tag behind the non-100% fill ad network

tag results

Step 5: Create Orders/Line items that will target the passback ad unit.

Too high CPM floors

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.

Not enough demand to monetize impressions

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!

Slow page load performance

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:

Page Speed Insight by Google

Monitor blank ads and discrepancies

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.

In closing

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!



"NET RPM increased 61.3% compared to our yearly average before working with MonetizeMore, and NET Revenues increased 54.8%. There is no doubt that turning over the day-to-day management of our ad inventory to MonetizeMore's team of experts has been the right move for our business."


Paid to Publishers


Ad Requests Monthly


Happy Publishers

Recommended Reading

February 22, 2024

How to Monetize Social Networking Sites

Read More
February 21, 2024

How Publishers make 10X more money with Dynamic floors?

Read More
Ad Optimization
February 21, 2024

8 Best Ad Networks in India

Read More

Trusted by 1,500+ publishers worldwide

10X your ad revenue with our award-winning solutions.

Let's Talk


Ready to 10X your ad revenue with the #1 ad management partner?

Start Now