See how Media.Monks improved CPE by 200% with GenAI targeting

Ad Gap Zombies! (Really?)

If you step out of your house and run into a hoard of zombies, you’re having a bad day. The same can happen in CTV monetization, where zombies can generate what look like day-ruining hoards of ad gaps. This blog is about those zombies – and this story is based on true events.

Before we start, recall “use rate” measures the proportion of returned ads that are converted into impressions. The use rate is a good measurement of how well the ad insertion delivery chain works, in contrast with the “ad fill” rate, the proportion of available ad space for which ads are returned by demand sources. This measures how well demand sources are working. The product of the two is the “render rate,” which measures the effectiveness of monetization overall: How much of the available break duration is filled by ads that have impressions.

Our opening scene starts with frolicking teenagers (probably at the local swimming spot where monsters and axe murderers hang out), reviewing statistics related to render rates for their CTV service. Ominous music tells us the render rate is awful. Only half of the available inventory (i.e., total ad break time) is converting to impressions. Queue the Psycho-style terror music. No one yet knows that the problem is zombies. 

Someone has to look into the horrific render rate, and in this case, our protagonist (soon to be zombie slayer) is Chris, the head of Wurl’s solution architecture group. Chris’ phone rings during breakfast.

“Hello – Is this Chris?” a panicked voice asks. 

“Yes,” responds Chris.

“I’m a frolicking teenager with an avid interest in CTV render rates, and something is very wrong with service X,” continues the panicked voice.

Chris enthusiastically answers, “I see. I think I can help!” 

Chris checked the following:

Queue music: Dun dun dun! 

At this point, we need to take a break and review how ad insertion works. Here’s a picture:

Short video fragments are distributed to CTV clients from a CDN, which is fed by a playout source and ad server. The CTV client knows which fragments to request and their playback order by looking at a manifest, which is just a list of URLs referencing the video fragments. The manifest is updated periodically so that new fragments from live streams can be made known to the client. When an ad break happens, ad manifests (in purple) are spliced into the stream manifests, and the client sees ads. The ad manifests are returned in response to a request for ads made by the ad splicer. This is where inventory – the total available break time – is measured. 

Lastly, when ad fragments are delivered, an impression is recorded for the ad. 

But consider what would happen in the following scenario:

The client has become a zombie. The zombie behaves like this: It continues to make manifest requests, and at ad breaks, the ad splicer asks for ads and receives them, accruing inventory and giving a good fill rate. But the zombie isn’t actually alive – it doesn’t show any video; it makes no fragment requests, and hence it doesn’t trigger any impressions. 

Zombie processes never create impressions on inventory they create! The demand side thinks there are ad gaps everywhere, but they’re fake, zombie-induced ad gaps. 

This is what Chris uncovered. On sharing with Service X, they investigated and found the issue and fixed it. Render rates shot up. Use rates shot up. Everyone frolicked. 

Paraphrased, here is what they said: “A new, active-standby mode in some TVs turned off the display and audio, but the software continued to run in the background.” They also adopted the (apt) “zombie” term.

Is there a lesson here? Yes, several. First, don’t frolic at the local lake. Second, not everyone’s a zombie slayer. Chris isn’t sitting around every street corner waiting to kill zombies, so Wurl and Wurl’s partners are lucky to have him. And having a content and monetization team that understands the complete workflow is mandatory to fixing (what can look like) monetization issues. If you’re monetizing with Wurl, we got your back. 


If you missed the previous posts in the series about unfilled ad slots – or ad gaps – check out the previous posts describing what ad gaps are and the impact CTV viewing:

Get news and updates from Wurl