What is the “fulfillment shuffle”? Truthfully, it’s something I just made up — but it is a term that serves to shed light on a real mystery in the mobile advertising space.
In the world of mobile advertising, there are many factors at play, which determine when and how much an app generates in ad revenue. The fulfillment rate refers to the number of ad requests that actually return an ad from a network (e.g. it was “filled”). But it’s not that cut and dry. Ad networks may report fill rate differently. Most networks count a fill when a request actually returns an ad; ah, but here’s the rub, they necessarily pay you on every ad returned.
When a returned ad is displayed to a user and an ad network gives you credit towards revenue, we call that an “impression”, but that too is not standardized. But for purposes of this essay, lets assume an impression is one where an ad is displayed to a user and you got revenue credit for it. So there could be a situation where an ad is returned, but you don't get credited for an impression. There are several reasons, some in your control, some not, why this would be.
The first reason, which you control, is whether or not a user “saw” that ad. One of the great things about mobile technology is that it’s quite a bit more sophisticated than web tech and therefore has the ability to track user behavior much more granularly. One such thing is the ability to know if an ad is actually seen, meaning it’s in the center of your screen, nothing overlaying it, and even how long it is visible. Many ad networks won't give you an impression credit if you don’t show the ad to a user for more than 2 or 3 seconds. This seems reasonable enough, but again, it’s not standardized and many networks won't even tell you how long it needs to be. Truth-be-told, most sales reps and even product people at the big ad networks don't even know themselves. Ask them; but my suggestion is to have an ad display for at least 3 seconds so you'll probably get credit for them.
Next on the list is largely out of your control, it’s the ratio of requests to DAU or MAU. This is a very gray area. Some networks don't even take this into account, but many do. They simply won't give you credit for an ad shown to a user that had some amount of ads already shown to that user in a given period of time. I call this advertising fatigue. It somewhat makes sense; you can't just flash 1000 ads in front a user in split seconds and expect to get credit for them.
Another factor is time between ads. Some ad networks require a minimum number of seconds before another request is made for the same user. And yet another factor tracks uniqueness of ads — in other words, are you showing the same ad to the same person during the same session or in succession? Yes, it’s BS, but some ad networks will return you the exact same ad after making two completely valid ad requests for the same user; but then not pay you for it, just because it’s the same creative, that we have no control over. Yup, it’s like that sometimes.
Then there’s the straight secret sauce, and they all have some. They just wont share exactly why they will or won’t fill an ad or count it as an impression.
Finally, there’s the all-to-common, shabby code scenario. Yes, even some of the biggest providers have this issue. The shit just don't work right. We've identified such issues on more than one occasion leading to a big “thanks for finding that bug, we'll get to fixing that right away.”
So you can start to see the picture and it’s very very complex. If you want to maximize returns, you have to factor every little detail I've described here into your advertising tech, and you have to do it independently for each network.
Assuming that every provider handles it the same is… well, you know what they say about assumptions.
This is the fulfillment shuffle as I see it; and it’s always changing. It’s no surprise why only the largest apps can even begin to take the time to address all this.
If you like this essay, please consider recommending it by clicking the little heart at the bottom. And please follow me to get notified when I post something new. To learn more about how my company Affinity Networks is helping apps maximize advertising revenue, or to connect your app with the Talkchain chat platform, please visit http://afty.co.