Every major DAI (dynamic ad insertion) vendor assumes a listener on stable broadband or 4G, a device that reliably reports its own identifiers, and a household that maps roughly one-to-one with one listener. None of those assumptions hold reliably across our network, so we ended up building our own server rather than licensing one.
The assumptions that broke
Western DAI platforms are optimized for markets where connectivity is a solved problem. On our network, a meaningful share of listeners are on 3G, data costs are a real constraint on session length, and it's common for a single SIM — and therefore a single set of ad identifiers — to be shared across a household. A DAI system built around the assumption of one-device-one-listener over-frequency-caps some households and under-delivers to others.
What we built differently
- Aggressive, bandwidth-aware ad pod sizing. Rather than a fixed pod length, our server adjusts insertion length based on observed connection quality, trading a slightly less "premium" ad experience for a session that doesn't buffer or drop.
- Household-aware frequency capping. Instead of capping strictly per device identifier, we layer in signal from shared-SIM patterns common across our markets, so the same household isn't hit with the same spot ten times in a session.
- Graceful degradation, not failure. When a listener's connection can't sustain server-side insertion cleanly, the player falls back to a lighter-weight client-side approach rather than failing the ad call entirely — which matters a lot when the difference is real revenue versus a silent drop.
The tradeoff we accepted
Building this ourselves meant slower time-to-market on the player and ongoing maintenance overhead a licensed platform would have absorbed. We think it was the right call: DAI vendors built for US and European connectivity profiles simply don't clear reliably here, and "reliably clears" is the entire point of the exercise.