In digital advertising, fill rate is defined as the number of ads served divided by the total number of ads requested. Written as a formula, it looks like this:
Fill Rate = Ads Served / Ads Requested
Why wouldn’t every ad request be served, making that figure 100% and eliminating the need to discuss it? There are several reasons, but the short version is a lack of ads for a particular user.
Watch our Go For Teal video, What is Fill Rate?
Why would that be the case?
In the world of header bidding, every request for an ad on a site is sold in a real time auction, and not every auction is going to have a valuable user. Let’s take a quick look at how header bidding works:
Why is that the case?
Because in programmatic advertising, advertisers typically look at a combination of things when targeting their audience, the most important being an individual user.
That’s right, not even the website(s) they visit.
Let’s say two people come to your site, one a U.S. desktop user and the other using mobile phone in India. Those two impressions will sell for very different amounts.
On average, programmatic advertisers are willing to spend over ten times as much on users from the United States versus users from India, and nearly twice as much on desktop users as mobile.
At Mediavine, we set floors, or minimum amounts that ads must pay in order to be served. If that auction returns values below the floor, we simply don’t serve the ad.
With our advertisers bidding over twenty times as much for the U.S. Desktop user, that means the U.S. Desktop user is more likely to be above our floor than the mobile user from India and is more likely to get an ad and contribute toward a higher fill rate, while the Indian user is less likely to get an ad, potentially lowering the fill rate.
So why not just lower the floors?
There are companies who do. Some lower their floors to a penny or even $0.00 (!) to guarantee a fill rate of 100%. At Mediavine, we believe 100% fill rate is actually terrible and have previous written extensively on the subject. Our reasoning is simple: If you follow this model, you devalue your ad inventory, allow low quality ads and hurt your user experience for next to no return.
In addition to floors and users being valued differently, fill rate also may fall simply due to running out of ads. Most campaigns have frequency cap, or a limit of the number of times they want to show an ad to a user. As a user sees more and more ads on your site, advertisers will eventually stop bidding.
As such, you can realistically run out of high-paying ads that reach our relatively high floors.
What’s important when evaluating fill rate is to actually look at both the ad unit CPM and fill rate, and therefore calculating an eCPM, or effective CPM. (See our guide to CPMs and eCPMs for the basics on these ad metrics).
In this context, the eCPM is fill rate times CPM:
eCPM = Fill Rate x CPM
For instance, if you have a 90% fill rate, but a $4.00 CPM, your eCPM would be $3.60. Meanwhile, someone else might promise you a $3.00 CPM at 100% fill rate, an obvious pay reduction despite having served every impression.
In short, fill rate, which is the number of ads being served relative to the number of ads requested, is only part of the picture. By weeding out low quality ads, we help preserve your user experience and optimize your earnings at the same time.
Subscribe to the Mediavine Blog
Stay up to date with the latest from Mediavine