Fill Rate
Fill rate is the percentage of a publisher's ad requests that actually come back with a paid ad, calculated as ads served divided by requests sent.

Fill rate is the percentage of ad requests a publisher's inventory actually returns a paid ad for. It's calculated as ads served divided by ad requests sent, expressed as a percentage. A fill rate of 100% would mean every single request from an ad server or ad exchange came back with an ad; in practice, most publishers run well below that.
How fill rate is measured#
Every time a page or app loads an ad slot, it sends a request out to whatever demand sources the publisher has configured, direct-sold campaigns, header bidding partners, and open exchange demand through real-time bidding. A request goes unfilled when no bid clears the seller's reserve or floor price, when no eligible campaign targets that user or context, or when there's simply a technical failure, like a timeout, between the request and the response.
Fill rate is tracked per placement, per format, and often per geography, because it varies enormously across all three. A premium desktop placement in a Tier 1 market might fill close to 100% most days; a low-traffic mobile placement in a smaller geo can sit well below that, simply because fewer demand sources bother targeting it.
Why it matters#
Fill rate on its own tells a publisher very little; it has to be read alongside RPM or effective CPM. A publisher can hit near-perfect fill by setting floors so low that almost any bid clears, but that usually means leaving revenue on the table on every impression that would have paid more. The opposite mistake, setting floors aggressively high, protects per-impression revenue but tanks fill rate and leaves inventory unsold, which earns nothing at all. Most revenue operations teams treat fill rate and price as a single tradeoff to tune together, not two separate metrics to each maximize independently.
Low fill rate can also be a signal of something other than pricing: broken ad tags, misconfigured ads.txt entries that block otherwise-willing buyers, or simply too few demand partners connected to a given placement.
Fill rate in native placements#
Native widgets behave a little differently than standard display, since the same feed slot often has multiple recommendation providers competing to fill it, and a widget provider might backfill with house ads or lower-value fallback content rather than leave a visible gap in the feed. If you're trying to understand which advertisers and networks are actually winning that fill on a competitor's site, rather than guessing at their monetization setup, OpenAdLibrary's ad intelligence index shows the live creatives running per publisher and network, which is a more direct read than inferring it from fill-rate reporting alone.
FAQ#
What's a good fill rate?
There's no universal number; it depends heavily on placement, geo, and how aggressively floors are set. A publisher intentionally running high floors to protect revenue per impression will have a lower fill rate than one prioritizing volume, and neither is automatically wrong.
Is a low fill rate always a problem?
Not necessarily. A publisher running high floors deliberately, to protect revenue per filled impression, will show a lower fill rate as a direct consequence, not a mistake. Low fill rate combined with low RPM overall is the actual warning sign.
What's the difference between fill rate and win rate?
Fill rate is measured from the seller's side: the share of requests that returned any paid ad at all. Win rate is measured from the buyer's side: the share of bids a DSP submitted that actually won the impression. They describe the same auctions from opposite ends.
Can a technical issue lower fill rate even when demand exists?
Yes. Timeouts, broken ad tags, and misconfigured ads.txt or supply chain entries can all cause a request to go unfilled even when willing buyers exist. It's worth ruling out technical causes before assuming a pricing problem.






