CSAI (Client-Side Ad Insertion)
The player fetches ads separately from the main content and stitches them together during playback. The CDN serves the same manifest and segments to all users; ad personalization happens in the player.
Full Explanation
With CSAI, the video player is responsible for handling ads entirely on its own. The CDN delivers the same content stream to every single viewer, no per-user manifest manipulation needed. When the player hits an ad break marker in the stream, it pauses content playback, fires off requests to an ad server (typically using VAST or VPAID protocols), downloads and plays the ad creatives, then resumes the main content.
The big win for CDN operators is caching efficiency. Since every viewer gets the identical content stream, cache hit ratios stay high. There is no per-user manifest, no per-user segment stitching, nothing that breaks the "one copy serves everyone" model. The content pipeline stays clean and simple.
The big loss is ad blockers. Because ad requests go to separate domains (ad servers, tracking pixels, VAST endpoints), browser-based ad blockers can trivially block them. For ad-supported streaming services, this directly cuts into revenue. A viewer with an ad blocker gets the content for free without watching any ads.
CSAI is still used in some contexts, particularly for web-based players where simplicity matters, but premium streaming services have largely moved to SSAI (server-side ad insertion) to combat ad blocking. The typical CSAI flow looks like: player fetches manifest from CDN, plays content segments, hits an ad cue point, calls the ad decision server, plays the ad, then returns to content segments.
Examples
Video Explanation
Frequently Asked Questions
The player fetches ads separately from the main content and stitches them together during playback. The CDN serves the same manifest and segments to all users; ad personalization happens in the player.