Paramount+ Streaming Infrastructure

Architecture Analysis — VOD, Live TV & Home Page Pipelines

3
Streaming Pipelines
13+
Live Channels Analyzed
14+
CDN Edge Hosts
30+
Tracking Services
3
DRM Methods
2
Ad Insertion Methods
Master Architecture — Three Pipelines
USER / BROWSER Chrome 145 / Win 11 VOD Pipeline Movies & Shows On-Demand PROTOCOL DASH (fMP4) AD INSERTION SSAI (Google DAI) Primary Ad Server: FreeWheel (varies by region) CDN: Google Video Infra (r3/r4/r5---sn-*.googlevideo.com) DRM: Widevine (Irdeto) + License Challenge/Response Live TV Pipeline News, Channels, Linear Streams PROTOCOLS HLS & DASH AD INSERTION SSAI & FreeWheel CDNs: Akamai (linear), CBS Airspace/Fastly (CBS News HLS) DRM: Widevine + PlayReady (Irdeto dual-stack) Players: Shaka (DASH), HLS.js (News), Smart TV SDK Home Page Pipeline Content Discovery & Carousels PRIMARY CONTENT Images + API Data CDN: Fastly (wwwimage-us.pplusstatic.com) Video Previews: HLS via Fastly (splice-media) Analytics: Adobe AEP + 30+ tracking pixels
Architecture Overview: Paramount+ operates three distinct streaming pipelines, each optimized for its use case: VOD uses DASH with fMP4 segments, Google DAI for ad insertion, and Google Video Infra for delivery; Live TV branches into two sub-pipelines — HLS for event channels (CBS News, Golazo, CBS Sports HQ) with Google DAI SSAI, and DASH for 8+ curated linear channels via Akamai; Home Page is image-heavy (1,348 requests) with Fastly CDN and separate HLS preview system. All three pipelines converge on Irdeto DRM using three distinct methods: Widevine (VOD + DASH linear), PlayReady (DASH linear dual-stack), and HLS AES-128 key delivery (Golazo). The infrastructure spans 14+ CDN edge hosts across 4 providers (Google Video, Akamai, Fastly, CBS Airspace), orchestrated by Smart Tag v1.39.4 with Shaka Player v4.14.1 and HLS.js v1.5.8 running simultaneously. 30+ tracking services including Adobe AEP, Conviva, Nielsen, and the newly observed TV Scientific (tvspix.com) and Sparrow internal telemetry feed a comprehensive analytics stack.
Notable Findings & Action Items
!
Shaka v5.0 Deprecation Risk
Action Required

manifest.hls.useSafariBehaviorForLive fires on every HLS channel load. Deprecated in v4.14.1 and will break when Shaka upgrades to v5.0. Smart Tag player integration must update to use liveSync config instead.

Golazo: Unique DRM Path
Architectural Anomaly

Only channel using HLS AES-128 key delivery instead of Widevine. Endpoint: /licenseServer/hls/v1/cbsi/key. Streams at 8,941 kbps — nearly 50% higher than other HLS channels. Enables per-stream key rotation for live sports.

TV Scientific — New Tracker
Live-Only

tvspix.com (TV Scientific) appears only in live TV sessions, not VOD or home. This is a CTV/OTT ad attribution platform, indicating live channels have a separate ad measurement stack from the rest of the platform.

Sparrow — Internal Telemetry
First-Party Analytics

sparrow.paramountplus.com runs alongside Conviva and Nielsen as Paramount's first-party video quality beacon. Endpoint: /streamer/v1.0/ingest/beacon.json. Only observed in live TV sessions.

🔒
GPP Privacy Placeholders
Incomplete Implementation

Global Privacy Platform (GPP) parameters are template placeholders — not populated with actual values. [GPPSTRING], [GPPSECTIONID], [IFA], and [IFATYPE] all pass through as raw text to ad servers, indicating GPP integration is not yet complete.

Dynamic CDN Allocation
11 Akamai Hosts Observed

Live linear channels don't have dedicated CDN hostnames — they draw from a dynamic pool. Adjacent channels share edge servers (e.g., propeca301a3 serves both History Undiscovered and 80s Sitcoms). CDN selection appears optimized by geolocation and load.

🌐 VOD — End-to-End Request Flow
PHASE 1 Browser Requests Content Page
GET /movies/video/Alcn0hcGx0HosdhcawKteH8DXh3RiOF7/
Host: www.paramountplus.com   Authorization: Bearer {jwt_token}   User-Agent: Chrome/145
← 200 OK via Fastly CDN (Varnish HIT) — loads movieVideoTopEdge-*.min.js (player) + Google IMA SDK
Full request & response headers
REQUEST HEADERS
Cookie: CBS_DL_PERM=...; OptanonConsent=...
Accept: text/html,application/xhtml+xml
Accept-Encoding: gzip, deflate, br, zstd
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
Sec-Fetch-Dest: document
RESPONSE HEADERS
X-CDN: Fastly
X-Cache: HIT, HIT (multi-tier Varnish)
Cache-Control: max-age=300, stale-while-revalidate=300
Via: Varnish (origin) → Varnish (edge)

Assets loaded:
  movieVideoTopEdge-*.min.js (player)
  moviesBottom-*.min.js (page logic)
  imasdk.googleapis.com (IMA SDK)
PHASE 2 Parallel API Calls — User + Content + Privacy + Ads
👤 User Profile
4 XHR calls — user data, watchlist, preferences, avatars
🎬 Content Metadata
Extras, "You May Also Like" recs, in-app messaging
🔒 Privacy & Consent
OneTrust geolocation → GDPR=0, COPPA=0, us_privacy=1YNN
📢 FreeWheel Ad Config
/freewheel/fms.json — userid, coppa=0, gdpr=0
Full API endpoints & parameters
USER PROFILE
GET /user-profile/xhr/user/?fetch=false
GET /user-profile/xhr/watchlist-ids/?nocache={ts}
GET /user-profile/xhr/content-preference-ids/?nocache={ts}
GET /user-profile/xhr/available-avatars/
CONTENT METADATA
GET /movies/xhr/moviepage/extras/Alcn0hcGx0H.../offset/0/limit/20/
GET /movies/xhr/moviepage/ymal/Alcn0hcGx0H.../
GET /in-app-messaging/?pageType=movies
PRIVACY / CONSENT
GET geolocation.onetrust.com/v1/geo/location
GET consent-api.onetrust.com/...
GET cdn.cookielaw.org/otSDKStub.js
FREEWHEEL AD CONFIG
GET /freewheel/fms.json
  ?dai=0 &coppa=0
  &userid=11ccb273-ef8a-...
  &gdpr=0 &gdpr_consent=null
COMMON XHR HEADERS
Origin: https://www.paramountplus.com
Sec-Fetch-Mode: cors   Accept: application/json
PHASE 3 Google DAI Creates Stream Session (Server-Side Ad Stitching)
IMA SDK sends: Network 8264, Content 2497752, User ID, Service=vod
← 200 OK — Stream ID: 3c76d9c3-... · Session: ca3bd550-...
SSAI: The player does NOT fetch ads separately. DAI stitches ad segments into the content timeline server-side. The player requests 1.mp4, 2.mp4, ... from one endpoint — some are content, some are ads. Player cannot distinguish.
DAI session request & response details
DAI SESSION CREATE
POST imasdk.googleapis.com/pal/sdkloader/ima3.js
Network: 8264 (Paramount GAM)
Content: 2497752 (asset ID)
User ID: 11ccb273-...
Service: vod
SESSION RESPONSE
Stream ID: 3c76d9c3-93c7-41e2-9096-30d847cdd729
DAI Session: ca3bd550-0f7e-40b0-b832-84b9108c13db
Segment URL: dai.google.com/segments/redirect/c/
Ads pre-selected by Google Ad Manager
DASH MPD manifest embedded/inline
PHASE 4 Segment-by-Segment Delivery (Content + Ads Interleaved)
GET dai.google.com/segments/redirect/c/{n}.mp4
+ CMCD: br=2699, mtp=19800, bl=9600, sf=d, st=v
200 OK — video/mp4 via HTTP/3 (QUIC)
~5s per segment, 80KB–1.6MB, Google Video CDN
init
1
2
3
4 Ad1
5
6
7 Ad2
8
9 Ad3
10
11
12
...
Content Ad 1 Ad 2 Ad 3
Full segment URL anatomy, CMCD params & response headers
SEGMENT URL ANATOMY
GET dai.google.com/segments/redirect/c/{n}.mp4
  ?orig=r3---sn-a5msen7s.googlevideo.com/videoplayback
  &id={video_id} &itag=340
  &source=dclk_video_ads
  &mime=video/mp4 &clen={bytes}
  &expire={ts} &signature={sig}
CMCD PARAMS (every request)
br=2699 &mtp=19800 &bl=9600 &d=5005
nor="2.mp4" &ot=v &sf=d &st=v
tb=5805 &rtp=7000 &dl=10000
sid=ca3bd550-... &su=true (initial only)
RESPONSE HEADERS
Content-Type: video/mp4 or audio/mp4
Cache-Control: private, max-age=86400
Client-Protocol: quic (HTTP/3)
X-CDN: Google Video Infrastructure
MEDIA TRACKS
Video: AVC High 1024×576 @ 2,600kbps, 23.976fps
Audio: AAC-LC 48kHz @ 128kbps, Stereo
Container: fMP4 (fragmented MP4)
Top available: 5,805 kbps
PHASE 5 Ad Impressions & Analytics Beacons Fire
Per ad: GET dai.google.com/view/p/service/vod/impression/stream/{id}/network/8264/content/2497752/vid/{vid} ← 204
Ad 1 · vid: 2222756b
r4---sn-qja5mc-5j → 204 ✓
Ad 2 · vid: b0c790e1
r3---sn-a5msen7s → 204 ✓
Ad 3 · vid: 81f568a3
r5---sn-a5meknzr → 204 ✓
Parallel beacons: Conviva (24 req) Nielsen DoubleClick Adobe Analytics Braze New Relic Retargeting Pixels
Full impression URL structure & beacon details
GET dai.google.com/view/p/service/vod/impression/
  stream/3c76d9c3-.../network/8264/content/2497752/
  vid/{video_id}/media/{media_id}/stream_ad_id/{ad_id}
← 204 No Content (fire-and-forget)
Conviva: Video QoE — bitrate, buffering, errors (24 requests total) · Nielsen: Audience measurement — watermark + census · DoubleClick: Ad attribution · Adobe: pageName, userType, content analytics · Braze: In-app messaging · New Relic: APM + error tracking · Pixels: Reddit, Pinterest, Twitter retargeting
1,382 requests · DASH fMP4 · HTTP/3 · 3 ads (SSAI) · 2m 42s
VOD Streaming Flow — Pipeline Detail
VOD PIPELINE — END-TO-END FLOW
STEP 1 — AD CONFIG
FreeWheel
/freewheel/fms.json
userid, coppa, gdpr
Privacy flags fetched
STEP 2 — DAI SESSION
Google DAI
Stream: 3c76d9c3-...
Network: 8264
Content: 2497752
STEP 3 — SERVER DECISION
Segment Routing
dai.google.com/segments/redirect/c/
Each segment = ad OR content
Player cannot distinguish
STEP 4 — CDN DELIVERY
Google Video CDN
HTTP/3 (QUIC)
r3/r4/r5 edge servers
Signed URLs + expiry
STEP 5 — PLAYBACK
Shaka Player
DASH + fMP4
ABR via CMCD
IMA SDK for ads
🎥 MEDIA TRACKS
Video: AVC High Profile
  1024×576 @ 2,600 kbps, 23.976fps
  Top available: 5,805 kbps
Audio: AAC-LC
  48kHz @ 128 kbps, Stereo
Container: fMP4 (fragmented MP4)
Segments: ~5s each, init.mp4 + numbered
🔗 SEGMENT URL ANATOMY
dai.google.com/segments/redirect/c/{n}.mp4
&orig={edge}.googlevideo.com
&id={video_id}
&itag=340 (quality tier)
&source=dclk_video_ads
&mime=video/mp4
&expire={ts} &signature={sig}
🔒 DRM & CONTENT PROTECTION
Method: Signed URLs + expiry
(lighter than MPEG-CENC)
Auth: Cryptographic signature
Expiry: Time-limited access tokens
Transport: HTTPS required
No Widevine/PlayReady for VOD segments
(DRM handled at DAI session level)
🎬 AD INSERTION (SSAI via DAI)
Model: Server-side stitching
Config: FreeWheel → GAM → DAI
Ads Served: 3 in this session
Tracking: HTTP 204 fire-and-forget
Edge Servers:
r3---sn-a5msen7s
r4---sn-qja5mc-5j
r5---sn-a5meknzr
📈 CMCD (ABR METRICS)
br: 2,699 kbps (current)
mtp: 19,800–28,700 (throughput)
bl: 9,600–10,000 ms (buffer)
tb: 5,805 kbps (top bitrate)
rtp: 6,800–7,000 (requested)
d: 5,005 ms (segment dur.)
+ nor, ot=v/a/i, sf=d, st=v, sid, su, dl
📊 SESSION STATS
Duration: 2m 42s
Requests: 1,382 total
Protocol: DASH (no m3u8)
Page CDN: Fastly (Varnish)
Video CDN: Google Video
Player JS: movieVideoTopEdge-*.min.js
IMA SDK: imasdk.googleapis.com
IMPRESSION TRACKING FLOW
Ad segment plays dai.google.com/view/p/service/vod/impression/ stream/{id}/network/8264/content/2497752/vid/{vid}/stream_ad_id/{ad_id} HTTP 204 ✓
📢 VOD Ad Parameters — Full Extraction
PRE-STREAM: FREEWHEEL AD CONFIG GET /freewheel/fms.json
ParameterValueTypeDescription
dai0IntegerDAI mode — 0 = standard CSAI flow via Google IMA SDK
coppa0IntegerCOPPA flag — 0 = not child-directed content
userid11ccb273-ef8a-4023-a472-20c0ddb6a328UUIDParamount+ user ID — primary ad targeting key
gdpr0IntegerGDPR applicability — 0 = not in EU
gdpr_consentnullStringIAB TCF consent string — null when GDPR=0
DAI STREAM SESSION Created after FreeWheel config fetched
ParameterValueTypeDescription
Stream ID3c76d9c3-93c7-41e2-9096-30d847cdd729UUIDDAI stitched-stream identifier — ties all segments + ads together
Network ID8264IntegerGoogle Ad Manager network — Paramount's GAM publisher account
Content ID2497752IntegerGAM content asset ID — used for content-level ad targeting
DAI Session IDca3bd550-0f7e-40b0-b832-84b9108c13dbUUIDClient-side session ID for correlating requests
ServicevodStringDAI service type — determines URL path structure
DAI SEGMENT URL PARAMETERS dai.google.com/segments/redirect/c/{n}.mp4
ParameterExample ValueDescription
orighttps://r3---sn-a5msen7s.googlevideo.com/videoplaybackOrigin CDN edge server URL — actual media source
id2222756b23a632d9Video/creative ID — unique per ad or content asset
itag340Google quality tier index (maps to resolution + codec)
sourcedclk_video_adsSource identifier — "dclk_video_ads" = DoubleClick ad creative
requiresslyesForce HTTPS for segment delivery
mimevideo/mp4 or audio/mp4MIME type — indicates video vs audio track
clen{content_length}Content length in bytes for the segment
expire{unix_timestamp}URL expiry — signed URL invalidation time
signature{sig}Cryptographic signature — prevents URL tampering
IMPRESSION TRACKING BEACON Fired per ad on playback start → HTTP 204
URL Path SegmentValueDescription
servicevodService type in impression URL path
impression(path marker)Indicates this is an impression beacon
stream/{stream_id}3c76d9c3-...Stream session this impression belongs to
network/{id}8264GAM network (Paramount's publisher ID)
content/{id}2497752Content asset being watched
vid/{id}2222756b23a632d9Ad creative video ID
media/{id}{media_id}Media rendition ID (quality-specific)
stream_ad_id/{id}{ad_id}Unique ad insertion ID within this stream
ADS OBSERVED IN VOD SESSION
Ad #Video IDEdge ServerCDN RegionSource
Ad 12222756b23a632d9r4---sn-qja5mc-5j.googlevideo.comUS (Google POP)dclk_video_ads
Ad 2b0c790e1d45c7b2dr3---sn-a5msen7s.googlevideo.comUS (Google POP)dclk_video_ads
Ad 381f568a32f216810r5---sn-a5meknzr.googlevideo.comUS (Google POP)dclk_video_ads
CMCD (COMMON MEDIA CLIENT DATA) — ABR METRICS IN EVERY SEGMENT REQUEST
ParamNameObserved Value(s)Description
brBitrate2699 (video), 132 (audio)Current selected bitrate (kbps)
mtpMeasured Throughput19,800 – 28,700 kbpsActual measured download speed
blBuffer Level9,600 – 10,000 msCurrent buffer depth in milliseconds
dDuration5,005 msSegment duration in milliseconds
norNext Object Request"2.mp4", "3.mp4"Prefetch hint — next segment filename
tbTop Bitrate5,805 (video), 143 (audio)Highest available rendition bitrate
rtpRequested Throughput6,800 – 7,000 kbpsThroughput the player is requesting from CDN
dlDeadline9,600 – 10,000 msTime available before buffer underrun
otObject Typev=video, a=audio, i=initType of media object being requested
sfStream Formatd (DASH)Streaming protocol identifier
stStream Typev (VOD)Content type: v=VOD, l=live
sidSession IDca3bd550-...Player session UUID — correlates all segment requests
suStartuptrue (initial requests only)Flag indicating first segment requests at session start
VOD Summary: The VOD pipeline is the most streamlined of the three. Content and ads flow through a single Google DAI endpoint — the player simply requests sequential numbered segments and Google's server transparently mixes in ad segments. The ad targeting chain starts with FreeWheel config (user ID + privacy flags), creates a DAI stream session (Network 8264, Content 2497752), then delivers segments from Google Video CDN edges where each segment's source=dclk_video_ads flag and unique video_id identify ad creatives. DRM is lightweight (signed URLs with expiration tokens rather than full MPEG-CENC). CMCD parameters on every segment request provide 13 real-time metrics for adaptive bitrate decisions.
🌐 Live TV — End-to-End Request Flow
PHASE 1 Browser Navigates to Live TV
GET /live-tv/
Host: www.paramountplus.com   Authorization: Bearer {jwt_token} (Subscriber Month 22)   User-Agent: Chrome/145
← 200 OK via Fastly CDN — loads Smart Tag v1.39.4 + HLS.js v1.5.8 + Shaka v4.14.1 + IMA SDK simultaneously
Full headers & player assets loaded
REQUEST HEADERS
Cookie: CBS_DL_PERM=...; OptanonConsent=...
Accept: text/html,application/xhtml+xml
Accept-Encoding: gzip, deflate, br, zstd
Sec-Fetch-Site: same-origin
Sec-Fetch-Mode: navigate
PLAYER ASSETS LOADED
smart.tag.js (418 KB) + skin.js (194 KB) + skin.css (252 KB)
HLS.js v1.5.8 (124 KB — event channels)
Shaka Player v4.14.1 (230 KB — linear channels)
Avia v2.54.0 (83 KB — CBS framework)
imasdk.googleapis.com (Google IMA SDK)
multi.stream.js + sidebar.js + sidebar.svg.js (640 KB plugins)
PHASE 2 Parallel API Calls — Channels + User + Privacy + Analytics
📺 Channel Guide
channelCategories.json + per-channel metadata
👤 User + Consent
User profile, OneTrust → GDPR=0, COPPA=0
📊 Adobe Analytics
144 requests — pageName=/live-tv/, userType=SUBSCRIBER
📡 26 Trackers
DoubleClick, Pinterest, Bing, Nielsen, Braze, New Relic...
Full API endpoints, analytics params & tracker breakdown
CHANNEL GUIDE APIs
GET /live-tv/stream/channelCategories.json
GET /live-tv/channels/{slug}/metadata.json
GET /live-tv/live-event/{slug}/{id}/metadata.json
ADOBE ANALYTICS
POST saa.paramountplus.com/b/ss/cnetcbscomsite/
POST saa.paramountplus.com/ee/or2/v1/interact
pageName=/live-tv/ · pageType=live_tv
userType=SUBSCRIBER · userStatus=sb|22
THIRD-PARTY TRACKER BREAKDOWN
DoubleClick (39) · Google (27) · Pinterest (24)
Bing Ads (22) · New Relic (20) · Google Ads (18)
Scorecard (14) · OneTrust (11) · Braze (8)
Nielsen (8) · Tealium (7) · Amazon (6)
Flashtalking (6) · Gstatic (5) · Scrapcranes (5)
Kochava (3) · Yahoo (3) · Samba TV (3) · Branch (3)
TV Scientific · Twitter · Reddit · GTM · Sparrow
PHASE 3 Channel Tune-In — Protocol Path Splits
HLS Event Channels (News, Sports)
Navigate via pushState → DAI master.m3u8 (7 renditions) → variant playlist refreshed ~6s → DRM: HLS AES-128 key (Irdeto)
Segments: MPEG-TS ~4s · CDN: CBS Airspace · Max: 1080p @ 8,941kbps
DASH Linear Channels (Movies, Drama, Kids...)
Navigate via pushState → Dynamic MPD (8 reps, 270p–1080p) → DRM: CORS preflight → POST Widevine license (Irdeto, 672B)
Segments: fMP4 ~6s · CDN: Akamai (11 hosts) · Max: 1080p @ 8,000kbps · Dual PSSH
Dual-Player Page: Both HLS.js + Shaka load simultaneously. Channel switch triggers new DRM + manifest + Conviva session — no page reload.
Full HLS & DASH request sequences, DRM flow & manifest details
HLS PATH (EVENT CHANNELS)
A. GET /live-tv/stream/channels/cbs-news/{id}/
  → History pushState (no reload)

B. GET dai.google.com/linear/hls/pa/event/
  Sid4xiTQTkCT1SLu6rjUSQ/master.m3u8
  → 7 video + 1 audio + 7 I-frame renditions

C. GET .../event/{eventId}/{streamId}/{variant}/playlist.m3u8
  → Refreshed ~6s, Target duration: 6s, Seq: 442M+

D. GET cbsi.live.ott.irdeto.com/licenseServer/hls/v1/cbsi/key
  → HLS AES-128 key (Golazo) or Widevine
DASH PATH (LINEAR CHANNELS)
A. GET /live-tv/stream/channels/survivor/{id}/
  → History pushState (no reload)

B. GET prope4h423g3.airspace-cdn.cbsivideo.com/manifest.mpd
  → type="dynamic", minUpdatePeriod=15s
  → 8 video reps + audio + TTML/WebVTT subs

C. OPTIONS cbsi.live.ott.irdeto.com/widevine/getlicense → 204
POST .../widevine/getlicense?CrmId=cbsi&contentId=69f419ca-...
  Auth: Bearer {token} · Body: protobuf (4,296B)
  → License response: 672B (+ 720B service cert)
PHASE 4 Live Segment Delivery — Continuous Loop
HLS GET {cdn}/{seq}.ts every ~4s · MPEG-TS · sf=h, st=l
DASH GET {cdn}/manifest_video_{rep}_{n}.mp4 every ~6s · sf=d, st=l
Both: Cache-Control: no-cache (live edge) · X-CDN: Akamai · CMCD: bl, br, mtp, ot, sf, st, tb, sid
Full segment request URLs, CMCD params & response headers
HLS SEGMENT REQUEST
GET news20e7hhcb.airspace-cdn.cbsivideo.com/{path}/{seq}.ts
Content-Type: video/mp2t
Duration: 4.004s · Media-Sequence: 442,577,873+
CMCD: bl=10700&br=5980&d=5005&mtp=37000
&ot=v&sf=h&st=l&tb=5980&sid={uuid}
DASH SEGMENT REQUEST
GET prope4h423g3.airspace-cdn.cbsivideo.com/
  manifest_video_{RepID}_0_{Number}.mp4
Content-Type: video/mp4 · Duration: ~6s
Cache-Control: max-age=0, no-cache
CMCD: bl=15300&br=8000&d=6016&mtp=47400
&ot=v&sf=d&st=l&tb=8000&sid={uuid}
PHASE 5 Live Ad Break — SCTE-35 → FreeWheel → DAI Stitching
SCTE-35 CUE-OUT 60s FreeWheel VAST 4.0 Ad 1: Stamps.com (30s) Ad 2: Star Trek (30s) CUE-IN ✓
Tracking per ad: 11 ID3 events (start → progress×5 → quartiles → complete) fired to 6+ endpoints
FreeWheel Extreme Reach (OMID) Google DAI DoubleClick Nielsen Advertiser Pixels
Full SCTE-35 payload, VAST params, ad creatives & tracking details
SCTE-35 SIGNAL
#EXT-X-DATERANGE:ID="33075399-1772081897"
  START-DATE=2026-02-26T04:58:17.226Z
  PLANNED-DURATION=60.026633
  SCTE35-OUT=0xFC304E...
Break ID: 0000408279 · Type: mid-roll
FREEWHEEL VAST 4.0 REQUEST
GET 7f077.v.fwmrm.net/ad/g/1
  ?resp=vast4.0 &us_privacy=1YNN
  &_fw_gdpr=0 &_fw_coppa=0
Privacy: GPP=[GPPSTRING] (not populated)
AD POD SEGMENTS
GET dai.google.com/linear/pods/v1/p/
  {eventId}/{streamId}/0000408279/0/0/{variant}/{n}.ts
Stamps.com
30.03s · Creative 68179315 · 5 renditions
CDN: cdn1.extremereach.io
Star Trek Promo
30.03s · Creative 305071423 · 7 renditions
CDN: p-ause1-adops-output.cbsivideo.com
ID3: 22 tags in 35.9 KB · Per ad: start → progress×5 → Q1 → mid → Q3 → complete
+ mute/pause/resume/close/clickTracking events
611 requests (41s) · HLS + DASH · 35 DRM licenses · 2 ads in 60s · 26 trackers · 10 channels
Live TV — Dual Protocol Architecture (Pipeline Detail)
HLS EVENT CHANNELS — CBS News, Golazo, CBS Sports HQ
PACKAGER
Unified Streaming
v1.15.5-31515
DAI PROXY
Google DAI
3 Event IDs
AD SERVER
FreeWheel
VAST 4.0 + SCTE-35
CDN
Akamai Airspace
*.airspace.cdn.cbsivideo.com
DRM
Widevine / AES-128
Irdeto (Golazo = AES)
PLAYER
HLS.js v1.5.8
Smart Tag v1.39.4
Segments
MPEG-TS (.ts), ~4s each
Max Quality
1080p — News 5,980 / Golazo 8,941 kbps
Renditions
7 video + 1 audio + 7 I-frame
Audio
AAC-LC 128kbps + CC1 captions
DVR
Program-Date-Time (time-shift)
Manifest Cache
no-cache (live edge)
▽ same page loads both ▽
DASH LINEAR CHANNELS — Movies, Drama, Kids, Comedy, Reality (8+ channels)
MANIFEST
Dynamic MPD
isoff-live:2011
CDN
Akamai (14 hosts)
Direct — no DAI proxy
DRM
MPEG-CENC
Widevine + PlayReady
LICENSE
Irdeto
cbsi.live.ott.irdeto.com
PLAYER
Shaka v4.14.1
Smart Tag v1.39.4
Segments
fMP4 (.mp4), ~6s each
Max Quality
1080p @ 8,000 kbps (AVC High 4.0)
Renditions
8 video (270p–1080p)
Audio + Subs
AAC-LC 128k + TTML/WebVTT
Time-Shift
55.5s buffer, 15s MPD update
Dual DRM in MPD
Widevine PSSH + PlayReady PSSH
DRM License Exchange (Irdeto)
1 — CORS PREFLIGHT
OPTIONS → 204
CORS validation for cross-origin DRM request
2 — LICENSE CHALLENGE
POST + auth header
Binary protobuf challenge (4,296 bytes)
3 — LICENSE RESPONSE
application/octet-stream
Protobuf license (672 bytes) / (672+720 dual)
4 — CDM DECRYPT
Widevine CDM v19.0.6
Server: alcatraz_test_drm_server
Ad Break Flow (SSAI — CBS News HLS)
SCTE-35 SIGNAL
CUE-OUT: 60.03s
Break: 0000408279
DATERANGE: 33075399-...
Signal: time_signal
Type: Mid-roll
FREEWHEEL DECISION
VAST 4.0 Response
2 ad slots filled
InLine ads (direct)
Quartile tracking
OMID verification
Ad 1: Stamps.com 30.03s
Creative 68179315 · 5 renditions · Extreme Reach CDN
Ad 2: Star Trek Promo 30.03s
Creative 305071423 · 7 renditions · CBS Internal CDN
CUE-IN
Resume Content
Seamless stitch
TRACKING PER AD (11 ID3 events × 7+ tracker endpoints)
start progress ×5 firstQuartile midpoint thirdQuartile complete
FreeWheel Extreme Reach (OMID) Google DAI Google DFP Nielsen DCR TV Scientific Advertiser Pixels
Privacy: us_privacy=1YNN · GDPR=0 · GPP=[GPPSTRING] (not populated) · + mute/pause/resume/close/clickTracking events
📢 Live TV Ad Parameters — Full Extraction
DAI EVENT & STREAM SESSION Created per live channel tune-in
ParameterValueTypeDescription
Event IDSid4xiTQTkCT1SLu6rjUSQString (Base64)DAI live event — maps to specific channel (CBS News). Each channel has a unique event ID
Stream IDb16dc19f-2b50-4a20-8e82-59963ee772b8:CBF2UUID:SuffixSession-specific stream ID — suffix may indicate CDN region or stream variant
Network ID8264IntegerGAM publisher network — same as VOD (Paramount's unified account)
ServicelinearStringDAI service path — "linear" for live (vs "vod" for on-demand)
PackagerUnified Streaming Platform v1.15.5-31515StringServer-side packager that generates HLS manifests from live source
DAI Manifestdai.google.com/linear/hls/pa/event/{eventId}/master.m3u8URLDAI-proxied HLS master playlist — Google proxies manifest to inject ad segments
SCTE-35 AD BREAK SIGNALING In-band HLS playlist tags
ParameterValueHLS TagDescription
Break ID0000408279Unique ad break identifier from SCTE-35 payload
DATERANGE ID33075399-1772081897#EXT-X-DATERANGE:IDHLS-level break identifier for player synchronization
Start Date2026-02-26T04:58:17.226433ZSTART-DATEUTC timestamp of ad break start
Planned Duration60.026633 secondsPLANNED-DURATIONTotal break length in seconds
CUE-OUT Duration60.026633#EXT-X-CUE-OUTSCTE-35 splice-out marker — triggers ad break
SCTE35-OUT0xFC304E...SCTE35-OUT attrRaw SCTE-35 binary splice_insert command (hex-encoded)
Signal Typetime_signalProvider Placement Opportunity Start
Break TypeMid-rollBreak position within live stream
Ad Count2Number of ad slots filled in this break
AD POD SEGMENT URL PARAMETERS dai.google.com/linear/pods/v1/p/
Path SegmentValueDescription
{eventId}Sid4xiTQTkCT1SLu6rjUSQDAI event — identifies which live channel
{streamId}b16dc19f-...:CBF2Viewer's stream session for this channel
{breakId}0000408279Break reference — matches SCTE-35 break ID
{variant}(quality index)HLS variant stream — matches master playlist rendition
{segment}(segment index)Sequential segment number within the ad pod
Container.ts (MPEG-TS)Same container format as content segments — seamless stitching
VAST 4.0 RESPONSE PARAMETERS (FROM FREEWHEEL)
ParameterAd Slot 1Ad Slot 2Description
Ad SystemFreeWheelFreeWheelAd server / decision engine
VAST Version4.04.0VAST specification version
Ad Type<InLine><InLine>Inline (direct) vs Wrapper (redirect chain)
AdvertiserStamps.comCBS News (Star Trek: Starfleet Academy)Advertiser name from VAST metadata
Creative ID68179315305071423Unique creative identifier
Duration30.03s30.03sAd slot duration
Creative FormatProgressive MP4Progressive MP4Ad creative container format
Renditions5 (375–25,000 kbps)7 (482–22,876 kbps)Available quality tiers for the creative
Creative CDNcdn1.extremereach.iop-ause1-adops-output.cbsivideo.comCDN serving the ad creative files
VerificationExtreme Reach OMIDViewability verification SDK
Click-ThroughURL (advertiser site)URL (P+ content page)Destination on ad click
AD TRACKING EVENTS & BEACONS
EventTracker(s)TriggerCount per Ad
impressionFreeWheel, DAI, Extreme Reach, AdvertiserAd starts renderingUp to 10 beacons
startFreeWheel, Extreme ReachFirst frame of ad displayed2–3
firstQuartileFreeWheel, Extreme Reach25% of ad played2–3
midpointFreeWheel, Extreme Reach50% of ad played2–3
thirdQuartileFreeWheel, Extreme Reach75% of ad played2–3
completeFreeWheel, Extreme Reach100% of ad played2–3
mute / unmuteFreeWheelUser mutes/unmutes during ad1 each
pause / resumeFreeWheelUser pauses/resumes during ad1 each
rewindFreeWheelUser rewinds during ad1
closeFreeWheelUser closes player during ad1
acceptInvitationFreeWheelUser clicks interactive ad overlay1
clickTrackingFreeWheel, DoubleClickUser clicks ad CTA1–2
ID3 IN-BAND METADATA dai.google.com/.../id3-events.json — 35.9 KB
ParameterValueDescription
Total Tags22In-band ID3 metadata events for the observed ad break
Tags per Ad11start + progress×5 + firstQuartile + midpoint + thirdQuartile + complete
Progress Events5 per adFired at regular intervals within each quartile
Payload FormatJSONArray of timed events the player uses to fire tracking beacons
DeliveryPolled by clientPlayer fetches ID3 event manifest and fires beacons at specified times
PRIVACY PARAMETERS IN AD REQUESTS
ParameterValueStandardStatus
us_privacy1YNNCCPA (USP)✓ Populated — "1" notice given, "Y" yes opt-out, "NN" no sale/no sharing
gdpr0IAB TCF✓ Populated — not in EU jurisdiction
[GPPSTRING]Template placeholderIAB GPP✗ NOT populated — GPP integration incomplete
[GPPSECTIONID]Template placeholderIAB GPP✗ NOT populated
[IFA]Template placeholderIdentifier for Advertising✗ NOT populated — browser context, no device IFA
[IFATYPE]Template placeholderIFA Type✗ NOT populated
AD TRACKING ENDPOINT STACK
TrackerEndpointPurposeBeacons per Break
FreeWheel7f077.v.fwmrm.netPrimary ad server — quartile events, completion, slot tracking~20+
Extreme Reachbeacons.extremereach.ioCreative-level tracking + OMID viewability verification~10
Google DAIdai.google.com/view/p/service/linear/impression/Stream-level impression beacon1 per ad
Google DFPsecurepubads.g.doubleclick.netCompanion / display ad serving~2
Nielsensecure-dcr.imrworldwide.comAudience measurement (DCR) during ad playback~2
Stamps.com Horizonstamps.hrzn-nxt.comAdvertiser-specific conversion pixel (varies per creative)1
TV Scientifictvspix.comCTV/OTT ad attribution — live-only tracker1+
CMCD PARAMETERS (LIVE STREAMS)
ParamNameObserved Value(s)Description
blBuffer Level10,700 – 15,300 msCurrent buffer depth (higher than VOD — live safety margin)
brBitrate128 – 5,980 kbpsCurrent rendition bitrate (audio low, video high)
dDuration0 – 6,016 msSegment duration (0 for manifest, ~4–6s for segments)
mtpMeasured Throughput10,000 – 77,900 kbpsActual measured download speed (wider range than VOD)
otObject Typem, v, i, k, am=manifest, v=video, i=init, k=key (DRM), a=audio
sfStream Formath (HLS), d (DASH)Both formats observed on live — dual protocol
sidSession IDUUIDPlayer session — new UUID per channel switch
stStream Typel (live)Live stream indicator
tbTop Bitrate128 – 5,980 kbpsHighest available rendition
suStartuptruePresent on initial segment requests after channel switch
Live TV Summary: The Live TV page is architecturally the most complex — it loads both HLS.js and Shaka Player simultaneously to handle two different streaming protocols on the same page. CBS News uses HLS with server-side ad insertion (ads seamlessly stitched via SCTE-35 cue points), while entertainment channels like Survivor use DASH with full MPEG-CENC content protection (dual Widevine + PlayReady DRM). Ad breaks are signaled via SCTE-35 EXT-X-CUE-OUT with full DATERANGE metadata, triggering FreeWheel VAST 4.0 ad decisioning that returns creative IDs, advertiser names, renditions (up to 25,000 kbps), and OMID viewability verification. Each ad fires 11 ID3 tracking events across 7+ tracking endpoints (FreeWheel, Extreme Reach, DAI, DFP, Nielsen, advertiser pixels, TV Scientific). Privacy parameters show CCPA compliance (us_privacy=1YNN) but 4 GPP/IFA placeholders remain unpopulated. Extended analysis covers 13 total channels across 3 DAI events.
1,186
Total Requests
10
Channels Visited
35
DRM Requests
172
DASH Segments
20
HLS Segments
11
CDN Hosts
3
DAI Events
All Live Channels — Master Table
# Channel Category Protocol DRM CDN Host(s) Content ID DAI Event
1 Golazo Sports HLS HLS AES-128 prope34d46hh f87a2f4c-... 9Lq0ERvo...
2 CBS Sports HQ Sports HLS+DASH Widevine+PlayReady propee33f9c2, prope7000cg2 RGKIw3F7...
3 Movies Entertainment DASH Widevine+PlayReady prope7000cg2, propeeh880hf 6ceba331-...
4 All Day Drama Drama DASH Widevine+PlayReady propeeh880hf ee714c11-...
5 SpongeBob Universe Kids DASH Widevine+PlayReady propehdbb66a, prope12dc513 99cc29a9-...
6 Animation Favorites Kids DASH Widevine+PlayReady prope12dc513 6257e5c9-...
7 RuPaul's Drag Race Reality DASH Widevine+PlayReady prope26af1ac 8348b3ef-...
8 History Undiscovered Drama DASH Widevine+PlayReady prope828e699, propeca301a3 091f4804-...
9 80s Sitcoms Comedy DASH Widevine+PlayReady prope97d0g68, propeca301a3 a551b933-...
10 Adult Animation Comedy DASH Widevine+PlayReady prope97d0g68 5fbf71e9-...
Protocol & Pipeline Comparison
Attribute HLS Event Pipeline DASH Linear Pipeline
ChannelsGolazo, CBS Sports HQMovies, All Day Drama, SpongeBob Universe, Animation Favorites, RuPaul's Drag Race, History Undiscovered, 80s Sitcoms, Adult Animation
Count28
ProtocolHLS (MPEG-TS segments)DASH (fMP4 segments)
Ad InsertionGoogle DAI SSAIFreeWheel / None observed
DRMHLS AES-128 (Golazo) / Widevine (CBS Sports HQ)Widevine + PlayReady (MPEG-CENC dual PSSH)
License Path/licenseServer/hls/v1/cbsi/key/widevine/getlicense
Max Bitrate8,941 kbps (Golazo)~8,000 kbps
CDNAkamai AirspaceAkamai Airspace
PlayerShaka v4.14.1 + Smart Tag v1.39.4Shaka v4.14.1 + Smart Tag v1.39.4
DAI Events9Lq0ERvo... / RGKIw3F7...
CDN Host Map — 11 Akamai Edge Servers
Akamai Edge Host Serving Channels Shared?
prope34d46hh.airspace.cdn.cbsivideo.comGolazoNo
propee33f9c2.airspace.cdn.cbsivideo.comCBS Sports HQNo
prope7000cg2.airspace.cdn.cbsivideo.comMovies, CBS Sports HQYes
propeeh880hf.airspace.cdn.cbsivideo.comMovies, All Day DramaYes
propehdbb66a.airspace.cdn.cbsivideo.comSpongeBob UniverseNo
prope12dc513.airspace.cdn.cbsivideo.comSpongeBob Universe, Animation FavoritesYes
prope26af1ac.airspace.cdn.cbsivideo.comRuPaul's Drag RaceNo
prope828e699.airspace.cdn.cbsivideo.comHistory UndiscoveredNo
propeca301a3.airspace.cdn.cbsivideo.comHistory Undiscovered, 80s SitcomsYes
prope97d0g68.airspace.cdn.cbsivideo.com80s Sitcoms, Adult AnimationYes
Google DAI Events (All Sessions)
DAI Event IDChannelSource
Sid4xiTQTkCT1SLu6rjUSQCBS NewsSession 1
RGKIw3F7RVGzc5E9y8ElLQCBS Sports HQSession 2
9Lq0ERvoSR-z9AwvFS-xYAGolazoSession 2
Console Issues & Warnings
TypeCountMessageImpact
Error 7 "Script error." — cross-origin ad SDK errors masked by CORS during channel switches Benign — playback unaffected
Warning 5 manifest.hls.useSafariBehaviorForLive deprecated in Shaka v4.14.1, removed in v5.0 Action required before Shaka v5.0 upgrade
Live Channels Summary: 10 channels across 5 categories split into two pipelines: 2 HLS event channels (Golazo, CBS Sports HQ) with Google DAI SSAI, and 8 DASH linear channels with Widevine+PlayReady MPEG-CENC. Golazo is architecturally unique — the only channel using HLS AES-128 key delivery at 8,941 kbps peak. All channels are served via 11 Akamai Airspace edge servers (5 shared across channels), orchestrated by Smart Tag v1.39.4 with Shaka Player v4.14.1. Session generated 1,186 requests including 35 DRM exchanges and 192 media segments.
1,348
Total Requests
873
Image Requests (65%)
6
Image Size Tiers
27s
Session Captured
Home Page Content Delivery
🖼
Image Delivery — 873 Requests
wwwimage-us.pplusstatic.com
  • CDN Stack: OpenResty → Varnish (Chicago shield) → Varnish (Burbank edge)
  • Cache TTL: 30 days (max-age=2,592,000)
  • Format: WebP conversion at CDN edge (?format=webp)
  • Quality: q80 (80% JPEG quality equivalent)
  • CORS: access-control-allow-origin: *
IMAGE SIZE TIERS
w3200Hero marquee banners168–663 KB
w1920Responsive hero fallback~168 KB
w600Carousel thumbnails12–42 KB
w419Show logo overlays4–12 KB
w300Smaller carousel items10–24 KB
w200Profile avatars~6.7 KB
Video Preview System (HLS)
splice-media.paramountplus.com
  • Protocol: HLS with MPEG-TS segments
  • Packager: Shaka Packager v3.2.2
  • CDN: Fastly — Burbank edge, Chicago shield
  • Cache TTL: 15 minutes (max-age=900)
  • Cache Hits: 764,031+ (heavily cached)
VARIANT STREAMS
Video (low)514 kbps.ts segments
Video (high)3,133 kbps.ts segments
Audio128 kbps AAC.aac segments
14 segments/variant · ~84s total preview · ~6s segment duration
Carousel & Content API Structure
Content APIs Observed
  • GET /movies/xhr/moviepage/extras/{contentId}/offset/0/limit/20/
  • GET /movies/xhr/moviepage/ymal/{contentId}/ (You May Also Like)
  • GET /in-app-messaging/?pageType=movies×tamp={ts}&availableForProfileTypesOnMovies=ADULT
🖼 Image Resizing & Transformation Pipeline
CDN-Edge
Resize Method
6 Tiers
Width Breakpoints
WebP
Output Format
30 days
Cache TTL
TRANSFORMATION FLOW
Client requests
w600-q80/...jpg?format=webp
Varnish Edge
cache-bur (Burbank)
Varnish Shield
cache-chi (Chicago)
OpenResty Origin
Resize + WebP convert
Resized output is cached at both Varnish tiers for 30 days. Subsequent requests for same width+quality hit cache directly.
URL PATTERN
https://wwwimage-us.pplusstatic.com/thumbnails/photos/w{WIDTH}-q80/{type}/{id}/{path}.jpg?format=webp
ParameterValueDescriptionWhere Applied
w{WIDTH}200, 300, 419, 600, 1920, 3200Responsive width resize — origin scales to exact pixel widthOpenResty origin
q8080JPEG quality factor (80% — balances visual fidelity vs file size)OpenResty origin
format=webpwebpOn-the-fly format conversion from JPEG source to WebP outputOpenResty origin
{type}marquee, show_asset, movie_asset, pplcrn, profileContent type prefix — routes to correct source image bucketOrigin path routing
TierWidthUse CaseTypical SizeRatio vs Hero
Hero XLw3200Full-width marquee banners168–663 KB1x (baseline)
Hero Responsivew1920Responsive fallback for smaller viewports~168 KB~0.4x
Carouselw600Show/movie thumbnail tiles12–42 KB~0.05x
Logo Overlayw419Show logo overlays on marquee4–12 KB~0.02x
Small Tilew300Smaller carousel items, content rows10–24 KB~0.03x
Avatarw200Profile avatars, micro icons~6.7 KB~0.01x
Personalization & A/B Testing Flow
PHASE 1 — CLIENT REQUEST
Triggered on every /home/ page load by the AEP Web SDK (Alloy)
🌐 BROWSER
Page load fires
alloy("sendEvent")
with eventType: "pageView"
📦 AEP WEB SDK (ALLOY)
Assembles payload:
• User context (8 fields)
• Personalization scopes
• Target surfaces
• Identity (ECID + profile)
☁ AEP EDGE NETWORK
POST /ee/or2/v1/interact
Edge: OR2;9 (Oregon)
Config: a5dffda5-...6af986
PHASE 2 — USER CONTEXT & SEGMENTATION SIGNALS
These fields travel with every interact call and determine which personalization rules fire
SUBSCRIPTION TIER
userType: SUBSCRIBER
➜ Segments: FREE | SUBSCRIBER | PREMIUM
Controls: content gating, upsell banners, ad load
TENURE / LOYALTY
userStatus: sb|22
➜ "sb" = subscriber, "22" = month 22
Controls: loyalty offers, churn prevention triggers
PROFILE TYPE
profileCategory: ADULT
➜ Segments: ADULT | KIDS
Controls: carousel content mix, age-appropriate filtering
BILLING SOURCE
packageSource: recurly
➜ Direct (Recurly) | Apple | Amazon | Roku
Controls: upgrade CTAs, billing-specific messaging
PLATFORM
brandPlatformId: pplus_site_desktop
➜ Desktop | Mobile Web | iOS | Android | CTV
Controls: layout, features, download prompts
LOCALE & EDITION
siteEdition: en|US
➜ Language|Country code pair
Controls: regional content, localized promos
ACTIVE A/B EXPERIMENT
optimizelyExp: web_minimize_delay...:0_sec
➜ Optimizely experiment ID : variant
Controls: video preview auto-play delay timing
SUBSCRIPTION STATE
packageStatus: ACTIVE
➜ ACTIVE | CANCELLED | EXPIRED | TRIAL
Controls: win-back offers, grace period messaging
PHASE 3 — PERSONALIZATION SCOPE & SURFACE TARGETING
Tells Adobe Target exactly what to personalize and where
DECISION SCOPES
"decisionScopes": ["__view__"]
__view__ = Adobe Target's built-in scope for page-level activities. Evaluates all active Target activities (A/B tests, experience targeting, automated personalization) assigned to this page.
TARGET SURFACES
"surfaces": ["web://www.paramountplus.com/home"]
Surface URI = identifies the specific page context. Allows Adobe Journey Optimizer (AJO) to deliver surface-specific content — different surfaces get different offers, messages, and experiments.
PHASE 4 — SERVER-SIDE RULE EVALUATION (ADOBE TARGET + AJO)
Adobe Edge Network evaluates all active activities against the user context and returns decision payloads
EVALUATION PIPELINE
A Resolve user identity via ECID (Experience Cloud ID) + profile merge
B Match user against audience segments (subscriber tier, tenure, profile type, platform)
C Evaluate all Target activities assigned to surface web://...paramountplus.com/home
D For A/B tests: assign user to traffic allocation bucket (consistent hashing by ECID)
E Collect winning decision payloads across all 5 schema types → return in response
PHASE 5 — DECISION SCHEMA RESPONSES (5 TYPES)
Each schema type controls a different dimension of the page experience
✎ DOM Actions VISUAL EDITOR
Schema: adobe/target/dom-action
Direct HTML/CSS manipulation on the rendered page. Created via Adobe Target's Visual Experience Composer (VEC).
setContent
Replace hero banner HTML with variant creative
setStyle
Change carousel row order via CSS order property
setAttribute
Swap image src / srcset for targeted artwork
insertAfter / move
Reposition content rows — e.g., promote Sports above Kids
Page impact: Hero marquee creative, carousel row ordering, promotional tile placement
📦 Feed Items CONTENT CARDS
Schema: adobe/target/feed-item
Structured content payloads for carousel items and content cards — delivers personalized metadata, not raw HTML.
Carousel Selection
Which shows/movies populate each row
Content Ordering
Sort priority for tiles within a carousel
Tile Metadata
Custom titles, badges ("New Episode"), CTAs
Row Visibility
Show/hide entire content rows per segment
Page impact: "Tom Cruise Movies" row for action fans, "Kids Programming" promoted for family profiles
💬 In-App Messaging AJO
Schema: adobe/ajo/in-app-message
Adobe Journey Optimizer (AJO) delivers overlay messages — banners, modals, toasts — triggered by journey rules or segment membership.
Upsell Banner
"Upgrade to ad-free" for Essential tier users
Promo Modal
Showtime bundle offer for long-tenure subscribers
Feature Announcement
New feature toast — e.g., "Live channels now available"
Win-Back Offer
Discount overlay for CANCELLED/EXPIRED users
Page impact: Overlays, banners, and modals rendered on top of home page content
↺ Redirect Items NAVIGATION
Schema: adobe/target/redirect-item
Full-page redirects to alternative experiences. Evaluated before page render — user is seamlessly routed to a different URL.
Win-Back Landing
Redirect churned users to /offers/comeback
Geo-Specific Home
Route international users to localized landing pages
Onboarding Flow
Route new signups to guided content tour
Campaign Landing
Redirect from /home to event-specific page (e.g., NFL)
Page impact: User never sees /home/ — immediately redirected to personalized alternative
⚙ Ruleset Items A/B TESTING
Schema: adobe/target/ruleset-item
Conditional logic bundles for A/B and multivariate tests. Contains the rules themselves (not just outcomes) — evaluated client-side for low-latency decisions.
Traffic Split
50/50 or weighted allocation across variants
Audience Rules
Segment conditions: IF tenure > 12mo AND platform = desktop
Variant Payloads
Each variant carries its own DOM actions or content
Goal Metrics
Conversion events: clicks, video starts, signups
Active experiment observed: web_minimize_delay_on_loading_video_previews (variant: 0_sec) via Optimizely
PHASE 6 — CLIENT-SIDE RENDERING & MEASUREMENT
SDK applies decisions to the live DOM and reports impressions back to AEP
▶ APPLY DECISIONS
1. DOM Actions execute immediately — hero swap, row reorder
2. Feed Items populate carousel data model
3. In-App Messages render overlays via AJO SDK
4. Redirects fire window.location (pre-render)
5. Rulesets evaluate client-side, then apply nested actions
📈 MEASURE & REPORT
1. display notification → AEP (proposition rendered)
2. interact notification → AEP (user clicked/engaged)
3. dismiss notification → AEP (message dismissed)
4. Conversion events sent to Adobe Target for A/B test scoring
5. All events also forwarded to Tealium → 3rd party pixels
⚠ PARALLEL: OPTIMIZELY
Runs independently alongside Adobe Target:

Experiment: web_minimize_delay_on_loading_video_previews
Variant: 0_sec (no delay)
Controls: Video preview auto-play timing on hover
Goal: Optimize engagement / reduce bounce
⚠ Dual Analytics Pipeline Detected: Both legacy Adobe AppMeasurement (JS-2.23.0) and modern AEP Web SDK (Alloy) are firing simultaneously. This indicates an active migration — AppMeasurement will likely be deprecated once AEP coverage is validated.
📡 Media Session Tracking

Transitioning from video to home triggers session end events:

  • POST /va/api/v1/sessions/{session_id}/events
  • eventType: "sessionEnd" (playhead: 6s)
  • eventType: "stateEnd" (media.state.name: "streamFormatSDR")
Home Page Summary: The homepage is an image-heavy front door generating 1,348 requests in 27 seconds, with 65% being image loads. Images are served through a CDN-edge resizing pipeline — the client specifies width (6 tiers from w200 to w3200), quality (q80), and format (WebP) directly in the URL, and the OpenResty origin resizes on-the-fly with results cached at two Varnish tiers for 30 days. Video previews use a separate HLS pipeline via Fastly (764,000+ cache hits). Personalization is powered by Adobe Target via AEP Web SDK — the home page sends user context (subscription tenure, profile type, platform, locale) and receives 5 types of personalization decisions (DOM actions, feed items, in-app messaging, redirects, ruleset A/B tests) that dynamically control carousel ordering, hero banners, and promotional messaging. An Optimizely experiment is concurrently testing video preview auto-play timing. Billing is managed externally through Recurly.
Ad Tech & Monetization 9 services
ServiceDomain(s)RoleVODLiveHome
Google DAIdai.google.comServer-side ad stitching (SSAI) for VOD + Live HLS
FreeWheel7f077.v.fwmrm.netPrimary ad server — VAST 4.0 ad pods (Live)
Google IMA SDKimasdk.googleapis.comClient-side ad SDK (VOD player integration)
DoubleClickad.doubleclick.net, googleads.g.doubleclick.netAd attribution & conversion tracking6321
Google Adsadservice.google.comAd tracking & remarketing186
Extreme Reachbeacons.extremereach.io, cdn1.extremereach.ioCreative delivery, verification & OMID
Flashtalkingservedby.flashtalking.comAd serving & creative attribution62
TV Scientifictvspix.comCTV/OTT ad attribution (live-only)
Samba TVads.samba.tvConnected TV attribution31
Analytics & Measurement 7 services
ServiceDomain(s)RoleVODLiveHome
Adobe AEPsaa.paramountplus.comPrimary analytics + personalization (A/B tests)4425
Google Analyticswww.google.comWeb analytics (secondary)2711
Nielsensecure-dcr.imrworldwide.comTV audience measurement (DCR)81
Scorecard Researchsb.scorecardresearch.comCross-platform audience measurement146
Yahoo Analyticssp.analytics.yahoo.comSearch analytics31
Sparrowsparrow.paramountplus.comP+ internal video telemetry beacon (first-party)3
Dopplerdoppler-beacon.cbsivideo.comInternal video analytics (CBS legacy)43
Video QoE & Monitoring 3 services
ServiceDomain(s)RoleVODLiveHome
Conviva*.cws.conviva.comVideo QoE monitoring — buffering, bitrate, errors24181
New Relicbam.nr-data.netApplication performance monitoring (APM)2020
Scrapcranesscrapcranes.comUnknown / legacy monitoring5
Retargeting & Social Pixels 6 services
ServiceDomain(s)RoleVODLiveHome
Pinterestct.pinterest.com, s.pinimg.comRetargeting pixels2428
Bing Adsbat.bing.comSearch retargeting2216
Facebookwww.facebook.com, connect.facebook.netSocial retargeting pixel5
Amazon Adss.amazon-adsystem.comE-commerce retargeting62
Twitter/Xanalytics.twitter.comSocial retargeting12
Redditalb.reddit.comSocial retargeting12
Attribution & Deep Linking 3 services
ServiceDomain(s)RoleVODLiveHome
Branch.ioapi2.branch.io, cdn.branch.ioDeep linking & mobile attribution33
Kochavaassets.kochava.comMobile attribution31
Impact Radiusd.impactradius-event.comAffiliate tracking1
Infrastructure, Privacy & Messaging 4 services
ServiceDomain(s)RoleVODLiveHome
OneTrustcdn.cookielaw.org, consent-api.onetrust.comConsent management (GDPR, CCPA, COPPA)1117
Tealiumtags.tiqcdn.comTag management system (TMS)77
Google Tag Managerwww.googletagmanager.comTag management (secondary)33
Brazesdk.iad-03.braze.comPush notifications & in-app messaging83
📢 Ad Parameters — VOD vs Live Extraction Guide
AD INSERTION MODEL COMPARISON
VOD — Client-Side (CSAI)
Ad Server: Google Ad Manager (GAM)
SDK: Google IMA SDK (client-side)
Stitching: Google DAI — server stitches ads into DASH stream
Config Source: FreeWheel /freewheel/fms.json
Segment Delivery: dai.google.com/segments/redirect/c/
Player can't distinguish ads from content
Live HLS — Server-Side (SSAI)
Ad Server: FreeWheel (VAST 4.0)
Stitching: Google DAI — ads spliced into HLS stream
Signaling: SCTE-35 markers in HLS playlist
Ad Pods: dai.google.com/linear/pods/v1/p/
Creatives: Extreme Reach CDN + CBS internal CDN
Seamless mid-roll breaks stitched into stream
Live DASH — Minimal/None
Ad Server: FreeWheel (if present)
Observed: No ad breaks captured in DASH sessions
Delivery: Direct Akamai CDN (no DAI proxy)
Channels: Curated linear (Movies, SpongeBob, etc.)
Possible: Ad-free tier or in-stream ads not triggered
DASH MPD may contain SCTE-35 EventStream (not observed)
1. FREEWHEEL AD CONFIG PARAMETERS Fetched pre-stream: GET /freewheel/fms.json
ParameterValue (Observed)DescriptionVODLive HLSLive DASH
dai0DAI mode flag — 0 = standard, 1 = DAI-only
coppa0COPPA compliance — 0 = not child-directed
userid11ccb273-ef8a-4023-a472-20c0ddb6a328Paramount+ user UUID — primary ad targeting identifier
gdpr0GDPR flag — 0 = not in EU jurisdiction
gdpr_consentnullTCF consent string — null when GDPR=0
2. GOOGLE DAI SESSION PARAMETERS Created on stream init
ParameterVOD ValueLive HLS ValueDescription
Stream ID3c76d9c3-93c7-41e2-9096-30d847cdd729b16dc19f-2b50-4a20-8e82-59963ee772b8:CBF2Unique stream session — tracks all segments + ads for this viewer
Network ID82648264Google Ad Manager network — Paramount's GAM account ID
Content ID2497752N/A (event-based)VOD content asset ID in GAM for targeting
Event IDN/ASid4xiTQTkCT1SLu6rjUSQLive DAI event — maps to a live channel (CBS News, Golazo, etc.)
Service TypevodlinearDAI service path — determines segment/impression URL structure
DAI Session IDca3bd550-0f7e-40b0-b832-84b9108c13db(embedded in stream)Client-side session ID for correlating segment requests
3. IMPRESSION & TRACKING URL PARAMETERS
VOD IMPRESSION BEACON
GET dai.google.com/view/p/service/vod/impression/stream/{stream_id}/network/8264/content/2497752/vid/{video_id}/media/{media_id}/stream_ad_id/{ad_id}
stream_id network=8264 content=2497752 vid (video creative ID) media_id stream_ad_id
Response: HTTP 204 (fire-and-forget) · Each ad fires this on playback start
LIVE HLS IMPRESSION BEACON
GET dai.google.com/view/p/service/linear/impression/stream/{stream_id}/...
Similar structure but uses service/linear path · Stream-level impression tied to DAI event
4. VAST 4.0 RESPONSE PARAMETERS (LIVE HLS ONLY) From FreeWheel ad server
ParameterValue (Observed)Extractable Data
Ad SystemFreeWheelAd server identity
VAST Version4.0VAST spec version — determines available features
Ad Format<InLine>Inline vs Wrapper (direct vs redirect)
Creative ID68179315, 305071423Unique creative identifier per ad
AdvertiserStamps.com, CBS News (Star Trek promo)Advertiser name from VAST metadata
Duration30.03s per slotAd slot duration in seconds
Renditions5–7 per creative (375–25,000 kbps)Available quality levels for the creative
VerificationExtreme Reach OMIDViewability verification vendor + SDK
Click-ThroughURL per adDestination URL on ad click
Tracking Eventsstart, firstQuartile, midpoint, thirdQuartile, completeFull quartile tracking + mute/pause/resume/close
5. SCTE-35 AD BREAK SIGNALING (LIVE HLS)
ParameterValue (Observed)Description
Break ID0000408279Unique ad break identifier in the stream
Planned Duration60.026633sTotal break duration (from EXT-X-CUE-OUT)
Break TypeMid-rollBreak position — mid-roll (during content)
Signal Typetime_signalSCTE-35 splice type — Provider Placement Opportunity Start
Number of Ads2Slots filled in this break
SCTE35-OUT0xFC304E...Raw SCTE-35 binary payload (hex-encoded in HLS tag)
Start Date2026-02-26T04:58:17.226433ZUTC timestamp of break start (from EXT-X-DATERANGE)
EXT-X-DATERANGE ID33075399-1772081897Unique break identifier in the HLS playlist
6. AD POD SEGMENT URL STRUCTURE
VOD — DAI REDIRECT SEGMENTS
dai.google.com/segments/redirect/c/{segment_number}.mp4 ?orig=https://{edge_server}.googlevideo.com/videoplayback &id={video_id}&itag={itag}&source=dclk_video_ads&requiressl=yes &mime={video/mp4|audio/mp4}&clen={content_length}&expire={timestamp}&signature={sig}
segment_number edge_server (Google CDN) video_id (ad creative) itag (quality tier) source=dclk_video_ads expire + signature (auth)
LIVE HLS — DAI AD POD SEGMENTS
dai.google.com/linear/pods/v1/p/{eventId}/{streamId}/{breakId}/0/0/{variant}/{segment}.ts
eventId (DAI event) streamId (session) breakId (SCTE-35 ref) variant (quality) segment (index)
7. PRIVACY & CONSENT PARAMETERS IN AD REQUESTS
ParameterValue (Observed)StandardStatus
us_privacy1YNNCCPA/USP string✓ Populated
gdpr0IAB TCF GDPR flag✓ Populated
gdpr_consentnullIAB TCF consent stringN/A (GDPR=0)
[GPPSTRING]Placeholder (not populated)IAB GPP consent string✗ Empty
[GPPSECTIONID]Placeholder (not populated)IAB GPP section ID✗ Empty
[IFA]Placeholder (not populated)Identifier for Advertising✗ Empty
[IFATYPE]Placeholder (not populated)IFA type (DPID, SSID, etc.)✗ Empty
8. ID3 EVENT METADATA TAGS (LIVE HLS ONLY) From dai.google.com/.../id3-events.json — 35.9 KB payload
ParameterValueDescription
Total Tags22In-band metadata events for ad tracking
Tags per Ad11start, progress×5, firstQuartile, midpoint, thirdQuartile, complete
Event Typesstart, progress, firstQuartile, midpoint, thirdQuartile, completeVAST-standard quartile tracking events embedded as ID3 tags
DeliveryJSON payload via DAI APIClient polls for ID3 events to fire tracking beacons at correct times
9. AD TRACKING & MEASUREMENT ENDPOINTS
TrackerEndpointPurposeVODLive
Google DAIdai.google.com/view/p/service/.../impression/Stream-level impression beacon
FreeWheel7f077.v.fwmrm.netPrimary ad server — quartile events, completion
Extreme Reachbeacons.extremereach.ioCreative-level tracking + OMID viewability
Google DFPsecurepubads.g.doubleclick.netCompanion/display ads alongside video
DoubleClickad.doubleclick.netAd attribution & conversion tracking
Nielsensecure-dcr.imrworldwide.comAudience measurement during ad playback
Advertiser Pixelstamps.hrzn-nxt.com (example)Per-advertiser conversion pixel (varies per creative)
TV Scientifictvspix.comCTV/OTT ad attribution (live-only)
10. AD CREATIVE DELIVERY SOURCES
SourceHostContentRenditions
Google Video CDNr{n}---sn-*.googlevideo.comVOD ad segments (stitched via DAI redirect)Matched to content quality
Extreme Reach CDNcdn1.extremereach.ioThird-party ad creatives (e.g., Stamps.com)5 renditions (375–25,000 kbps)
CBS Internal CDNp-ause1-adops-output.cbsivideo.comHouse ads / promos (e.g., Star Trek)7 renditions (482–22,876 kbps)
Google DAI Podsdai.google.com/linear/pods/v1/p/Live HLS ad pod segments (.ts)Matched to stream variant
11. ADS OBSERVED IN CAPTURED SESSIONS
PipelineAdVideo/Creative IDDurationCDN / Edge ServerAdvertiser
VODAd 12222756b23a632d9~30sr4---sn-qja5mc-5j.googlevideo.com
VODAd 2b0c790e1d45c7b2d~30sr3---sn-a5msen7s.googlevideo.com
VODAd 381f568a32f216810~30sr5---sn-a5meknzr.googlevideo.com
Live HLSSlot 16817931530.03scdn1.extremereach.ioStamps.com
Live HLSSlot 230507142330.03sp-ause1-adops-output.cbsivideo.comCBS (Star Trek promo)
⚠ GPP Privacy Gap: Four privacy template placeholders ([GPPSTRING], [GPPSECTIONID], [IFA], [IFATYPE]) are present in ad request URLs but never populated with actual values. This suggests the GPP (Global Privacy Platform) integration is incomplete — ad requests may not be fully compliant with IAB GPP specifications.
CDN Architecture — Multi-Vendor Strategy
CDN Provider Hostname(s) Content Type Protocol Cache Strategy
Fastly (Varnish)wwwimage-us.pplusstatic.comImagesHTTPS30 days
Fastly (Varnish)splice-media.paramountplus.comHLS previewsHTTPS15 min
Fastly (Varnish)player-services.paramountplus.comPlayer JS/CSSHTTPS5 min + stale-while-revalidate 5 min + stale-if-error 24 h
Google Video Infrar3/r4/r5---sn-*.googlevideo.comVOD segmentsHTTP/3 QUICPrivate, signed URLs
Akamaiprope4h423g3.airspace.cdn.cbsivideo.comSurvivor DASHHTTPSno-cache
Akamaipropede8cf4h.airspace.cdn.cbsivideo.comLinear DASHHTTPSno-cache
Akamaipropefe9ga3a.airspace.cdn.cbsivideo.comLinear DASHHTTPSno-cache
Akamaiprope34d46hh.airspace.cdn.cbsivideo.comGolazo (HLS)HTTPSno-cache
Akamaipropee33f9c2.airspace.cdn.cbsivideo.comCBS Sports HQHTTPSno-cache
Akamaiprope7000cg2.airspace.cdn.cbsivideo.comMovies, CBS Sports HQHTTPSno-cache
Akamaipropeeh880hf.airspace.cdn.cbsivideo.comMovies, All Day DramaHTTPSno-cache
Akamaipropehdbb66a.airspace.cdn.cbsivideo.comSpongeBob UniverseHTTPSno-cache
Akamaiprope12dc513.airspace.cdn.cbsivideo.comSpongeBob, Animation FavHTTPSno-cache
Akamaiprope26af1ac.airspace.cdn.cbsivideo.comRuPaul's Drag RaceHTTPSno-cache
Akamaiprope828e699.airspace.cdn.cbsivideo.comHistory UndiscoveredHTTPSno-cache
Akamaipropeca301a3.airspace.cdn.cbsivideo.comHistory, 80s SitcomsHTTPSno-cache
Akamaiprope97d0g68.airspace.cdn.cbsivideo.com80s Sitcoms, Adult AnimHTTPSno-cache
CBS Airspace (Fastly)news20e7hhcb.airspace-cdn.cbsivideo.comCBS News HLSHTTPSno-cache, no-store
Google DAIdai.google.comAd pods + proxyHTTPSno-store
Extreme Reachcdn1.extremereach.io3rd party ad creativesHTTPSStandard
CBS Internalp-ause1-adops-output.cbsivideo.comHouse ads/promosHTTPSStandard
🔒 DRM Detail Table
Parameter VOD Live Event (HLS) Live Linear (DASH) Golazo (HLS AES-128)
DRM SystemWidevineWidevineWidevine + PlayReadyHLS AES-128
License ServerIrdetoIrdetoIrdetoIrdeto
Endpointcbsi.live.ott.irdeto.comcbsi.live.ott.irdeto.comcbsi.live.ott.irdeto.comcbsi.live.ott.irdeto.com
License Path/widevine/getlicense/widevine/getlicense/widevine/getlicense/licenseServer/hls/v1/cbsi/key
CrmId/AccountIdcbsi/cbsicbsi/cbsicbsi/cbsicbsi/cbsi
Protection MethodSigned URLs + expiryDAI session tokensMPEG-CENC (dual PSSH)AES-128 key fetch
Content-Typeapplication/x-protobufapplication/x-protobufapplication/x-protobufapplication/octet-stream
Widevine Scheme URIedef8ba9-...edef8ba9-...
PlayReady Scheme URI9a04f079-...
CDM Version19.0.619.0.6
License Challenge4,296 bytes4,296 bytesN/A (key fetch)
License Response672 bytes672 + 720 bytesRaw AES key bytes
Server Namealcatraz_test_drm_serveralcatraz_test_drm_server
Player Components Detail
Component File Size (gzip) Version Used In
Smart TV SDK (Core)smart.tag.js418 KBv1.39.4Live TV
Smart TV SDK (Skin)smart.tag.skin.js194 KBv1.39.4Live TV
Smart TV CSSsmart.tag.skin.css252 KBv1.39.4Live TV (433 cache hits)
Smart TV Plugin (Sidebar)smart.tag.skin.plugin.sidebar.js53 KBv1.39.4Live TV
Smart TV Plugin (Multi)smart.tag.skin.plugin.multi.stream.js62 KBv1.39.4Live TV
Smart TV SVG Pluginsmart.tag.skin.plugin.sidebar.svg.js525 KBv1.39.4Live TV
HLS.jshls.js124 KBv1.5.8Live TV (News)
Shaka Playershaka-player230 KBv4.14.1Live TV (Linear) + VOD
Avia Loaderavia.js83 KBv2.54.0Live TV
Google IMA SDKimasdk.googleapis.comVOD
Movie Player (Top Edge)movieVideoTopEdge-*.min.jsVOD
Movie Player (Bottom)moviesBottom-*.min.jsVOD
Shared Services Summary: Across all three pipelines, Paramount+ relies on 30+ shared services: Irdeto for all DRM (Widevine, PlayReady, and HLS AES-128), OneTrust for consent, Conviva for video QoE, Adobe AEP for analytics, Tealium for tag management, Recurly for billing, Braze for messaging, Sparrow for internal telemetry, and TV Scientific for CTV ad attribution (live-only). The CDN strategy is multi-vendor: Fastly for images/previews/player assets, Google Video Infra for VOD segments, Akamai (14 edge hosts) for live linear/event channels, CBS Airspace for news. Smart Tag v1.39.4 (1.3+ MB) orchestrates live playback with Shaka Player v4.14.1 and HLS.js v1.5.8 running simultaneously.
📥 VOD Segment Request Headers
Header Value
User-AgentMozilla/5.0 (Windows NT 10.0; Win64; x64) Chrome/145.0.0.0
Originhttps://www.paramountplus.com
Refererhttps://www.paramountplus.com/
Accept-Encodinggzip, deflate, br, zstd
Sec-Fetch-Sitecross-site
Sec-Fetch-Modecors
Sec-Fetch-Destempty
📥 VOD Segment Response Headers
Header Value
Content-Typevideo/mp4 or audio/mp4
Cache-Controlprivate, max-age=86XXX
Client-Protocolquic (HTTP/3)
X-CDNFastly (page), Google Video Infra (segments)
📥 Live TV — HLS Segment Headers (CBS News)
Request Headers:
Similar to VOD but Sec-Fetch-Site varies based on cross-origin context
Response Headers:
Header Value
Cache-Controlno-cache, no-store, max-age=0, must-revalidate (manifest)
Content-Typevideo/mp2t (segments)
📥 Live TV — DASH Segment Headers (Linear Channels)
Header Value
Cache-Controlmax-age=0, no-cache
X-CDNAkamai
📥 Live TV — DRM License Request/Response Headers
Request Headers:
Header Value
MethodPOST
Authorization[bearer token]
Content-Typeapplication/octet-stream (binary protobuf)
Response Headers:
Header Value
Content-Typeapplication/octet-stream
Access-Control-Allow-Credentialstrue
Access-Control-Expose-HeadersX-Irdeto-StreamId
📥 Fastly CDN Response Headers (Images)
Header Value
x-real-serverus_www_web_prod_vip1
x-cacheHIT, HIT (shield + edge)
x-cache-hits764031, 6
Cache-Controlmax-age=2592000
access-control-allow-origin*
📥 Fastly CDN Response Headers (Player Assets)
Header Value
Cache-Controlmax-age=300, stale-while-revalidate=300, stale-if-error=86400
x-cacheHIT (multi-tier)
💾 User Profile API Endpoints
  • GET /user-profile/xhr/user/?fetch=false
  • GET /user-profile/xhr/watchlist-ids/?nocache={timestamp}
  • GET /user-profile/xhr/content-preference-ids/?nocache={timestamp}
  • GET /user-profile/xhr/available-avatars/
💾 FreeWheel & Content Metadata APIs
  • GET /freewheel/fms.json?dai=0&coppa=0&userid={uuid}&gdpr_consent=null&gdpr=0
  • GET /movies/xhr/moviepage/extras/{contentId}/offset/0/limit/20/
  • GET /movies/xhr/moviepage/ymal/{contentId}/
  • GET /in-app-messaging/?pageType=movies×tamp={ts}&availableForProfileTypesOnMovies=ADULT
💾 VOD Segment URL Parameters
Parameter Description Example Value
idVideo identifierdQw4w9WgXcQ
itagFormat tag340
sourceSource origindclk_video_ads
requiresslEnforce HTTPSyes
mimeMIME typevideo/mp4 or audio/mp4
xtagsCodec detailsvc:avc, vccf:high, vfr:23.976, vsz:1024x576, vtbr:2600
clenContent length in bytes8472916
expireToken expiration timestamp1739289600
signatureRequest authentication signature[base64 encoded]
💾 Live TV DASH MPD Parameters
  • MPD Type: dynamic (live)
  • Profile: urn:mpeg:dash:profile:isoff-live:2011
  • Min Update Period: 15 seconds
  • Min Buffer Time: 10 seconds
  • Suggested Presentation Delay: 20 seconds
  • Time-Shift Buffer Depth: 55.5 seconds
  • Availability Start: 2025-02-11T22:36:40Z
💾 Google DAI Parameters
VOD:
Stream ID: 3c76d9c3-93c7-41e2-9096-30d847cdd729
Network: 8264
Content: 2497752
Live — 3 DAI Events:
CBS News: Sid4xiTQTkCT1SLu6rjUSQ
CBS Sports HQ: RGKIw3F7RVGzc5E9y8ElLQ
Golazo: 9Lq0ERvoSR-z9AwvFS-xYA
Network ID: 8264
Endpoint: dai.google.com/linear/hls/pa/event/
💾 Privacy Parameters in Ad Requests
Parameter Value / Status Description
us_privacy1YNNCCPA: Yes notice, No opt-out, No restriction
GDPR0Not in EU (US user)
GPP[GPPSTRING]Template placeholder — NOT POPULATED
GPPSECTIONID[GPPSECTIONID]Template placeholder — NOT POPULATED
IFA[IFA]Identifier for Advertisers — NOT POPULATED
IFATYPE[IFATYPE]Type of IFA — NOT POPULATED
API Headers Summary: Paramount+ uses HTTP/3 QUIC for VOD segment delivery from Google Video Infra, with CORS enabled. Live TV manifests use aggressive no-cache headers while segments use shorter TTLs. DRM license requests use binary protobuf in POST bodies with custom Irdeto headers. Fastly-delivered images maintain extremely high cache hit ratios (764,031+) with 30-day TTLs. Google DAI parameters are present for both VOD and live, with network ID 8264. Privacy parameters are partially incomplete (GPP, IFA placeholders not populated), indicating an incomplete Global Privacy Platform implementation.