Target ad breaks with SCTE-35 signals
DFP supports broadcast standard SCTE-35 signals for Dynamic Ad Insertion on live stream content. This allows you to use metadata from SCTE-35 markers to perform break-level ad targeting (for example, the first break in live sporting event).
While the SCTE-35 specification has many use cases, DFP supports the following two commands, for ad insertion:
splice_insert: a simple ad break start and end like
time_signal: can include arbitrary metadata or ad break ownership information, such as local versus national. Metadata is embedded in what is called a segmentation descriptor.
Requirements and restrictions
- Your stream should conform to all live stream requirements, including OUT and IN cuepoints.
- Only one command type is used:
- Markers are encoded in the playlist in base64 format as the only attribute of the
If there are multiple markers on the same cue-point, only the first is used.
SCTE-35 cue-out markers occur on the same segment as the
EXT-X-CUE-OUT. This means that segments are split at the ad break boundary and the SCTE-35 message occurs at the exact moment of cue-out.
SCTE-35 markers occur either at cue-out only, or at cue-out and cue-in. Overlapping or nested ranges of SCTE-35 markers are not supported.
SCTE-35 messages are not yet supported for video on demand.
The SCTE-35 message is binary so the representation in the manifest is encoded base64.
In this example, the encoder has generated the HLS markup and you can see the existing
EXT-X-CUE-IN markers, plus additional
EXT-OATCLS-SCTE35 that includes the SCTE-35 message as an attribute. DFP assumes the following about how the encoder renders the in-band SCTE-35 message:
splice_event_idfield is used for ad targeting. For
time_signal, either the
unique_program_id(converted to a string) or the
splice_event_idfields are used.
- All feeds indicate return to content through
EXT-X-CUE-IN, not a
- The ad break duration is always extracted from
EXT-X-CUE-OUT, not the SCTE-35 message.
- Commands do not overlap.
DFP does not currently support markup syntax for SCTE-35 other than
Enable SCTE-35 for Dynamic Ad Insertion on live stream content
If your feed includes
EXT-OATCLS-SCTE35 markup, the metadata is automatically extracted and made available through custom key-values. You need to set up the custom key-values, and insert them as macros when you generate ad tags.
When you set up the new custom key-values for the SCTE-35 fields, use a custom key (for example, "scte35") and set the value to the macro(s) that correspond to which type of field is available in your feed:
The first three macros, which are unsigned integers in the SCTE35 message, are converted to strings as decimal numbers. Also,
%%TIME_SIGNAL_UPID%% is rendered as lowercase hexadecimal, with no