How to calculate fill rate
Divide ads returned by ad requests sent, and multiply by 100. A related measure, render rate, divides ads actually played by ads returned; an ad can be returned and still fail to play.
Why requests go unfilled
- No demand for that audience, country or device at that moment
- A price floor set above what buyers will pay
- Frequency caps: the viewer has already seen the available campaigns
- Timeouts: the ad took too long to arrive
- Technical mismatch: wrong format, duration or VAST version
- Missing signals, such as no consent or no app identifier, that buyers require
- Seasonality: budgets are thin in January and heavy before the holidays
How to raise fill
- Add demand sources, with a fallback order when the first has nothing
- Review price floors by region instead of using one global floor
- Pass the content and device information buyers ask for
- Publish app-ads.txt so buyers can verify your sellers
- Use house ads, promoting your own titles or plans, when nothing is sold
Fill and price pull against each other
Lowering the floor fills more slots at lower prices. The aim is the highest revenue per opportunity, which is CPM multiplied by fill, not the highest value of either on its own.
Last reviewed