What Is Fill Rate and eCPM in Programmatic Advertising?
Fill rate and eCPM explained in plain terms, how each is calculated, why they need to be read together, and what healthy benchmarks look like for publishers.
Fill rate and eCPM are two of the first metrics any publisher runs into when they start monetizing with programmatic advertising, and they're also two of the most commonly misread. Each tells you something different about how your inventory is performing, and neither one gives you the full picture on its own. Understanding both, and how they relate to each other, is the foundation for making sense of pretty much every other monetization decision.
What Fill Rate Actually Is
Fill rate measures how many of your ad requests actually got an ad back. It's expressed as a percentage:
Fill Rate = (Ads Served ÷ Ad Requests) × 100
If your site sends out 10,000 ad requests and 6,000 of them come back with an actual ad to display, your fill rate is 60%. The remaining 40% are impressions where no ad was returned at all, meaning that ad slot either showed nothing, a default placeholder, or a backup creative.
What fill rate tells you: How reliably your demand sources are actually filling the inventory you're offering them.
What fill rate doesn't tell you: Anything about how much those filled impressions are actually worth. A slot can fill 100% of the time with very low paying ads and still underperform a slot that fills less often but with much higher value demand.
What eCPM Actually Is
eCPM stands for effective cost per mille, mille being the Latin root for thousand. It represents your effective revenue per one thousand impressions, and it's calculated as:
eCPM = (Total Revenue ÷ Total Impressions) × 1,000
If a set of ad requests generated 50 dollars in total revenue across 10,000 impressions, the eCPM is 5 dollars. The "effective" part of the name matters, eCPM isn't necessarily what any single ad actually paid, it's a blended, normalized rate that lets you compare revenue performance across different ad units, pricing models, and demand sources on a consistent, per thousand basis.
What eCPM tells you: How much revenue your inventory is actually generating, normalized in a way that's comparable across different placements and demand sources.
What eCPM doesn't tell you: Anything about how much of your total available inventory is actually being monetized in the first place.
Why You Need to Look at Both Together
This is the part that trips a lot of publishers up: fill rate and eCPM can each look healthy in isolation while the underlying performance is actually weak, because they're measuring two different things entirely.
High fill rate, low eCPM. This pattern often shows up when inventory is being filled reliably but with low value demand, a generic backup network, an aggressive but cheap fallback source, or a price floor set too low relative to actual demand. The slot is technically always filled, but it's not earning much per impression.
Low fill rate, high eCPM. This pattern can show up when price floors are set high relative to available demand, meaning fewer impressions clear the bar, but the ones that do pay well. Total revenue can still end up lower than a more balanced setup, since a large share of inventory is going completely unmonetized.
The metric that actually matters most for revenue is the combination of the two, which is why total revenue, or revenue per session, tends to be a more reliable single number to track than either fill rate or eCPM in isolation.
A Simple Way to Think About the Relationship
Fill rate tells you how much of your inventory is being used at all. eCPM tells you how well the inventory that is being used is actually being priced. A publisher optimizing for genuine revenue growth needs to look at both together, since improving one without regard for the other can easily leave total revenue flat, or even make it worse.
What Affects Fill Rate
- Price floors set too high relative to real demand
- Limited demand partner coverage for specific traffic segments or geographies
- Overly aggressive timeout settings that drop slower but valid bids
- Weak or outdated fallback logic for inventory primary demand passes on
What Affects eCPM
- Ad placement and viewability, since low viewability inventory tends to earn less over time as advertiser bidding increasingly factors this in
- Traffic quality and geography, since demand density and advertiser budgets vary significantly by region
- Ad format, video and native formats often command different eCPM ranges than standard display
- How much real, simultaneous competition exists for each impression, since more competitive bidding tends to push effective price upward
Why Remnant Inventory Specifically Needs Both Metrics Watched Closely
Remnant inventory, the impressions a publisher's primary demand has already passed on, is a place where the gap between fill rate and eCPM shows up especially clearly. A static, historically ranked fallback waterfall often produces low fill rate, since it doesn't adapt to live demand the way real time evaluation does. Fixing that with a low, blanket price floor can push fill rate up, but often at the cost of eCPM, since it doesn't distinguish between impressions that would have paid more and those that wouldn't have. Real time, per impression demand evaluation is specifically designed to avoid this tradeoff, since it evaluates the actual best available price for each individual impression rather than applying one static rule across the board.
Frequently Asked Questions
Is a higher fill rate always better?
Not on its own. A high fill rate achieved by accepting very low value demand can actually reduce total revenue compared to a more selective setup with a slightly lower fill rate but meaningfully higher eCPM.
What's considered a good eCPM?
This varies enormously by content category, geography, ad format, and traffic quality, so there's no single universal benchmark. It's more useful to track your own eCPM trend over time and by segment than to compare against a generic industry average.
Which metric should I prioritize improving first?
It depends on which one is currently the bigger constraint. If fill rate is very low, meaningful inventory is going completely unmonetized, which is often the larger opportunity. If fill rate is already reasonably strong but eCPM is weak, the focus should shift toward improving demand quality and competition rather than filling more impressions.
Key Takeaways
- Fill rate measures how many ad requests actually returned an ad; eCPM measures effective revenue per thousand impressions.
- Neither metric alone tells the full story, a slot can have strong fill rate and weak eCPM, or the reverse.
- Total revenue, or revenue per session, is generally a more reliable single indicator of actual performance than either metric in isolation.
- Remnant inventory is especially prone to the fill rate versus eCPM tradeoff, which real time, per impression demand evaluation is specifically designed to avoid.