SCTE-35 cue messages are little binary payloads that live in the elementary stream — historically PID 0x1F in MPEG-TS, now also as emsg boxes in CMAF. Each cue carries an event ID, an event type (splice insert, splice null, time signal), a presentation timestamp, and optional UPID (Unique Programme Identifier) and segmentation descriptors. When a broadcaster wants to mark "ad break starts in 4 seconds for 30 seconds", they emit an SCTE-35 cue at the appropriate timestamp.
The SSAI pipeline picks up SCTE-35 cues from the live stream, queries the ad decisioning server using the cue's metadata (programme ID, ad break duration, geo of viewer), receives ad segment URLs, and stitches them into the per-viewer manifest at the cue timestamp. The original cues are also passed through to HLS manifests as #EXT-X-DATERANGE or #EXT-X-CUE-OUT/#EXT-X-CUE-IN for backward-compatible CSAI players.
SCTE-35 is the de-facto signalling for ad breaks in linear broadcast and FAST channels. Every contribution encoder, packager, SSAI server and live-streaming tool understands it. The 2022 revision (SCTE 35 2022) added clearer guidance on CMAF carriage, multi-period DASH integration, and dynamic ad insertion in live streams. Major SSAI vendors (MediaTailor, Yospace, Google Ad Manager) all consume SCTE-35 as their primary trigger.

