Skip to content
▶Vidiyo
FeedWatchTV guideFor creatorsPricingSupport
DevelopersAbout
Watch nowWatch
  1. Learn
  2. Technical
  3. What Is SSAI? Server-Side Ad Insertion Explained
Technical

What Is SSAI? Server-Side Ad Insertion Explained

A plain-English explanation of Server-Side Ad Insertion (SSAI) for FAST channel operators — how it works, why it matters for TV distribution, the difference between SSAI and client-side ad insertion, and what you need to set it up.

By David NaffisMay 22, 202610 min read
Editorial photo for: What Is SSAI? Server-Side Ad Insertion Explained

Server-Side Ad Insertion (SSAI) is how ads get into FAST channels. If you're running a linear streaming channel, SSAI is the technology that replaces content segments with ad segments in your HLS stream, creating a seamless viewing experience where ads flow into programming without buffering or black frames.

Detail view for article: What Is SSAI? Server-Side Ad Insertion Explained

Understanding SSAI is essential for any FAST channel operator. It affects your ad revenue, your viewer experience, and what you need to set up.


The problem SSAI solves

Traditional web video advertising uses client-side ad insertion (CSAI): the video player pauses, loads an ad from a third-party ad server, plays it, then resumes the content. This is how YouTube, Hulu's web app, and most browser-based video players work.

CSAI has several problems for TV distribution:

  1. Ad blockers. Browser-based ad blockers trivially block CSAI ads — they just filter the separate ad server request. Ad blocker adoption has reached 40%+ on desktop.

  2. TV platforms can't run ad SDKs. Roku, Fire TV, and Apple TV run closed operating systems. You can't install an ad blocker or a JavaScript ad SDK on them. But you also can't use CSAI because it requires JavaScript running in the browser.

  3. Buffering. The pause-load-resume pattern creates buffering artifacts that frustrate viewers on slow connections.

SSAI solves all three by moving ad insertion from the client (browser/player) to the server.


How SSAI works

With SSAI, the ad is stitched into the video stream before it reaches the viewer's device. From the player's perspective, there's no difference between an ad segment and a content segment — it's all one continuous HLS stream.

Supporting editorial photo for: What Is SSAI? Server-Side Ad Insertion Explained

Here's the sequence:

  1. A viewer starts watching your channel. The SSAI server (provided by your FAST platform) intercepts the HLS manifest request.

  2. The SSAI server checks for an upcoming ad break (triggered by SCTE-35 cue markers embedded in your stream's manifest).

  3. The server calls your ad tag URL (a VAST endpoint from your ad server — typically Google Ad Manager).

  4. The ad server returns a VAST response with one or more ad video URLs.

  5. The SSAI server fetches the ad media, transcodes it to match the content's bitrate ladder, and stitches the ad segments into the HLS manifest in place of the content segments.

  6. The viewer's player receives the manifest and plays the ad as if it were regular content.

  7. The SSAI server fires impression beacons back to the ad server to confirm viewership.


SCTE-35 cue markers

SCTE-35 is a broadcast standard for signaling ad break opportunities in a video stream. When you want an ad break at a specific point in your FAST channel, you insert a SCTE-35 cue-out marker at that timecode in your manifest. The SSAI system watches for these markers and triggers the ad decision process.

For FAST channels, your playout engine (not you manually) inserts SCTE-35 markers on a schedule. You configure how often ad breaks happen and how long they run — typically 2-4 breaks per hour, 2-4 minutes each.

SSAI platforms handle the SCTE-35 detection automatically. You don't need to manually encode markers into your source files.


VAST and VMAP ad tags

VAST (Video Ad Serving Template) is the XML-based standard that ad servers use to communicate ad decisions to players and SSAI systems. Your ad server (Google Ad Manager, FreeWheel, Magnite, etc.) gives you a VAST tag URL that looks like:

https://pubads.g.doubleclick.net/gampad/ads?iu=/your-network/your-ad-unit&...

You configure this URL in your FAST platform's monetization settings. The SSAI server calls this URL each time it needs to fill an ad break.

VMAP (Video Multiple Ad Playlist) is an extension of VAST that defines an entire session's ad schedule upfront — when breaks should happen, how long they should be, and what ads should play. VMAP is useful for FAST because it lets the ad server control the ad schedule rather than having to call for each break individually.


Ad fill rate

Fill rate is the percentage of ad break opportunities that are actually filled with paid ads. A 70% fill rate means 30% of your ad breaks run house ads, backfill, or nothing.

Fill rates depend on:

  • Audience size. Small audiences have lower demand, lower fill rates.
  • Targeting data. Better demographic and geographic data gets better fills.
  • Content category. News, sports, and cooking channels command better CPMs and higher fill rates than niche categories.
  • Time of day. Primetime (8-11 PM) has higher demand than overnight.
  • Geography. US audiences get the highest CPMs. UK is second. Most other markets are significantly lower.

New channels with small US audiences should expect 20-50% fill rates initially. As the channel grows, fill rates improve.


CPM ranges for FAST

FAST CPMs (cost per thousand ad impressions) vary widely:

MarketTypical CPM range
US primetime, sports/news$15–$40
US general, all dayparts$8–$20
UK$5–$15
Canada, Australia$4–$12
Other$1–$5

These are gross CPMs — what advertisers pay. After platform revenue share, you typically receive 50-70% of gross CPMs depending on your arrangement.


What you need to set up SSAI on Vidiyo

Vidiyo handles all the SSAI infrastructure. What you need to provide:

  1. A VAST ad tag URL. Get this from your ad server. If you don't have an ad server yet, Vidiyo can backfill through its ad network while you set one up.

  2. Monetization settings. Configure how many ad breaks per hour and the break duration in your channel settings.

That's it. Vidiyo's playout engine handles SCTE-35 insertion, the SSAI stitching, and beacon firing.


SSAI vs. CSAI comparison

SSAICSAI
Ad blockersBypassed (ads are in the stream)Blocked
TV platform supportYesLimited or no
BufferingNo (seamless stitch)Yes (load pause)
TargetingSession-level (less granular)User-level (more granular)
Setup complexityPlatform handles itRequires SDK integration
Works on RokuYesLimited

For FAST channels on TV platforms, SSAI is not a choice — it's the only viable approach.


Official references

  • IAB Digital Video Ad Serving Template (VAST): iabtechlab.com
  • Launch on Vidiyo instead of applying platform-by-platform: start creating
  • Related: FAST distribution platforms

What's next

  • FAST channel monetization
  • Ad fill optimization
  • How to schedule a 24/7 FAST channel
  • FAST channel glossary: every term defined
Written by
David Naffis

Founder, Vidiyo

Founder of Vidiyo. Writes about FAST channels, free live TV, and creator distribution.

More from David →
SharePost on XLinkedIn
← Newer guideHow to Start a Roku Channel

Ready to launch your TV channel?

Vidiyo handles HLS playout, SSAI, EPG, and cross-platform distribution so you can focus on programming.

Start creating, freeSee how it works →

More in Technical

HLS vs DASH: Which Streaming Protocol Should You Use?

HLS vs DASH: both stream video in small chunks over HTTP. Compare device support, latency, and DRM, and see why FAST platforms ship HLS first in practice.

6 min read →
What Is an EPG? Electronic Program Guides, Explained

What is an EPG? An electronic program guide lists what airs on each channel and when. Learn how EPG data flows via XMLTV and why it drives discoverability.

6 min read →
What Is SCTE-35? Ad Break Signaling in Streams, Explained

What is SCTE-35? SCTE-35 is the standard for signaling ad breaks inside a video stream. Learn how splice markers work and how SSAI uses them to insert ads.

6 min read →

In this article

  • The problem SSAI solves
  • How SSAI works
  • SCTE-35 cue markers
  • VAST and VMAP ad tags
  • Ad fill rate
  • CPM ranges for FAST
  • What you need to set up SSAI on Vidiyo
  • SSAI vs. CSAI comparison
  • Official references
  • What's next
← More technical← All guides
▶Vidiyo

Your own TV channel. Free, on every screen.

Product

  • Watch
  • Feed
  • TV guide
  • For creators
  • Pricing
  • Apps
  • Support

Resources

  • Learn
  • Signal
  • Tools
  • Compare
  • About
  • RSS feed

Developers

  • Overview
  • REST API
  • MCP server

Legal

  • Terms
  • Privacy
  • Cookies
  • DMCA
  • Creator agreement
  • Trust & Safety
Get the app
  • iPhone & iPad
  • Android
  • Roku
  • Fire TV
  • Apple TV
© 2026 Vidiyo. Made for creators, everywhere.