Ad Delivery Technology
SSAI (Server-Side Ad Insertion)
Last updated: June 02, 2026
Enveu take
SSAI is non-negotiable for CTV delivery - CSAI failure rates on smart TVs are too high to build reliable ad revenue on. One practical challenge we see often: smaller OTT operators struggle to attract programmatic demand because their impression volumes are too low for most DSPs and SSPs to prioritize. Getting to scale on inventory is as much a business challenge as a technical one.
SSAI (Server-Side Ad Insertion) is an ad delivery method where ads are spliced into the video stream at the server level — before the stream reaches the viewer's device. Unlike client-side ad insertion (CSAI), the player receives a single continuous stream with ads already embedded, making SSAI immune to ad blockers, eliminating buffering at ad breaks, and enabling seamless viewing experiences across all devices including connected TVs where CSAI is unreliable.
Ads stitched server-side
Ad blocker immune
No buffering at breaks
Single continuous stream
CTV-friendly
Where it fits in OTT stack
Live Encoder / VOD Asset
SSAI / Ad Stitching Layer
Ad Server (VAST/VMAP)
Packager (HLS/DASH)
CDN Edge
Device Playback
How it works
- The live encoder outputs SCTE-35 ad break markers in the stream (live) or VMAP ad break timestamps are defined (VOD).
- The viewer's player requests the stream manifest from the SSAI layer rather than directly from the CDN.
- At each ad break point, the SSAI service makes a real-time VAST ad call to the ad server — passing targeting signals (device, geography, content metadata).
- The ad server returns the winning ad creative URL — programmatic auction or direct-sold depending on demand configuration.
- The SSAI layer fetches the ad creative, transcodes it to match the content stream's bitrate ladder and segment duration.
- The packager stitches ad segments into the HLS/DASH manifest — rewriting segment URLs to include ad content at break points.
- The player receives a single continuous manifest with ads embedded — it plays without any client-side ad loading or buffering between segments.
- Server-side tracking pixels fire for impression, quartile, and completion events — reliably across all device types.
Key components
- SSAI / ad stitching service — the core layer that intercepts manifest requests and orchestrates ad insertion
- SCTE-35 marker support — live encoder must output ad break cue markers for the SSAI layer to detect break points
- VAST/VMAP integration — ad server connection for real-time ad decisioning at each break opportunity
- Ad creative transcoding — ad assets must be transcoded to match content stream bitrate and segment format
- Manifest rewriter — rewrites HLS/DASH manifests to include ad segment URLs at break points
- Slate management — fallback video content served when ad fill rate is below 100% to avoid blank breaks
- Server-side tracking — impression, quartile, and completion events fired server-side for reliable measurement
Performance impact
- Ad blocker immunity — ads delivered as video segments are indistinguishable from content at the network level
- Zero buffering at ad breaks — no client-side ad loading latency between content and ad segments
- Reliable CTV delivery — SSAI works on all devices without JavaScript or client-side ad SDK requirements
- Improved ad completion rates — seamless transitions reduce viewer drop-off at ad breaks vs CSAI
- Reliable impression tracking — server-side firing eliminates the measurement gaps common with CSAI on CTV
- Higher fill rates — programmatic demand partners receive clean VAST signals improving auction participation
Common issues
- Ad creative format mismatch — ad assets not transcoded to match content bitrate ladder cause quality jumps at break transitions
- SCTE-35 marker misconfiguration — incorrect or missing markers in live encoder output cause SSAI to miss break opportunities
- Slate gaps — unfilled ad breaks show blank or looping slate if fallback content is not properly configured
- Manifest caching conflicts — CDN caching of rewritten manifests can cause ad segments to be served to wrong viewers if cache keys are not correctly scoped per session
- Tracking discrepancies — server-side pixel firing and ad server reporting must be reconciled carefully to avoid double-counting or missed impressions
- Ad decision latency — slow ad server response at break point causes SSAI to fall back to slate rather than wait for fill
When SSAI is the right choice
- Any AVOD or FAST platform where advertising is a primary revenue stream — SSAI is the standard delivery mechanism
- Connected TV and smart TV delivery where CSAI is unreliable or unsupported
- Live streaming with scheduled ad breaks — SSAI with SCTE-35 markers is the only reliable live ad delivery approach
- Platforms with significant ad blocker exposure on web and mobile audiences
- Any platform requiring reliable server-side impression and completion tracking across all device types
- Programmatic advertising at scale — SSAI provides clean VAST signals required for SSP and DSP integrations
Signals your ad delivery needs SSAI
- High ad break failure or blank slate rates on CTV and smart TV devices
- Significant ad blocker impact reducing web and mobile fill rates
- Buffering or quality drops at ad break transitions causing viewer drop-off
- Unreliable impression tracking across device types
- Programmatic demand partners flagging low VAST compliance or signal quality
- Ad revenue not scaling proportionally with audience growth
Real-world example
A FAST channel platform migrating from CSAI to SSAI to fix CTV ad delivery
A FAST channel operator running 12 linear channels across web, mobile, and connected TV was seeing significant ad revenue leakage. CTV devices — their fastest-growing audience segment — were showing high ad break failure rates and blank slate instead of ads.
Challenge
- CSAI ad calls from smart TVs and CTV devices were failing silently — 34% of ad breaks showed blank slate.
- Ad blockers on web and mobile were blocking 28% of CSAI ad calls, directly reducing fill rate.
- Buffering spikes at ad break transitions were causing viewer drop-off — completion rates fell at every ad break.
- No server-side tracking — ad impression and completion events were unreliable across device types.
- Programmatic demand partners required VAST compliance that the existing CSAI setup did not fully support.
Action taken
- Migrated all 12 channels from CSAI to SSAI using a cloud-based ad stitching service.
- Configured SCTE-35 ad markers in the live encoder output to signal ad break opportunities to the SSAI layer.
- Set up server-side VAST/VMAP ad calls — ad decisions made at the server before stitching into the stream.
- Implemented slate management — fallback content served when ad fill rate dropped below 100%.
- Enabled server-side impression and completion tracking — reliable across all device types.
Outcome
CTV ad break failure rate dropped from 34% to under 2%. Ad blocker impact eliminated entirely — server-side delivery bypasses all client-side blocking. Overall ad revenue increased by 41% within 60 days of SSAI migration. Viewer drop-off at ad breaks reduced by 23% due to elimination of buffering between content and ad segments.
FAQs
What is SSAI in streaming?
SSAI (Server-Side Ad Insertion) is an ad delivery method where ads are stitched into a video stream at the server level before it reaches the viewer's device. The player receives a single continuous stream with ads embedded as regular video segments — making SSAI immune to ad blockers and eliminating buffering at ad breaks.
What is the difference between SSAI and CSAI?
SSAI stitches ads into the stream server-side — the player has no knowledge of ad boundaries and cannot be blocked. CSAI (Client-Side Ad Insertion) makes ad calls from the player — ads are loaded separately on the device, making them vulnerable to ad blockers and causing buffering at ad break transitions. SSAI is more reliable across devices, especially connected TVs, while CSAI offers more flexibility for interactive ad formats on web.
How does SSAI work technically?
When a viewer starts a stream, the SSAI layer intercepts the manifest request. At scheduled ad break points (signaled by SCTE-35 markers in live streams or VMAP in VOD), the SSAI service makes a real-time ad decision via a VAST call to the ad server, fetches the winning ad creative, transcodes it to match the content stream's bitrate and format, and stitches it into the HLS or DASH manifest. The player receives a rewritten manifest with ad segments included — it plays the stream continuously without any client-side ad loading.
Does SSAI work on connected TV?
Yes — SSAI is specifically designed to work reliably on connected TV devices where CSAI is unreliable. CTV devices have inconsistent JavaScript support and limited ability to make client-side ad calls, which causes high CSAI failure rates. SSAI bypasses all client-side ad loading — the CTV player simply receives and plays a continuous stream, making SSAI the standard approach for CTV ad delivery.
What is SCTE-35 in SSAI?
SCTE-35 is a standard for embedding ad break cue markers in live video streams. In an SSAI setup, the live encoder inserts SCTE-35 markers at the points where ad breaks should occur. The SSAI service reads these markers, triggers an ad decision at the break point, and stitches the ad content into the stream at exactly the right moment.