Notification

Only available in Google Ad Manager 360.

Set up a live stream for DAI

Google Ad Manager DAI can stitch ads into either 24/7 linear streams or live streams.

Three requirements must be completed before you create a live linear stream:

  1. Ensure your content stream meets Ad Manager DAI specifications
  2. Create a slate to fill content gaps
  3. Create an ad tag for DAI

Set up a new live stream

  1. Sign in to Google Ad Manager.

  2. Click Video, then Live streams, then New live stream.

  3. Enter a Name. This name is only displayed in Ad Manager, not externally. It can be a name for your 24/7 linear stream or for a live stream that you're streaming.

  4. Define your live stream settings. Depending on the streaming format you choose (DASH or HLS), some of these options may not be available.

  5. Save your live stream:

    • Save and activate: Saves your live stream to go live on the start date you've specified. You cannot edit a live stream saved in this state until it's paused, which stops the stream for viewers.
    • Save: Saves your live stream in a pending state and allows you to activate later. Your live stream does not go live until you activate.

The live stream should now appear on the "Live streams" page.

Live streams are auto-archived 30 days after the end date.

General settings

Setting Description

Streaming format

Ad Manager currently supports DASH and HLS media file streaming formats.

Dynamic Ad Insertion type

How live stream ads will be inserted.

  • Linear: Used when video content and ads are stitched together into a unique video manifest per user.
  • Segment redirect: Used when the same manifest is used for all users but the ad break segment URLs are redirected to unique ad segments per user.

For a livestream event to be used with the pod serving API, you need to populate several attributes (primarily associated with pod serving) of your event:

  • customAssetKey: A custom identifier to be used for this Event. Must be unique across all Events for the network.
  • adTags: Primary ad tag URL generated by the Ad Manager trafficking workflow.
  • dynamicAdInsertionType: Must be set to POD_SERVING_REDIRECT.
  • streamingFormat: Set to HLS or DASH accordingly.
  • segmentUrlAuthenticationKeyIds: at least one HMAC key used to sign ad segment requests.
  • daiEncodingProfileIds: A list of the DAIEncodingProfile IDs enabled for this event.
  • startDateTime: The start date and time of the event.
  • endDateTime: The scheduled end date and time of this event. This attribute is required if unlimitedEndDateTime is false and ignored if unlimitedEndDateTime is true.

Start time

The time when Ad Manager can begin to ingest the stream. Click Immediately if your stream is available now.

If your stream is intended for a live event, it's best to start several days before the actual event for testing. At minimum, you should choose a time 15 minutes before the stream becomes available.

End time

If your stream will run 24/7, click Unlimited. Otherwise, if you are streaming an event, choose an end time when there should be zero viewers of the stream. You may want to add a buffer of at least 15 minutes relative to the scheduled end time of the event.

DAI authentication keys

Used to authenticate stream requests  to the DAI SDK API.

Slate

Slates are served when there are gaps in a live stream commercial break that cannot be filled with a dynamically-served ad.

If you don't want to show the network default slate, click Override and choose a slate to run for this live stream only. You are not billed for slates.

Content stream settings

Setting Description

Content stream

The URL of the content stream source, for ingestion by Ad Manager.

The content stream URL should point to the master m3u8 of your live HLS stream. It can be the URL of an ongoing content stream (for example, a television channel) or a single stream (for example, a sports match).

(Optional) If you have alternate encoders/packagers that can be used by Ad Manager to ensure ingest of the content stream, click Add backup stream. These backups are processed to provide a DAI live stream with ads.

Master playlist refresh     

How often the master playlist should be refreshed.

  • Automatic: Automatically refresh the master playlist every few minutes.
  • Manual: Ad Manager should display a refresh button that lets you to control when and how often the playlist is refreshed.

This feature may not be turned on for your network. If this is not available, you can contact your account manager for more information.

Playlist type

The type of the playlist associated with this live stream.

  • Event: When media segments can only be added to the end of the playlist. This allows viewers to scrub back to the beginning of the playlist. This type should be used for streams with the #EXT-X-PLAYLIST-TYPE:EVENT tag.

    Event playlists will only be served for 14 days after the stream has ended.

    Event playlists are not supported with SSB.

  • Live: (Default for all live streams) When there are no restrictions on whether media segments can be removed from the beginning of the playlist. This should be used for streams without the #EXT-X-PLAYLIST-TYPE tag.

Live stream content configurations
(Optional)

If your external CDN requires authentication, select an existing CDN configuration, or click to create a new configuration.

Supported for HLS only.

In the Ad Manager live steam interface, previously selected content configurations can be clicked to open them in a new window.

DVR window
(Optional)

The duration (in seconds) of content a viewer is able to scrub back to when watching a live stream. This is available with both the "Event" and "Live" playlist types.

The DVR window only applies to streams created with client-side beaconing.

Relative playlist URLs

Activate relative, rather than fixed, playlist URLs (relative to the delivery prefix in your CDN configuration).

Supported for HLS only.

Allowed IP access

Activate to allow specific IP addresses to access this content source, regardless of blocked geographic regions.

DASH manifest type

Whether the DASH manifest is provided as a single-period or multi-period manifest. This allows DAI to apply DASH bridge conditioning to convert single-period to multi-period, if needed.

Pre-roll ad break settings

This feature is in Beta
Features in Beta phase might not be available in your network. Watch the release notes for when this feature becomes generally available.
Setting Description
Pre-roll ad break settings Pre-roll ad break settings are optional. If enabled, you must add an ad tag and set max duration.
Ad tag

Required if pre-roll ad break settings are enabled. If you do not have one, you can create a default ad tag for DAI.

Ad tag parameters overrides sent when requesting a stream apply to both mid-rolls and pre-rolls.

Maximum pre-roll duration Enter a duration of pre-roll of 1 second or more. Required if pre-roll ad break settings are enabled. 

Mid-roll ad break settings

Setting Description

Master ad tag

Create a default ad tag for DAI and enter it here. You can alternately click Create tag and follow the DAI-specific instruction to create an ad tag.

Ad tag parameters overrides sent when requesting a stream apply to both mid-rolls and pre-rolls.

Empty ad break fill type

The type of video content displayed in an ad break when the VAST response is empty. Partially filled ad breaks always fill the remaining time with slate. However, when an empty VAST response is received, you can choose whether you want to display slate or underlying content.

  • Slate: displays video content that you've created as slate to fill the break.
  • Underlying content: displays live stream content to fill the break.

Underfill ad break fill type
 (Beta) 

The type of video content displayed in an ad break when there aren't enough ads to fill the entire break.

HLS supports slate and underlying content.

DASH supports slate and minimize slate.

  • Slate: displays video content that you've created as slate to fill the break.
  • Underlying content: displays live stream content to fill the break.
  • Minimize slate: displays live stream content to fill the break. When ad content cannot be aligned with underlying content during transition, the gap is bridged with slate to maintain the timeline.
Ad break markups Whether to allow all-supported ad break markups or only specific markups. In most instances, the default Allow all ad break markups should be chosen. If you have a specific need to omit certain types, you can do so by choosing specific markups. Learn more about supported markups for HLS or DASH.

Durationless ad breaks

Activate if the live stream contains cue-out markers without duration, when the ad break duration is unknown in advance.

Default ad break duration

The default ad break duration (in seconds) that should be requested when an ad break cue-out does not specify a duration. This is only available when "Durationless ad breaks" is activated.

If the default duration is shorter than the actual break, Ad Manager fills the remaining time with a slate. If the duration is longer, the ad is cut off.

Prefetch ad breaks

Request an initial and subsequent portion of the ad break.

This is recommended for all live events to more evenly distribute ad requests and prevent throttling errors in both Ad Manager and third-party ad servers. When activated, you'll need to specify an initial ad request duration.

Prefetch prevents SCTE-35 targeting to be used for the "Initial ad request duration" as this duration is decisioned before the CUE-OUT. Learn more about target ad breaks with SCTE-35 signals.

Force close ad breaks
 (Beta) 

Whether live stream placement opportunities without #EXT-CUE-IN markers should be force closed.

Supported for HLS only.

Drop short ad break segments
 (Beta) 

Whether segments shorter than 1 second at the end of an ad pod should be dropped.

Supported for HLS only.

Initial ad request duration

The number of seconds allotted for the initial ad request for prefetched ad breaks. This is only available when "Prefetch ad breaks" is activated.

You should set this duration to as long as possible to increase the benefits of prefetching, but not longer than the shortest ad break expected. For example, for a live event with 30s and 60s ad breaks, the initial duration should be set to 30s.

Ad holiday duration
(Optional)

The duration in seconds from the time the user enters the video stream, for which mid-roll decisions are skipped. This field is only applicable when an ad holiday (dai-ah) is in the stream request.

The ad holiday feature is especially helpful when client-side pre-rolls are used before a live stream. It is activated to avoid showing viewers an ad immediately after they've just watched a pre-roll ad.

Maximum filler duration

Activate to set the maximum number of seconds that can be used to fill this ad pod, either with a slate or underlying content, depending on your settings. If more time needs to be filled, the ad pod will instead be dropped and the underlying content will be served.

Underlying content used to fill an underfilled ad break

When you select to stream underlying content to fill an underfilled ad break:

  • All segments must be conditioned to start with a keyframe/Instantaneous Decoding Refresh (IDR) as required by the HLS spec. Improper content conditioning can cause the player to handle things incorrectly and break playback. Any frames that exists prior to the first IDR are likely be discarded. 
  • Ad Manager cuts back to the closest segment once the ad ends, which may cause segment misalignments and time drifts. Because of this, it's possible for the timeline to begin lagging by a few seconds. 
  • Returning to content adds time to the playback timeline (up to one segment duration per ad break), gradually increasing the playhead lag behind the live segment.

Edit a live stream mid-stream

If you need to edit a live stream once the stream has begun, change the live stream status to Paused on the "Live streams" page. You can also set the status to Ads paused to allow the stream to continue without ads. When you're done making edits, change the status back to Active. It can take up 15 minutes for ads to begin again.

Use caution when editing an active live stream

You'll be prompted to confirm any update to the status of a live stream.

Some settings can be edited during an active live stream, without pausing the stream. You should exercise caution when editing these settings during the stream, as the edits may impact traffic, cause errors, or break the stream for some or all users. These include start time, end time, DAI authentication keys, live stream content configurations, use allowlisted IPs, and DVR window.

Setting the stream to Archived pauses the stream and filters it from the default view in Ad Manager. You can remove the filter to view archived streams.

Locate live linear stream URL and asset key

After you save the live stream in Ad Manager, the "desktop stream URL" and "app stream URL" are displayed on the live stream details page. You can copy the "Asset key" and use it to generate an SSB URL or to request a stream for an application that uses the SDK.

To find the asset key in Ad Manager:

  1. Sign in to Google Ad Manager.
  2. Click Video, then Live streams.
  3. Click the name of the live stream and locate the asset key.
 
For any issues related to DAI troubleshooting or outages, contact publisher support.

Was this helpful?

How can we improve it?
true
Get started with Dynamic Ad Insertion

Our guide to delivering a seamless ad experience across live, linear, and on-demand video content.
See the guide

Search
Clear search
Close search
Google apps
Main menu