How to Diagnose and Fix Your Fill Rate Problem
May 5, 2026
Editorial Policy
All of our content is generated by subject matter experts with years of ad tech experience and structured by writers and educators for ease of use and digestibility. Learn more about our rigorous interview, content production and review process here.
Key Points
- Fill rate correlates with revenue per session at only 0.12 across all publishers, but segment by fill bracket and a 5.3x RPS multiplier separates the top tier from the bottom.
- Geography sets your fill ceiling, and no amount of optimization closes the gap between low-demand and high-demand traffic regions.
- The floor price trap: within the same demand tier, publishers with aggressive floors fill roughly half the inventory of right-sized competitors and earn 18% less revenue per session despite charging nearly twice the CPM.
- Three behavioral levers move fill within your geographic cohort: impressions per session, viewability above 70%, and floor calibration to actual demand.
- Diagnosing which problem you have changes everything about how you fix it.
Most fill rate conversations start in the wrong place. Publishers see a 45% fill rate and immediately start poking at their header bidding setup or refreshing floor prices, without first asking whether the problem is fixable through optimization at all.
Some fill gaps are structural. Some are self-inflicted. Some are both. The diagnosis determines the treatment, and treating the wrong cause wastes months.
This guide walks through the four root causes of fill rate problems, the signals that identify each one, and the specific actions each calls for.
What Is Ad Fill Rate and Why Does It Matter?
Ad fill rate measures the percentage of ad requests that result in a served impression. The formula is straightforward: filled ad requests divided by total ad requests, multiplied by 100. A publisher sending 1,000 ad requests and receiving 600 filled impressions has a 60% fill rate.
That math is simple. What isn't simple is knowing whether your fill rate is a problem, and if it is, which kind.
Fill rate is the most underrated revenue lever in most publishers' optimization playbooks, and one of the least understood. It sits at r = 0.12 in a straight correlation with revenue per session (RPS) across the full publisher dataset in the 2026 State of Publisher Ad Revenue Report. That number makes it look like a weak signal, and at the aggregate level, it is. Bracket it out and the story changes sharply.
Publishers hitting 90%+ fill average 5.3x the RPS of publishers below 40% fill. The jump from the 60–75% bracket to the 75–90% bracket alone is meaningful. Every unfilled ad request is a zero. Enough zeros and your revenue curve flatlines regardless of what your CPMs look like.
The problem is that fill rate has multiple causes, and they require completely different responses.
Fill rate: the most underrated revenue lever
The 40% wall — and the behavioral drivers publishers can actually pull within their demand tier.
Geography sets the ceiling. Behavior determines how close you get.
What Is a Good Fill Rate for Publishers?
Most sources cite 80–100% as the target range. That framing is incomplete. The right fill rate is the one calibrated to what your actual demand pool will pay, not the highest number you can achieve regardless of what it costs in CPM or RPS. The 75–90% bracket outperforms the 90%+ bracket on median RPS in Playwire's dataset. Chasing 100% fill through ultra-low floors or low-value demand sources produces impressions that generate less total revenue than a higher-CPM, slightly lower-fill configuration. The goal is revenue per session, not fill rate as an end in itself.
The Four Causes of Low Fill Rate
Fill rate problems fall into four categories. You may have one. You may have all four operating simultaneously, each compounding the others.
| Root Cause | Primary Signal | Fix Type |
|---|---|---|
| Geographic demand gap | Low Ad Request CPM | Demand diversification, geo-aware floors |
| Floor price trap | High CPM + low fill in same demand tier | Floor recalibration |
| Demand breadth gap | Losing a major bidder (e.g., Amazon) | Bidder stack expansion |
| Viewability drag | Fill rate below peers with similar CPM | Ad layout and placement work |
Each one requires a different diagnostic lens and a different remediation path.
Essential Background Reading:
- 5 Ad Revenue Metrics Publishers Should Track: The metrics most publishers obsess over aren't the ones that actually predict revenue, find out which signals matter.
- Ad Density Is the #1 Predictor of Publisher Revenue Per Session: Why impressions per pageview outranks fill rate, CPM, and viewability as an RPS driver, with the data to back it up.
- Publisher Ad Revenue Maturity Model: Where your current monetization setup sits on the revenue curve, and what the next level actually requires.
- What Separates the Top 10% of Publishers from Everyone Else: Data-backed analysis of the configuration and behavior patterns that define the highest-earning publishers in the network.
Diagnosis 1: The Geography Problem
Ad Request CPM is the single strongest correlate of fill rate in the dataset, at r = 0.94. That's not a weak signal. That's almost the whole explanation at the top level.
What Ad Request CPM actually measures is how much advertiser competition exists per impression. That number is overwhelmingly determined by where your audience comes from. Publishers with primarily US and Western European traffic operate in a structurally different demand environment than publishers with large Southeast Asian or Latin American audiences. The fill ceiling is different, and optimization alone cannot close that gap.
A 47-point fill rate gap separates the lowest and highest Ad Request CPM tiers in Playwire's dataset. That gap is not primarily a monetization stack problem. It's an audience geography problem, and benchmarking fill rate across very different geographic cohorts produces comparisons that mislead more than they inform.
How to tell if geography is your problem:
- Your Ad Request CPM sits below $0.20 despite what you'd consider a healthy monetization setup.
- Fill rate stays low even after you've cleaned up floors, refreshed your demand stack, and improved viewability.
- A significant portion of your sessions originate outside North America and Western Europe.
What to do about it:
The goal isn't to benchmark against publishers with different audience geographies. The goal is to maximize fill given the audience you actually have.
- Geo-specific floor pricing: Set lower floors for international traffic segments. A floor calibrated for US CPMs will kill fill on APAC or LATAM inventory.
- Format diversification: Some ad formats attract broader global demand. Video and high-impact units tend to pull more international competition than standard display.
- Demand partner diversification: Some SSPs have meaningfully stronger international demand pools than others. If your stack is US-centric, your international inventory is running with fewer buyers in the auction.
Geography is the only fill rate problem that isn't primarily a monetization fix. It's a demand access problem that requires you to meet your audience where the buyers actually are.
Diagnosis 2: The Floor Price Trap
This is the most common self-inflicted fill rate problem, and the one publishers are most likely to misdiagnose. The pattern looks like this: you raise floors to protect CPMs, CPMs go up, but fill drops. You tell yourself you're trading volume for quality. What you're actually doing is generating less revenue.
Within the same demand tier, publishers with aggressive floors run at roughly half the fill rate of those with right-sized floors. They charge nearly 2.5x the CPM per impression and still generate 18% less revenue per session. The math doesn't work in favor of the high-floor strategy.
The floor price trap: winning the battle, losing the war
Within the same demand tier — geography held constant ($0.20–$0.50 Ad Request CPM band).
Charges more per impression — earns less overall
Right-sized fills twice as much inventory
More revenue per session for right-sized publishers
A higher CPM isn't the same thing as more revenue. Fill is the variable everyone discounts.
This is the core argument for dynamic, demand-aware floor pricing over static price floors. Lower CPM with twice the fill wins. The data is unambiguous.
How to tell if you're in the floor trap:
- Your CPMs look good. Your fill rate looks low. Your RPS is disappointing.
- You're operating in a solid demand tier (Ad Request CPM above $0.35) but fill stays under 50%.
- Fill rate has dropped over the past several months without a corresponding traffic quality change.
The floor trap decision framework:
Ask yourself three questions before concluding that high CPMs justify low fill:
- Is my CPM premium actually generating more RPS than a lower CPM with higher fill would produce?
- Are my floors set based on what my actual demand pool will pay, or based on what I want them to pay?
- Have I tested a 20–30% floor reduction to see what happens to fill and total revenue?
If you haven't run that test, you don't actually know which scenario generates more money. You're guessing, and the data suggests the guess most publishers make is wrong.
What to do about it:
- Shift from static to dynamic floors: Static price floors set against a theoretical CPM target are the primary cause of the floor trap. Dynamic floors calibrated to actual bid data clear more inventory without permanently depressing CPMs.
- Analyze at the demand tier level: Floor pricing that makes sense for your highest-demand traffic segments will destroy fill on your lower-demand segments. Segment your floors by geography, device type, and ad unit.
- Test lower floors on a subset: Run a controlled experiment with right-sized floors on 20% of your inventory. Compare RPS, not just CPM. The fill gain almost always wins.
Related Content:
- How to Right-Size Your Price Floors Without Leaving Money on the Table: A practical framework for calibrating floors to actual demand, not the demand you wish were there.
- Viewability Is Important for RPS, but Chasing Perfect Viewability Isn't Worth It: Where the viewability ceiling kicks in and why optimizing past 80% often costs you more in fill than it earns in CPM.
- The Publisher's Guide to Viewability Optimization: A full breakdown of how to hit the viewability thresholds that actually move revenue without sacrificing fill.
- The Amazon SSP Problem: Why So Many Publishers Have a Structural Revenue Gap: What the Amazon bidder situation actually means for publisher revenue, and why it's not recoverable through floor optimization.
- Session Duration Is a Lie. Page Depth Is the Signal.: Why the metric most publishers track for engagement has almost no correlation with revenue, and what to track instead.
Diagnosis 3: The Demand Breadth Problem
You can have perfectly calibrated floors and strong geographic demand and still have a fill problem if your bidder stack has gaps. The most dramatic example in the current publisher landscape is Amazon.
When Amazon is active and generating revenue on a publisher's site, it accounts for an average of 20.5% of total revenue, with a median of 17.6%. That's roughly one dollar in every five to six earned. When that bidder disappears from the auction, publishers don't lose a marginal percentage point of revenue. They lose a structural pillar.
For many publishers who have lost access to Amazon as a demand source, that gap is the revenue reality they're operating within. No amount of floor optimization closes a 20% hole.
How to tell if demand breadth is your problem:
- Fill rate dropped significantly after a demand partner change or removal.
- Your fill is solid in peak demand periods but falls off sharply in lower-competition windows.
- You're running fewer than six to eight active header bidding partners.
What to do about it:
- Audit your active bidders: How many partners are actively winning impressions? Bidders in your stack that aren't winning aren't helping fill.
- Identify and fill gaps: If Amazon is missing from your setup, the roughly 20% revenue gap that creates is not recoverable through floor optimization alone. It requires a replacement bidder or multiple replacement bidders with comparable demand depth.
- Add demand redundancy: No single bidder should represent more than 15–20% of your revenue without backup. Concentration risk in your demand stack is a business continuity problem.
Next Steps:
- How to Diagnose and Fix Your Fill Rate Problem: A deeper diagnostic walkthrough for publishers ready to work through the specific causes of their fill rate gap.
- How to Increase Impressions Per Pageview Without Hurting User Experience: Practical layout and placement guidance for adding ad density without triggering user experience tradeoffs.
- How to Build a Website Content Architecture That Earns More Ad Revenue: The structural content decisions that drive pageviews per session, one of the most underleveraged monetization levers in the dataset.
- How to Recover Publisher Revenue After Losing Amazon as a Bidder: Concrete steps for closing the demand gap when a structural bidder disappears from your stack.
- Publisher Revenue Optimization by Vertical: How the primary revenue lever differs by content category, and why applying a uniform strategy across verticals actively costs you money.
Diagnosis 4: The Viewability Drag
Viewability correlates with fill rate at r = 0.21 within the same demand tier. That's a real but secondary relationship. The mechanism is straightforward: buyers bid more aggressively on inventory that viewability data confirms will be seen. Low viewability scores reduce bidder competition, which reduces fill.
There's a ceiling effect worth understanding here. Once viewability crosses 80%, incremental improvement doesn't reliably translate to higher fill or higher RPS. The 80–90% viewability bracket actually outperforms the 90%+ bracket on median RPS in Playwire's dataset. Chasing 95% viewability at the expense of fill rate isn't a net positive.
How to tell if viewability is dragging your fill:
- Viewability is consistently below 65–70% across your main placements.
- Your CPMs and Ad Request CPM suggest you're in a solid demand tier, but fill lags peers.
- High-volume placements are positioned far below the fold or in layout positions with high scroll-past rates.
What to do about it:
- Prioritize placement positions: Ads positioned in the upper-middle portion of the viewport, not at the very top where users immediately scroll past, generate the strongest viewability scores. Above the fold but not at the top of the screen.
- Remove low-viewability units before adding new ones: A low-viewability unit dragging your sitewide average down hurts every ad on your site, not just the offending placement. Removing it often lifts RPS across the board.
- Target 70–80%, not 90%+: Once you've hit 80%, the optimization effort compounds poorly against fill rate. Redirect that attention to ad density and demand depth.
Does Fill Rate Optimization Work the Same Way for Every Vertical?
No. This is one of the most important and least-discussed points in fill rate conversations, and most competitor articles ignore it entirely.
Fill rate is the right primary optimization lever for gaming, entertainment, and education publishers. These are inventory volume businesses where impressions per session drive RPS. In gaming, fill rate is essentially uncorrelated with RPS (r = −0.01), but ad density per session drives the revenue outcome. For entertainment publishers, fill rate matters meaningfully (r = 0.51), because geographic diversity in entertainment audiences caps demand pool depth. Top-quartile fill entertainment publishers average 3x the RPS of bottom-quartile fill peers.
For sports, news, and technology publishers, the calculus is different. Sports CPM runs 64% above the gaming average. News carries the highest average CPM of any vertical in Playwire's dataset. These are audience quality businesses. Adding more ad units per page or chasing higher fill doesn't move the revenue needle the way protecting the audience premium does.
A gaming publisher obsessing over CPM improvements is solving the wrong problem. A news publisher obsessing over fill rate is doing the same. The optimization strategy that works in one vertical can actively mislead publishers in another.
See It In Action:
- Gaming Publisher Revenue Guide: Why Ad Density Is Everything: How gaming publishers maximize RPS through inventory volume — and why fill rate is almost entirely the wrong variable to chase.
- Education Publisher Ad Revenue Monetization: The Lesson Loop Advantage: How lesson loop content structures drive page depth and ad density simultaneously, the combination that produces the highest RPS in the dataset.
- Entertainment Publisher Ad Revenue: Why Volume and Geography Define Your Revenue Story: Why fill rate matters more in entertainment than in gaming, and what the top-quartile fill publishers are doing differently.
- News Publisher Ad Revenue Monetization Strategy: When More Ads Won't Save You: Why news publishers can't fill-rate their way to better revenue — and what demand quality optimization actually looks like in practice.
How Fill Rate Interacts With Ad Density and Session Depth
Fill rate doesn't exist in isolation. It interacts directly with two other variables that drive RPS: impressions per pageview and pageviews per session.
Impressions per pageview is the single strongest RPS predictor in Playwire's full dataset (r = 0.59). Impressions per session comes in at r = 0.55. Fill rate's individual correlation of 0.12 is real but operates through the lens of these density metrics. A high fill rate on a page with one ad unit produces far less revenue than a moderate fill rate on a page with five ad units.
The compound effect is worth understanding. Publishers above the median on both page depth and ad density earn 17x more per session than those below on both. Fill rate contributes to that outcome by determining what percentage of those ad unit opportunities actually generate revenue. A density-forward layout with a 60% fill rate will typically outperform a sparse layout with a 90% fill rate.
There's also a fragmentation risk on the other side. The correlation between ad requests per pageview and fill rate runs at r = −0.18. Too many ad units on a single page can fragment demand and reduce fill efficiency. The right answer isn't maximum density without limit. It's the density level at which fill stays efficient.
The Compound Effect: When Multiple Problems Stack
The most damaging fill rate situations aren't caused by a single problem. They're caused by two or three operating simultaneously. A publisher with geographic demand gaps and aggressive floors and low viewability isn't dealing with three separate 20% problems. The compounding effect produces a fill rate that reflects all three working against each other.
The diagnostic sequence matters. Start with geography because it sets the ceiling you're working within. Then assess floors because they're the most common source of self-inflicted fill loss. Then evaluate demand breadth. Viewability comes last because improving it without addressing the first three often produces minimal return.
Fix the ceiling issue before you try to optimize toward it.
How Playwire Addresses Fill Rate at the Stack Level
Fill rate problems at the root cause level require interventions most publishers can't make unilaterally. Dynamic floor pricing calibrated to actual bid data requires infrastructure. Demand breadth across a deep bidder stack with Amazon and dozens of premium partners requires relationships and integration work. Viewability optimization at scale requires ongoing layout testing and the yield ops bandwidth to act on what the data shows.
Playwire's RAMP platform handles all four fill levers as part of a managed monetization stack. Publishers in the ecosystem get unified pricing rules that adjust floors to actual demand, a demand network built for fill depth across geographic tiers, and yield ops teams actively monitoring the signals that predict fill problems before they compound into revenue gaps.
The data in this report reflects what the right setup looks like when all four levers are working. Publishers above the 90% fill threshold earn 5.3x the RPS of those below 40%. That gap is closable. Most of it is caused by diagnosable, fixable problems. The question is whether you have the infrastructure to fix them.
If the answer is no, that's what Playwire is built for.


