A high ad fill rate doesn’t always mean higher revenue and chasing 100% can actually cost you money. Find out what a good fill rate looks like in 2026 and how to balance fill rate, eCPM, and revenue for better monetization.
Publishers often turn to fill rate when trying to define the reason behind a change in monetization. Revenue may fall even though traffic is stable, or a certain GEO may suddenly start performing worse.
This figure needs to be put in perspective. For one traffic source, an 80% fill rate is considered good, while for another it’s a red flag. Another traffic segment may generate less revenue even at 95% fill if the additional impressions are sold cheaply.
If you want to understand the fill rate and its practical implications better, this article is worth reading. It starts with the calculation method and useful 2026 benchmarks. Next, it discusses eCPM and common reasons why ad requests remain unfilled. As a wrap, you’ll get a fill rate optimization checklist for regular monetization audits.
Want to improve your fill rate?
Sign up with HilltopAds and start monetizing more of your website traffic.
What Is Ad Fill Rate?
Ad fill rate is the share of ad requests that result in an ad being returned. You can calculate it using the formula:
Fill Rate = (Filled Ad Requests / Total Ad Requests) × 100
As an example, let’s take a website that sends 100,000 ad requests in one day. The ad network returns an ad for 82,000 of them. If you plug the numbers into the formula above, you’ll get an 82% fill rate for that site: (82,000 / 100,000) × 100 = 82%
Hence, the remaining 18,000 requests were not filled.
As for filled requests, they do not always become impressions. The ad system may return a creative, but something can still prevent the user from seeing it. That may happen when the visitor leaves the page before the ad loads, or the ad tag or script fails.
Thus, publishers should look at filled requests and impressions separately.
Read our article about how to increase your website’s traffic without increasing traffic:
Ad Fill Rate Benchmarks in 2026
Fill rate only makes sense against the traffic behind it. GEO, device, format, niche, audience quality, and current demand can move the number quite a bit, even within the same site. So, it’s safer to treat the ranges below as a reference:
| Fill Rate | What It Means | What to Do |
| 95%+ | Almost all available requests are being filled. | Check eCPM and revenue as well. Very high fill can include lower-priced demand. |
| 80-95% | A healthy range for many publishers. Most requests are monetized. | If revenue is stable, there may be little reason to force the number higher. |
| 70-80% | A noticeable share of inventory remains unfilled. | Break the result down by GEO, device, format, and placement. |
| Below 70% | A large part of the inventory is not finding demand. | Review demand sources, floor prices, traffic quality, formats, and delivery issues. |
Traffic mix can affect fill rate significantly. A US-heavy site may perform very differently from one visited by users from several GEOs. Placement matters as well – units near the top of the page are likely to see higher demand than those placed further down.
Historical data on fill rates can give you more valuable insights. Say, a GEO has stayed at a 75% level over several months and keeps generating consistent revenue. That might be its normal level. However, a sudden decrease from 92% to 80% should alert you much more, despite 80% still being acceptable.
Therefore, publishers should look beyond the percentage figure, taking into account the dynamics and market segments.
Fill Rate vs. eCPM
Looking at fill rate alone can lead to the wrong optimization decision. Take two publishers with the same 1,000 ad requests:
| Scenario | Fill Rate | Impressions | eCPM | Revenue per 1,000 Requests |
| A | 95% | 950 | $1.50 | $1.43 |
| B | 75% | 750 | $4.00 | $3.00 |
Scenario A becomes more appealing when the fill rate is the only measure visible on the screen. Of all 1,000 requests, 950 get an ad. However, the cost becomes the issue here:
- With a $1.50 eCPM, those impressions bring about $1.43.
- In scenario B, 750 requests are filled. Nevertheless, with an eCPM of $4.00, the revenue comes to $3.00.
In the configuration where the fill rate is lower, the revenue is more than twice as high. This is the reason why getting close to 100% fill rates might become quite costly. Reducing the floor price might increase the number of eligible bids, yet their bids might be too low and reduce the average value of the filled ad inventory.
The reverse can happen too. Set the floor too high, and eCPM may improve while too many bids disappear.
There is no reason to optimize either metric in isolation. For website monetization, the better comparison is between the amount of inventory available and the revenue it actually produces.
What Affects Fill Rate and How to Improve It
Low fill rate may have nothing to do with the website itself. In many cases, one element of the inventory causes the main problem. This can be one GEO, one format, or even one placement.
The list below is worth examining before making changes to the monetization strategy as a whole.
GEO and Advertising Demand
Advertiser demand may not be equally distributed across countries. A GEO with many running campaigns will typically have more bids available. In a smaller market, the number of advertisers interested in this traffic will be lower overall.
Monitor the fill rate by country, not only the account average. eCPM and revenue should be checked together with it. A lower fill rate is not always bad, especially when the traffic performs decently. If, however, both fill and revenue prove to be low, another floor, new format, or extra demand should be considered.
Using HilltopAds as an additional ad network can bring more demand for different GEOs and help monetize inventory that otherwise stays unfilled.
Minimum Bids
Minimum bid refers to the lowest price a publisher is ready to accept. By setting it too high, you may lose many suitable ads.
For instance, if most advertisers are bidding from $1.00 to $1.50, but the floor price is set to $2.00, a large portion of demand will be excluded from the auction. The fill rate will drop despite the presence of advertisers.
Lowering the floor price can help to attract these bids and fill requests that would otherwise remain unfilled. However, there is no point in lowering the floor price just to increase the percentage.
Start testing the floor gradually and compare the fill rate along with eCPM and revenue after every adjustment. If more requests are filled, but the revenue remains the same or drops, then it means that the new floor is worse for monetization.
Traffic Quality
Advertisers are more interested in placing a bid on traffic that has a decent chance of delivering good results. Bot traffic, suspicious sources, extremely low engagement, or other similar traffic can make inventory less valuable. This will lead to a smaller number of campaigns being available to such inventory or to advertisers bidding less on it.
A sharp spike in traffic needs to be analyzed if the fill rate has decreased at the same time. The traffic may come from a source that generates many ad calls but attracts little advertiser interest.
Analyze different sources of traffic and identify anomalies before adjusting the ad settings. The problem source may account for a large share of weak inventory, so fixing it can improve the result without lowering floor prices or changing other parts of the monetization strategy.
Ad Formats and Placements
Demand for an ad can depend on the format being offered and its placement. Some ad formats have more advertisers than others. Placement will also be important, as ads placed closer to the content may get more demand than those placed far from the content.
This is why adding more placements does not always increase revenue. It certainly creates more requests, but some of those requests may be difficult to monetize.
Check fill rate by format and placement. If one unit stays far below the rest of the site, look at its eCPM and revenue before deciding what to do with it.
A different format might fit in there better, or you can change its placement. In case one placement gets many requests but does not generate any revenue at all, getting rid of it can make sense.
Technical Problems or Ad Blockers
Not every unfilled request means that advertiser demand is weak. A broken ad tag, slow script, timeout, incorrect setup, browser issue, or ad blocker can interrupt delivery. Problems of this type often appear suddenly after a website update or a change in the ad implementation.
The figures might help to identify the root cause:
- When there is a drop in ad requests, you should see whether the tags are firing and whether there has been a change in traffic.
- When there is no drop in requests but fewer filled requests, you should focus on advertiser demand, floor prices, and ad suitability.
- When filled requests remain the same, but impressions decrease, examine delivery issues such as loading and rendering.
It is advisable to solve such issues before considering any pricing adjustments. Cutting the floor price is useless if the problem is a script failing to load an ad.
Seasonality
Advertiser demand varies throughout the year. Campaigns may spike during holidays, shopping periods, major sports competitions, new product launches, or quarter-end periods. After these campaigns wrap up, competition for inventory might be reduced once again. Fill rate, therefore, could change despite no change made on the side of the publisher.
The simplest way to detect this would be to compare the current period with past months or the same period a year ago. In case such a decrease occurs regularly, it could be a part of the regular seasonality cycle.
It requires closer attention if the dip is significantly larger than before, or if it only affects one particular GEO, device, or placement. Seasonality cannot then explain the entire dip.
For this reason, historical data can also be used to prevent publishers from overreacting to the normal market dynamics.
Read our article about Monetag alternatives:
Fill Rate Optimization Checklist
When doing your next monetization audit, be sure to go through this checklist:
Audit fill rate by segment
Evaluate GEO, device, ad format, and placement separately. The average figure for the entire website can conceal poor results for some inventory.
Compare to previous periods
Look at how the traffic was monetized before. This can help to find out whether the drop is just an anomaly or the fill rate has actually decreased.
Monitor minimum prices
The floor price should be set correctly. Lower bids may still help monetize inventory that otherwise remains unfilled.
Audit demand sources
It is better to diversify them rather than rely on one source. If the main source has no relevant ad, another source may help fill the request.
Audit traffic and ad serving
Evaluate bot traffic, invalid traffic, errors, slow ad loading, and other technical aspects.
Monitor the results after optimization
Evaluate fill rate, eCPM, and revenue. A higher fill rate is useful if monetization improves.

















