This article was written by Jan Ozer, an independent streaming media analyst, and published in partnership with Dolby OptiView. Images are provided by Dolby OptiView for reference.
Introduction
Ad insertion is often viewed as a technical choice, but in practice, it’s a business decision. The architecture you choose determines not just how ads play but what they cost to deliver and how much they earn. Like any investment, the choice should be guided by return on investment and total cost of ownership.
The best solution is not the one that simply works, but the one that delivers the highest margin per impression across live, VOD, and live-to-DVR workflows. This enables publishers to fully realize the value in their content investments, whether for live sports, concerts, or other events.
The Economics of Ad Insertion
Ad insertion architecture affects both sides of the streaming business equation: cost and revenue. Each technology determines what infrastructure must scale, how flexible ad delivery can be, and how efficiently impressions convert into income. Costs scale with compute, storage, and operational complexity, so manifest rewriting, transcoding, and player logic all add overhead.
On the revenue side, the main levers are personalization, ad blocking, measurement accuracy, ad format flexibility, and playback quality. These effects vary across workflows: live streams demand real-time coordination at scale, VOD emphasizes efficiency and predictability, and live-to-DVR combines the challenges of both.
To support this analysis, I rated each technology from low to very high for eCPM, fill rate, and match rate, along with the total cost of ownership (TCO). I posted a list of sources at the end of the article that I consulted when developing these comparative ratings.
To be clear, none of these sources provides comparison rating across CSAI, SSAI, and SGAI, but together they establish clear directional trends: SSAI carries the highest infrastructure cost and the weakest personalization efficiency; CSAI delivers the lowest cost but the lowest yield, largely due to blocking and playback variability; and SGAI is emerging as the hybrid model that combines lower delivery cost with higher ad efficiency and greater revenue potential through personalization and flexible ad formats. Actual results will obviously vary by deployment and content type.
Client-Side Ad Insertion (CSAI)
In CSAI, the player handles all ad logic locally. When the player reaches an ad break, it sends a VAST or VMAP request to the ad server, receives the creative, and inserts it into playback. Most services rely on mature SDKs such as Google IM A or Dolby OptiView Player to manage these functions consistently across platforms, simplifying operation on the multiple platforms used by viewers.
Cost
Because ad decisioning and playback occur on the client, CSAI has the lowest total cost of ownership. Unlike SSAI, there is no stitcher to scale, and CDNs can cache static content efficiently. Operational expenses are primarily associated with maintaining player integrations and managing SDK updates across various device ecosystems.
Revenue
CSAI can achieve strong CPMs through granular targeting since the player has direct access to user and device metadata. However, ad blocking remains a concern on browsers and mobile, though largely irrelevant on connected TVs.
Otherwise, the main limitation is economic. Because each player operates independently, ad delivery cannot be coordinated or optimized across viewers, limiting yield and real-time campaign control. This is a gap SGAI closes by letting the server guide, rather than dictate, those same decisions.
Quality of experience
Playback quality in CSAI depends on the player SDK and network conditions rather than server behavior. Mature client frameworks manage prefetching and buffering well enough that most transitions appear seamless. Minor variations remain across devices, especially low-power TVs, which may take longer to resume content.
Because ad assets often use limited bitrates or single renditions, they can produce visible quality drops during playback. Midrolls may cause short pauses if ad decisions take longer than expected or if creatives arrive from different CDNs. These interruptions are rare but measurable in ad completion metrics. Overall, CSAI delivers acceptable QoE on most modern platforms, but variability across devices and networks remains its main weakness compared to SSAI and SGAI.
Live, VOD, and Live-to-DVR
CSAI works well for VOD but struggles with concurrency in live workflows, where millions of simultaneous ad calls can overload ad servers or desynchronize pods. Live-to-DVR adds complexity, as scrubbing or joining late may trigger redundant ad requests or mismatched breaks, increasing latency and server load.
On the positive side, CSAI supports fully dynamic ad replacement for DVR playback, since each break is resolved at the moment of viewing. This allows fresh, targeted ads long after the event ends, though at the cost of additional decisioning load and less predictable delivery timing.
Typical CSAI performance metrics
| Metric | Rating |
|---|---|
| eCPM | Low |
| Fill rate | Moderate |
| Match rate | Moderate |
| TCO | Low |
Bottom line
Client decisioning keeps backend cost low and enables accurate beaconing from the player, strengthening verification and supporting higher CPMs, which can be reduce by ad blocking on computers and mobile. However, because each player acts independently, ad delivery cannot be coordinated or optimized across sessions, limiting total yield.
Server-Side Ad Insertion (SSAI)
In SSAI, a cloud-based stitching server combines the content and ad streams before delivery. The stitcher watches for ad break signals such as SCTE-35 or program-date-time. At each break, it requests decisions from the ad server, validates that the returned creatives are playable, and rewrites the manifest to reference ad segments in the right order and duration. If the stream isn’t playable, the server transcodes it into a compatible format.
This schema smooths content-to-ad transitions and reduces the load on the player, which doesn’t need to handle any custom ad logic or beacons. However, playback can still vary across devices, particularly older smart TVs or streams switching between protected and unprotected content.
In addition, each stitched manifest differs by session because ad selections, playlist offsets, and tracking URLs vary. That uniqueness limits CDN caching and requires the stitcher to maintain session state for each viewer, tracking manifest versions, ad selections, and playback position throughout the session.
Cost
SSAI carries the highest operating cost of the three models. The stitcher must generate and update manifests for every active session. To avoid playback stalls, most systems prefetch ad decisions and assets before each break, even if those ads are never viewed. That safety margin multiplies compute load and ad-server calls, further increasing cost. Unique manifests also defeat CDN cache efficiency, resulting in more origin traffic and higher egress.
For long events with DVR windows, each viewer’s manifest grows as more breaks are added, which increases IO and storage churn. The platform still incurs the cost of ad decisioning and manifest generation for viewers who leave early or seek past a break. Many ads are requested and reserved but never played, which lowers the rendered-to-requested ratio and raises the effective cost per delivered impression.
Revenue
SSAI improves completion and viewability because ads arrive as part of the main stream. That lifts baseline CPMs. However, personalization is limited because the player is not in the decision loop. The stitcher can pass coarse context such as geo or device type, but rich behavioral signals are hard to use without custom development. This lack of personalization creates a ceiling on ad CPMs.
Because ads are part of the main video stream, traditional full replacement pods work well. Complex client-driven experiences such as squeeze back, double box, or interactive overlays also require custom development.
Measurement is weaker because beacons fire from the server, not the player, making it difficult to confirm viewability or interaction, reducing CPMs. SSAI is resilient against browser ad blockers, but that protection does not offset the personalization ceiling on large CTV audiences.
Live, VOD, and live-to-DVR
In live events, SSAI delivers broadcast quality but the highest cost. VOD simplifies packaging but again limits personalization. Live-to-DVR is the hardest to scale, as each offset requires a separate manifest state. Dynamic ads for DVR playback are rarely available. The stitched asset already contains the ads selected during the live event. Replacing those ads later requires restitching per viewer, which is expensive and uncommon.
Quality of experience
As mentioned, startups and transitions are consistent because the player sees one stream. Midroll switches are seamless on most devices, though ads are often encoded differently than the program feed, which can create visible shifts in sharpness, color, or audio level.
In addition, fixed-duration ad pods force the stitcher to fill time precisely. When available ads don’t match the slot, SSAI must pad or truncate the break, reducing both yield and viewer experience.
Typical SSAI performance metrics
| Metric | Rating |
|---|---|
| eCPM | Medium |
| Fill rate | High |
| Match rate | High |
| TCO | Very High |
Bottom line
Unique manifests increase server load, defeat CDN caching and increase egress, driving up delivery costs. Server-side beaconing weakens verification confidence and can reduce CPMs, as does the lack of personalization without custom programming. Prefetching adds further compute expense and lowers the ratio of rendered-to-requested impressions.

Server-Guided Ad Insertion (SGAI)
SGAI distributes responsibilities between server and player. Specifically, the server marks ad breaks in the manifest using SCTE-35 or program-date-time cues and may insert HLS Interstitials or DASH Events for metadata. When the player reaches a cue, it contacts the ad server directly, passing contextual and behavioral data such as device type, location, or session ID. The ad server responds with a preconditioned adaptive stream that already matches the program’s encoding ladder and GOP structure. The player switches seamlessly to this ad stream, plays it, and then resumes the main content.
Because the player interprets the ad markers directly, a single generic manifest can serve all viewers. The server no longer needs to generate or maintain a unique playlist for each session. This avoids the per-viewer restitching required by SSAI, reducing compute, I/O, and storage while restoring CDN cache efficiency.
A signaling service (basically a lightweight coordinator) watches stream cues and pre-notifies the ad-decisioning system that a break is coming soon. This allows the ad server to warm caches, prefetch candidate ads, or scale capacity before millions of player requests arrive a few seconds later. When the break actually hits, each player still makes its own call, but the backend is already prepared to handle that burst.
For DVR or on-demand playback, the signaling service is no longer active in real time. Instead, the player reads stored ad cues directly from the manifest and triggers new ad requests against current campaigns. The ad server returns creatives already conditioned to match the content ladder and GOP cadence, so transitions remain consistent even months after the live event.
For reporting, the player reports beacons based on in-band metadata, improving measurement accuracy and allowing viewability frameworks such as OMID to operate natively. This level of certainty increases publishers’ CPMs using SGAI.
Cost
From a cost perspective, SGAI combines the flexibility of CSAI with the scalability of SSAI. It is more expensive than CSAI because it adds a lightweight server component that conditions breaks, validates and transcodes ad creatives, and generates a generic manifest that can be cached across users. These additional steps improve scalability by reducing per-viewer API calls, improve caching efficiency by allowing shared manifests, and enhance quality of experience by ensuring that all creatives are playable and correctly formatted before delivery. This is a key QoE differentiator from CSAI, which does not precondition ads before playback.
However, SGAI is much less expensive than SSAI because it eliminates the stitcher, session manager, and per-viewer manifest generation. The generic manifest lowers compute, I/O, and egress costs, while just-in-time ad decisioning means only ads that actually play incur cost.
Revenue
SGAI supports real-time personalization because ad calls happen during playback, using the freshest context. This increases match rate and improves CPMs. Because the player controls insertion, interactive formats such as overlays, double box, or squeeze back are simple to implement.
As mentioned, measurement improves because beacons fire directly from the player, confirming actual viewability. Ad blocking is mitigated because conditioned ad streams are indistinguishable from content. The combination of higher CPMs and better fill rates increases overall yield.
Live, VOD, and Live-to-DVR
For live events, SGAI spreads ad-decision load over time and uses preconditioned assets to ensure reliable switching. VOD sessions operate almost identically, with on-demand calls replacing real-time triggers. Live-to-DVR workflows benefit most: each playback session resolves its own ads dynamically without prestitched manifests, enabling ongoing monetization of replay content with fresh campaigns.
Quality of experience
Content-to-ad switching is smooth because ad segments are pre-conditioned to match the content’s encoding parameters. If a viewer is watching rung 2 of a 4K HEVC ladder, the ad server delivers the corresponding rung from the ad ladder, ensuring consistent resolution, bitrate, and GOP cadence across the transition. This preserves viewer QoE and makes ads harder to identify and block.
Typical SGAI performance metrics
| Metric | Rating |
|---|---|
| eCPM | High |
| Fill rate | Very High |
| Match rate | Very High |
| TCO | Moderate |
Bottom line
Shared manifests restore CDN cache efficiency and lower egress. Just-in-time ad calls improve the rendered-to-requested ratio by fetching only what’s actually viewed. Client-side beaconing improves measurement accuracy and supports stronger CPMs, as does ad personalization, while server coordination maintains pacing and frequency control.
Standardization Status
SGAI is not yet governed by a single open specification. Instead, it is an evolving architecture implemented differently across vendors. Because SGAI requires tight coordination between the player, signaling service, and ad server, interoperability remains limited compared to established CSAI and SSAI frameworks.
In practice, this means SGAI deployments should be planned as integrated ecosystems rather than modular plug-ins. Publishers should select products and services that not only meet functional and cost requirements but also demonstrate proven end-to-end integration across the ad stack. Dolby OptiView Ads is one such example, offering a complete SGAI solution that integrates tightly with Google Ad Manager and other ecosystem partners to deliver reliable, scalable ad personalization. As IAB and CTA WAVE advance their work on interstitial signaling and conditioned ad metadata, these integrations will become more portable.
Summary
This table compares how each ad insertion architecture performs across four core business metrics; effective CPM (eCPM), fill rate, match rate, and total cost of ownership (TCO). Together, these determine how much revenue a platform earns per impression and how efficiently it can deliver that revenue at scale.
| Metric | CSAI | SSAI | SGAI |
|---|---|---|---|
| eCPM | Low | Medium | High |
| Fill rate | Moderate | High | Very High |
| Match rate | Moderate | High | Very High |
| Total cost of ownership | Low | Very High | Moderate |
Ratings are directional and based on representative deployments and industry data. Actual results vary by region, content type, and ad-buy model.
eCPM reflects monetization power, or the effective price per thousand delivered ads. CSAI typically delivers the lowest range because of ad blocking and inconsistent playback, while SSAI lifts returns through smoother delivery and higher completion rates. SGAI reaches the highest range because it combines SSAI-level reliability with real-time targeting and measurement, increasing CPMs through better relevance and verified viewability.
Fill rate measures how often an ad opportunity actually results in an ad served. CSAI lags because each player issues its own ad call, increasing the chance of timeouts or blocked responses. SSAI’s centralized stitching preloads ads, so most slots are filled, though that also includes ads fetched for viewers who never see them. SGAI eliminates both shortfalls and waste by making ad requests just in time and only for active viewers, producing consistently high realized fill rates.
Match rate captures how many ad responses are both playable and policy-compliant. CSAI’s decentralized requests often return creatives that fail on format, duration, or DRM constraints, keeping match rates moderate. SSAI improves alignment by handling transcoding and validation on the server, achieving high compatibility. SGAI goes further by conditioning ad assets to the same ladder, GOP cadence, and DRM as the main content, reaching very high compatibility and playback reliability.
The total cost of ownership represents overall delivery cost relative to CSAI. CSAI remains the lowest because most processing occurs on the client, while SSAI incurs the highest cost due to manifest rewriting, compute scaling, and uncacheable sessions. SGAI restores efficiency by reusing shared manifests and delegating insertion to the player, lowering infrastructure load to a moderate level.
In short, SGAI achieves the best balance: it approaches SSAI’s reliability with CSAI’s efficiency, enabling higher CPMs and near-complete delivery without unsustainable backend costs.
For more on the particulars of how SGAI can increase revenue, see the case-study, How Server Guided Ad Insertion (SGAI) Drives Higher Ad Revenue In Live Streaming.
Resources:
FreeWheel Video Marketplace Reports: (2H 2023), (2H 2024), (1H 2025)
Interactive Advertising Bureau (IAB) Digital Video Ad Spend Study (2024)
Dolby OptiView Blog: What is SGAI?
Dolby OptiView Blog: How Server-Guided Ad Insertion (SGAI) Drives Higher Ad Revenue in Live Streaming.
Streaming Media article: How Does SGAI Differ?


