Learning Center

How to Diagnose and Fix Your Fill Rate Problem

May 5, 2026

Show Editorial Policy

shield-icon-2

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.

How to Diagnose and Fix Your Fill Rate Problem
Ready to be powered by Playwire?

Maximize your ad revenue today!

Apply Now

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.

2026 State of Publisher Ad Revenue

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 Impact

Fill rate: the most underrated revenue lever

The 40% wall — and the behavioral drivers publishers can actually pull within their demand tier.

Avg RPS by fill rate bracket
RPS indexed 1–100
Avg RPS
Median RPS
100 75 50 25 0 < 40% 40–60% 60–75% 75–90% 90%+ THE 40% WALL FILL RATE BRACKET RPS INDEX
The 40% wall: Publishers below 40% fill earn less than a quarter of what top-fill publishers earn. The 75–90% bracket even outperforms the 90%+ tier on median RPS.
Behavioral drivers of fill (within same demand tier)
Correlation with fill % — geography held constant
0 0.25 0.50 −0.25 −0.50 Imps / session 0.29 Viewability 0.21 Requests / PV −0.18 CPM (floor proxy) −0.53 CORRELATION WITH FILL %
Geography sets the ceiling (Ad Req CPM r=0.94 with fill). Not a lever publishers pull directly.
Three things you can control: imps/session (r=0.29), viewability (r=0.21), floor pricing (r=−0.53).
Ad request fragmentation hurts fill — fewer, better-placed slots outperform many scattered ones.

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.

New call-to-action

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 CausePrimary SignalFix Type
Geographic demand gapLow Ad Request CPMDemand diversification, geo-aware floors
Floor price trapHigh CPM + low fill in same demand tierFloor recalibration
Demand breadth gapLosing a major bidder (e.g., Amazon)Bidder stack expansion
Viewability dragFill rate below peers with similar CPMAd layout and placement work

Each one requires a different diagnostic lens and a different remediation path.

Essential Background Reading:

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.

Floor Pricing

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).

High floor
Right-sized
CPM ratio (right-sized = 1.0×)
2.5× 1.5× 0.5× 0 1.9× 1.0× High floor Right-sized
Fill rate (right-sized = 1.0×)
2.5× 1.5× 0.5× 0 1.0× 2.0× High floor Right-sized
RPS (right-sized = 1.0×)
1.4× 0.9× 0.4× 0 1.0× 1.19× High floor Right-sized
CPM premium (high floor)
2.5×

Charges more per impression — earns less overall

Fill rate advantage

Right-sized fills twice as much inventory

RPS advantage
+19%

More revenue per session for right-sized publishers

The counterintuitive result: Within the same geographic demand tier, publishers with right-sized floors generate significantly more RPS per session despite CPMs nearly half those of aggressive-floor peers. Fill is so much higher that total inventory value outweighs the per-impression premium. This is the core argument for dynamic, demand-aware floor pricing over static floors.

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:

  1. Is my CPM premium actually generating more RPS than a lower CPM with higher fill would produce?
  2. Are my floors set based on what my actual demand pool will pay, or based on what I want them to pay?
  3. 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:

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:

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:

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.

New call-to-action