Ad fill rate is the percentage of ad requests your site sends that return a served ad, calculated as (impressions served / total ad requests) x 100. A fill rate consistently below 80% points to one of three causes: too few demand sources competing for each impression, floor prices set above what the market will pay, or slow page loads that time out before the ad can load. As Google's Ad Manager documentation notes, setting a floor price too high risks having impressions go unfilled, leaving revenue on the table even when buyer demand exists.
What Ad Fill Rate Measures (and Why It Is Not the Same as CPM)
Fill rate and CPM (cost per thousand impressions) measure different things and move independently. CPM tells you how much each filled impression is worth. Fill rate tells you how many of your total requests resulted in a filled impression.
The practical difference matters for how you read your revenue. A site with a $4 CPM and a 60% fill rate is delivering fewer actual dollars per pageview than a site with a $3 CPM and a 90% fill rate. At 1,000 ad requests, 60% fill delivers 600 impressions at $4 CPM, which equals $2.40 RPM. At 90% fill with $3 CPM, that same 1,000 requests delivers $2.70 RPM. The lower CPM earns more per pageview.
This is why optimizing for CPM alone while ignoring fill rate can reduce your actual revenue. Both metrics need to be visible in the same dashboard. Google Ad Manager's reporting structure tracks these separately for exactly this reason: they interact, and you need both to see the full picture.
For gaming publishers specifically, the stakes are sharper. Gaming sites see higher ad blocker usage than the open web, which means the ad impressions that do load need to count. A low fill rate on an already-reduced monetizable audience compounds the revenue gap faster than it would on a general news or lifestyle site.
How to Calculate Your Ad Fill Rate
The formula is straightforward:
Fill Rate = (Total Impressions Served / Total Ad Requests) x 100
If your site sent 500,000 ad requests in a given month and served 415,000 impressions, your fill rate is 83%.
According to Google Ad Manager's reporting documentation, "total impressions" refers to the count of ads that actually rendered, while "ad requests" counts every time an ad slot called the server. The gap between those two numbers is your unfilled inventory: the revenue you did not collect.
Most publishers find these numbers in their ad network's reporting dashboard. If your current network does not surface ad requests and impressions served as separate line items, you cannot calculate your fill rate. That absence is itself a diagnostic signal.
A fill rate consistently above 85% generally indicates a well-supplied demand setup. Rates that drop below 70% on a sustained basis, without a clear seasonal or traffic explanation, typically point to a structural problem in how your inventory is being monetized.
What Causes Low Fill Rate on Gaming Sites
Three causes account for most chronic low fill rate situations.
Too few competing demand sources. In a waterfall setup, an ad request moves through demand sources sequentially: the first SSP gets a chance, then the second, then the third. If the top-priority source passes, the request waterfalls down and may go unfilled entirely if none of the remaining sources bid in time. Header bidding runs the auction in parallel, so every demand source sees the impression simultaneously. More live bidders means more chances for each request to result in a served ad.
Floor prices set above the clearing rate. As Google's documentation on floor price optimization explains, a floor price set too high leaves impressions unfilled when buyers exist but are bidding below the threshold. Static floor prices are particularly vulnerable to this: the programmatic market moves in real time, and a floor that made sense in Q4 may be significantly above what Q1 demand will bear.
Request timeouts. Ad requests have a time budget. If the page takes too long to load the ad script, or if the ad server's response is delayed, the slot can close before the ad fills. Wurl's 2024 fill rate analysis documented fill rates roughly 18% lower in Q1 2024 compared to Q1 2023, partly attributed to increased supply-side pressure that slowed auction resolution times across the market. For gaming sites with complex interactive page loads, this latency gap is a fill rate leak worth auditing.
How to Improve Fill Rate Without Sacrificing CPM
The target is not 100% fill rate. At 100% fill, you are accepting every bid regardless of its value. The productive range for most well-configured publishers is 85-95%, paired with floor prices calibrated to actual market demand.
Add competing demand sources. The most direct path to higher fill rate is having more buyers compete for each impression. Moving from a single-exchange waterfall to a header bidding setup with multiple simultaneous demand partners opens each impression to more buyers, which both increases fill and introduces competitive pressure that can lift CPMs.
Calibrate floors dynamically. A floor price that adjusts to live auction data performs better over time than one you set at onboarding and leave alone. Dynamic floors respond to actual bidding behavior, capturing more revenue on high-demand impressions while accepting lower bids on inventory that would otherwise go unfilled. Google's own guidance on floor optimization recommends against static floors for this reason.
Review timeout settings. Most ad servers let you configure the bid timeout: the window during which SSPs can respond to a request. A timeout that is too short cuts off slow but willing bidders. One that is too long delays the page and creates a poor user experience. A well-configured setup balances both. If you see high unfilled rates that do not correspond to floor pricing or demand gaps, check whether your timeouts are cutting off bids before they arrive.
Segment your inventory. Fill rate can vary significantly by placement position, device type, and geography. An overall 82% fill rate might mask 95% fill on desktop alongside 65% fill on mobile. Diagnosing by segment lets you address specific leaks rather than applying blanket changes that affect all inventory equally.
How Nitro Publishers Track and Fix Fill Rate
Having granular fill rate data in a real-time dashboard changes what you can actually diagnose. Publishers working with Nitro see fill rate broken down by ad unit, geography, and traffic source alongside CPM, RPM, viewability, and revenue per session. As Nitro's transparent reporting post explains, that level of granularity makes it possible to identify fill rate problems by segment rather than having to infer them from a blended revenue number.
The demand architecture behind that fill rate improvement is Nitro's simultaneous header bidding setup: every impression is auctioned across Google Ad Manager, Xandr, PubMatic, OpenX, Conversant, Media.net, SOVRN, and Sonobi at the same time. That parallel competition gives each impression the maximum chance to fill. No single demand partner needs to win for the request to be served: any willing buyer closes the impression.
One publisher reported that since partnering with Nitro, almost every key metric tripled, including revenue, fill rate, and CPM.
When fill rate drops do appear, same-day support means they get diagnosed quickly. A fill rate problem has several possible root causes and the right fix depends on which one is driving it. A team that can review your specific bidder data, floor settings, and timeout configuration the same day you flag it resolves it faster than a ticketing system with a 48-72 hour queue.
Frequently Asked Questions
What is a good ad fill rate for a gaming website?
A fill rate above 85% is generally considered healthy for a well-configured web publisher setup. Gaming sites often face headwinds from higher ad blocker rates and more complex page loads, which can drag fill rate below this threshold even when demand is healthy. If your fill rate is consistently below 70%, the cause is almost always in your demand setup, floor prices, or ad loading configuration, not your traffic quality.
Can I have a high fill rate and still earn low revenue?
Yes. Fill rate measures the volume of served impressions, not their value. A network that fills 95% of requests at very low CPMs will produce less revenue than one that fills 85% at a higher CPM. The combination of fill rate and CPM, what ad networks refer to as effective yield or session RPM, is the more complete revenue signal. Both numbers together tell a fuller story than either one alone.
What is the difference between fill rate and viewability?
Fill rate measures whether an ad was served at all. Viewability measures whether a served ad was actually seen by the user. An ad can be served (counted as filled) but display below the fold and never enter the viewport, in which case it counts toward fill rate but not toward viewable impressions. Both matter: low fill rate means lost requests, low viewability means buyers discount the value of your inventory, which suppresses CPMs over time.
How does header bidding improve fill rate?
Header bidding runs multiple SSPs in parallel on each ad request instead of sequentially. In a waterfall, if the highest-priority SSP passes, the request moves down the chain and may go unfilled entirely. In a header bidding setup, every connected SSP sees the request at the same time. One willing buyer is enough to fill the impression. More concurrent demand sources means more opportunities for each request to result in a served ad.
Why does fill rate drop in Q1?
Q1 is historically the lowest ad spending quarter because advertiser budgets reset in January after a high-spend Q4. Research tracking fill rate trends has documented significant Q1 fill rate drops as advertiser demand contracts across the market. The best response is to lower floor prices to match reduced demand and ensure your demand sources are configured broadly enough to capture the buyers who are still active. Static floors set at Q4 rates will produce more unfilled impressions in Q1 than they did the prior quarter.
If you'd like to learn more about how Nitro can help you grow your revenue, get in touch with our team.
Nitro is dedicated to reinventing website monetization for the gaming industry. Our ad tech platform delivers uncompromised user experience alongside high performance revenue, with Net 7 payouts, same day support, and fully transparent real time reporting.