What is server-side ad insertion?
Server-side ad insertion (SSAI), also called ad stitching, is a delivery method in which a server splices ads directly into the video or audio stream, so the player receives one continuous stream instead of fetching ads itself. It is standard on CTV and live streams. OpenRTB 2.6 signals it with Imp.ssai, which says how much of the ad and its tracking runs on the server.
Also called: SSAI, ad stitching, dynamic ad insertion, imp.ssai.
How it works
Imp.ssai defaults to 0, which means unknown. 1 means everything happens on the client, 2 means the server stitches the media while the device still fires the tracking pixels, and 3 means stitching and tracking both happen on the server. Audio also has an older yes-or-no field, Audio.stitched. Buyers read the value to judge how reliable impression and quartile tracking will be.
In SSAI, the stitching server makes the ad request on the viewer's behalf, but the bid request must still describe the viewer's device. Device.ip and Device.ua should carry the device's own address and user agent, passed through from the player, not the server's. When the server fetches VAST or fires trackers, it forwards the device values in headers, and the IAB guidance names headers such as X-Device-IP and X-Device-User-Agent for that purpose.
Pitfalls: datacenter IPs in Device.ip because the server sent its own, which reads as invalid traffic; ssai left at 0 on stitched CTV streams; VPAID or other client-side code returned into a stitched stream, where nothing can execute it; and one server-side request reused for many viewers, which breaks frequency capping.
Read more
Related terms
Every term is in the glossary.