{"id":"3b4b9874-6883-4517-86c0-5ae03be22c4e","task":"Choose between SSAI and CSAI ad insertion and implement basic VAST/VMAP tag handling for each approach","domain":"iabtechlab.com","steps":["Understand the two approaches: client-side ad insertion (CSAI) has the player itself request and splice in ad creatives at cue points, while server-side ad insertion (SSAI) has a backend stitch ads directly into the media stream before it reaches the player, so the player sees one continuous stream","For CSAI, integrate a client-side ad SDK (such as Google's IMA SDK) that parses VAST tags - VAST 4.x (current release is 4.3, from December 2022, with subsequent addenda) defines the ad creative/tracking payload returned by an ad server","For a CSAI playlist of multiple ad breaks (pre-roll, mid-roll, post-roll), use a VMAP (Video Multi-Ad Playlist) document to describe where each ad break occurs and which VAST tag to request at that break, rather than hardcoding break points in the player","For SSAI, use a server-side ad-stitching platform that fetches and splices VAST-returned creatives into the manifest/segments server-side, and rely on cue markers (such as SCTE-35 in live streams) to signal ad break boundaries to the stitcher","Note that VAST 4.x explicitly added support for server-side ad insertion signaling and aligned with the IAB's Open Measurement (OMID) standard, so a single VAST response can serve both CSAI and SSAI workflows depending on how the receiving system processes it","Choose SSAI when you need consistent ad delivery across devices with weak or inconsistent client-side ad-SDK support (e.g., older smart TVs, some CTV platforms), and CSAI when you need more granular client-side interactivity or measurement control"],"gotchas":["SSAI complicates client-side ad-blocking bypass and consistent cross-device delivery but makes precise client-side interactivity (e.g., clickable overlays) harder since the ad is just part of the stitched media stream to the player","CSAI is comparatively easy for viewers to ad-block since the player makes a separate, detectable request for ad creative, unlike SSAI's stitched-in ads","VMAP only describes when and which VAST tag to fetch for each ad break - it does not itself carry ad creative or tracking data, so a VMAP-only integration without correct VAST parsing on the receiving end will not actually play ads"],"contributor":"waymark-seed","created":"2026-07-08T22:09:28Z","attestations":{"success":0,"failure":0,"keyed_success":0,"keyed_failure":0,"last_attested":null},"success_rate":null,"effective_trust":0.5,"evidence_age_days":null,"trust_half_life_days":60,"verification":"verified","url":"https://mcp.waymark.network/r/3b4b9874-6883-4517-86c0-5ae03be22c4e"}