Endpoints, Manifest Requests, and Monetization Opportunity in FAST

Created by Andrew Baritz, Modified on Wed, 7 Jan at 12:13 PM by Andrew Baritz

Endpoints, Manifest Requests, and Monetization Opportunity in FAST

At a glance
Monetization starts with requests. If your stream doesn’t get requested reliably (or requests get cached/aggregated in ways your SSAI can’t personalize), your ad opportunity count collapses. This is the #1 “it should be making money but isn’t” blind spot for non-technical teams.

Who this is for

  • Technical operations teams managing origins, CDNs, and SSAI
  • Ad ops teams trying to reconcile “starts” vs “impressions”
  • Channel operators needing a practical way to think about request volume

Key concepts (translated)

  • Endpoint: The URL the player hits to start playback (often a master manifest).
  • Manifest (HLS/DASH): The playlist describing which video segments to fetch.
  • Per-viewer manifest: SSAI often generates a unique manifest per viewer so ads can be personalized and tracked.
  • CDN caching: Great for scale, dangerous for monetization if it caches the wrong thing.

Walkthrough: How endpoint requests become revenue

  1. Player requests the master manifest (HLS) or MPD (DASH).
  2. SSAI generates a session (often a session ID) and returns a personalized manifest.
  3. At an ad break, SSAI calls the ad server/SSP for ads sized to your pod.
  4. SSAI stitches ads into the manifest and the player downloads ad segments.
  5. Impression tracking fires (server-side beacons and/or hybrid methods).

What can go wrong (and why it kills monetization)

FailureWhy it happensImpact
CDN caches personalized manifestsCache rules too broad; missing cache-busting headersMany viewers share one manifest → fewer ad decisions + broken tracking
Origin or SSAI endpoint instabilityTimeouts, spikes, mis-sized capacityStream starts drop; ad opportunities never exist
Ad calls blockedNetwork egress rules, DNS, TLS issues, vendor outagesPods become no-fill; may fall back to slate

Operational checks (do these weekly)

1) Request volume sanity checks

  • Track: total manifest requests vs unique sessions.
  • Track: sessions that reach at least one ad break.
  • Segment by platform/device (Roku vs Samsung vs LG vs web players).

2) Cache correctness checks

  • Confirm CDN does not cache per-viewer manifests unless explicitly designed to.
  • Confirm ad segment URLs are cacheable appropriately (depends on SSAI strategy).
  • Confirm query-string or session IDs aren’t being stripped by proxies.

3) Ad call success checks

  • Log HTTP status codes and timeouts.
  • Track “no-fill” reasons separately from errors.

Real-world endpoint patterns (examples)

Example 1: SSAI sessionized playback URL (common)

Player hits: https://play.example.com/channel/master.m3u8
SSAI returns: https://ssai.example.com/session/9f3a.../master.m3u8?token=...
  • Sessionized URLs are how SSAI personalizes ads and tracking per viewer.
  • If your CDN caches the sessionized manifest incorrectly, multiple viewers can collapse into one “ad decision,” hurting revenue and measurement.

Example 2: Platform proxying requests

  • Some platforms front your stream with their own request path.
  • Operational takeaway: reconcile platform-reported starts with origin/CDN requests; they may not match 1:1.

Examples you can paste into tickets

Example: What to ask engineering for (minimum logging)

Manifest requests:
- total requests per hour
- unique viewer sessions per hour
- top 10 user agents (devices)

SSAI ad decisioning:
- ad opportunities created
- ad requests sent
- filled vs no-fill vs error
- top error reasons (VAST parse, timeout, policy reject)

CDN:
- cache hit ratio for manifests (should be low/controlled for per-viewer)
- cache headers observed at edge

Example: “Revenue leak” debugging questions

  • Are unique SSAI sessions close to platform starts? If not, where is session creation failing?
  • Do ad opportunities per hour match expected break cadence? If not, cueing/schedule is broken.
  • Are manifests being cached at the edge (unexpectedly high cache hit ratio)?
  • Are ad call timeouts spiking for one SSP or one geo?

Example: “Symptoms → likely root causes”

SymptomLikely cause
Views rising, impressions flatCached manifests, breaks not detected, ad calls blocked
Impressions rising, revenue flatLow CPM demand mix, floors too low/high, measurement rejection
High ad errors on one platform onlyDevice playback limitations, codec mismatch, policy enforcement differences

Best practices (labelled)

  • Best practice: treat per-viewer manifests as sensitive; cache deliberately, not accidentally.
  • Best practice: instrument request volume and ad opportunity volume separately so you can see where revenue is leaking.
  • Best practice: keep a “golden test device set” and validate breaks weekly.

Sources

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article