Ad Insertion
Monetize VOD and live streams through configurable SSAI and CSAI. Stitch ads server-side for a seamless viewer experience, or hand off to the client SDK for dynamic personalisation.
SSAI for VOD
Server-side stitched ads for on-demand.
SSAI for live
Server-side ads in linear streams.
CSAI fallback
Client-side integration for personalised pods.
Toggle per type
Enable ad modes independently per delivery.
SSAI and CSAI - what actually differs
With client-side ad insertion the player calls the ad server, gets back a VAST response and plays the ad itself, switching away from the content stream. With server-side ad insertion the ads are stitched into the stream before it reaches the device, so the player only ever sees one continuous manifest.
On television that difference is decisive. SSAI is far more robust on Smart TV players, which handle mid-stream source switching poorly, and it is not affected by client-side ad blocking. The trade is complexity: SSAI needs per-session manifest generation, and the tracking beacons that CSAI gets for free have to be fired server-side or relayed to the client.
VAST, VMAP and ad breaks
Ad decisioning is driven by VAST responses from your ad server, with VMAP describing where the breaks sit in an on-demand asset. For live, break opportunities come from SCTE-35 markers in the contribution feed, which is what lets the platform replace a broadcast break with targeted ads.
Pod construction - how many ads per break, maximum duration, competitive separation and frequency capping - happens at the ad server. The platform enforces the slot, requests the pod and stitches or hands off what comes back.
Measurement and creative quality
Advertisers pay against verified impressions, so tracking has to survive stitching. With SSAI the beacons are fired from the server or proxied through the client, and the transcoded ad creative must match the content ladder - same resolutions, same codec, keyframe-aligned - or the join between content and ad becomes visible as a stall or a quality drop.
Creative transcoding is the step most often skipped and the one viewers notice first, because an ad that buffers reads as a broken app rather than a broken ad.
Inside the CMS
Frequently asked questions
- Which ad servers do you integrate with?
- Any VAST/VMAP-compliant ad server, including Google Ad Manager and SpringServe. On Roku, the Roku Advertising Framework is required for advertising channels.
- Do ad blockers affect server-side ads?
- Not in the way they affect client-side ads. Because SSAI delivers one stitched stream, there is no separate ad request for a blocker to intercept.
- Can we run ads only on the free tier?
- Yes. Ad policy is part of the subscription plan, so a free or basic tier can carry ads while paid tiers play ad-free from the same catalogue.