Key concepts
Discover the terminology and set of features related to DAI services at a high level
Different ad insertion service types
A DAI Service is defined by two uniquely identified sources:
- a content source : either live or asset catalog type
- an ad server source (ad server type) that will return VAST or VMAP documents.
Depending on the type of source, you can set different ad insertion service types:
Ad insertion type | Behavior | Source type |
---|---|---|
Pre-roll only | Insert an ad break before the content starts playing. This ad insertion type requires the ad server to return a VAST payload that lists the ads to insert. | Live source or Asset catalog (VOD) |
Pre-roll, mid-roll and post-roll | Insert ad breaks before, during and at the end of the content. It requires the ad server to return a VMAP payload to identify the ad break placement and list the ads to insert, or the use of the broadpeak.io Ad Proxy. | Asset catalog (VOD) |
Ad replacement | Identify ad break opportunities in a live stream thanks to SCTE35 markers and insert alternative ads provided by VAST requests to an ad server. | Live source with SCTE35 markers |
Live pre-roll and live ad replacement are compatible and can both be activated within a same service, i.e. a single video stream.
You can find more information about the three types of ad insertion in the Use cases section. The rest of this article presents some key concepts that are necessary to understand in order to fully benefit from DAI services.
Ad Server
Understanding video advertising
For a generic introduction to the concepts used in video advertising, head to Video advertising
The Ad Server is the service/component that programmatically decides which ads and which pod (sequence of ads) should be returned when receiving a request from a Server-Side Ad Insertion (SSAI) service like broadpeak.io.
broadpeak.io communicates with Ad Servers through protocols standardized by IAB:
- VAST (in the case of a live or pre-roll for asset catalogs)
- VMAP (in the case of a VoD asset catalog).
Ad Decisioning
It is important to understand that ad decisioning is the remit of the ad server, not the SSAI solution. The ad server will use data from multiple sources, including data that transits through broadpeak.io, coming from the players.
A typical data flow looks like the following:
- The playback request comes from the player/app (bottom right). The request comes with headers (such as IP address, user agent, etc.) and optionally with query parameters (with metadata such as identifiers for content, user, device and/or any other contextual data).
- The request goes through the CDN to broadpeak.io. Those headers and parameters must be retained and forwarded by the CDN.
- broadpeak.io uses information from headers and query parameters and maps them to headers and/or query parameters that are sent to the Ad Server inn the ad tag. Additional information extracted from the source content (in particular from SCTE markers) can also be added to this mapping. The mapping is configurable in the broadpeak.io service (see below).
- The ad server uses the information to evaluate its targeting rules, perform the ad bidding (if using programmatic) and essentially determine which ads to serve. It is common for the ad server to retrieve and/or use additional data acquired from DMPs (usually for audience segmentation) and from the CMS (typically content metadata). The way it obtains that data is generally specific to each ad server.
In such a typical flow, the broadpeak.io SSAI is only responsible for the mapping and transit of data that it receives from the client-side. No decisioning is made about whether to insert ads or not, what type of ads, or even which SSP to send requests to.
Configuration in broadpeak.io
Within broadpeak.io, you configure the ad tags as sources with the "Ad Server" type.
The following screenshot shows configuring a sample Ad Server source in the Web App. It illustrates how different types of query parameters can be used on the VAST or VMAP requests to pass relevant contextual data to the ad server for ad targeting (usually known as Ad Macros).
The query parameters to use in an ad tag are defined by individual ad server vendors. Their value can be static or dynamic, based on how the Ad Server source is associated with a DAI service.
More information on these options can be found in this article
IP Whitelisting
For security and ad fraud reasons, some Ad Servers require the SSAI service (here, broadpeak.io) to be whitelisted to access their backend API. If so, don't forget to add the IP addresses specified in this section to unlock communication.
Ad Proxy
There are times when the payload returned by the ad server does not fully meet the requirements of your use case. broadpeak.io provides functionality to tune the integration with the ad server.
AVOD Scheduling
Ad insertion in AVOD scenarios generally require the ad server to return a VMAP payload, which essentially contains a schedule telling the system in charge of inserting the ads (in this case, broadpeak.io) at what point in the asset timeline to perform the insertion.
However, not all ad servers are able to return such a payload. If your ad server returns a VAST payload, it will only be used as a pre-roll.
Luckily, the broadpeak.io Ad Proxy feature can be used to dynamically generate such a schedule of ad opportunities and interact with the ad server’s standard VAST tags to fill them. You will find more information on this feature in Ad Proxy for AVOD ad scheduling
Transcoding option
An ad insertion service is a combination of a VOD or Live source and an ad server that indicates ads to insert. For the insertion to be effective, the encoding of the source and that of the ad must be compatible. broadpeak.io allows you to specify optional transcoding settings for creatives that are not encoded yet. A transcoding profile will detail the way a mediafile should be encoded: layers, resolution, bitrate, codecs, etc.
When creating an ad insertion service, you have the choice to activate the transcoding option and choose a relevant transcoding profile (see here to check how to create a transcoding profile).
- If deactivated, broadpeak.io will fetch the already prepared ads using the ad creative URL returned in the Ad Server response. This typically matches the ad inventory Direct Sales mode.
- Conversely, if activated, broadpeak.io transcodes all new ad creatives with the transcoding and packaging settings specified in the transcoding profile.
Transcoding ad creatives gives you the confidence to maximize and control end user QoE. This is an important feature in the case of Programmatic ad sale, as ad creatives are selected on the fly through real time bidding exchanges or market places without any guarantee in terms of quality or consistency with the ABR profiles used by your streaming services.
Ad breaks and gap filler
Ad replacement is a service type currently only available for live streams. The principle of ad replacement is to insert ads during time periods identified in the live source manifest. Streaming standards are using SCTE35 markers for such identification.
When an ad replacement happens, broadpeak.io requests to the ad server an ad sequence that matches the duration of the breaks. Often, inserted ads can not perfectly match the duration of the ad break. The remaining seconds between the end of the last ad and the end of the ad break can be filled by a Gap Filler.
The gap filler is based on a Slate source already declared in broadpeak.io. You may use promotional content such as a logo to leverage and promote your brand or any other service package.
Server-Side Ad Tracking
Ad tracking with broadpeak.io can work with a Client-Side Ad Tracking system, which uses a tracking link between the player and the Ad server. In this case, the platform won't be part of the ad tracking workflow.
But if players can not handle ad tracking, broadpeak.io provides an Server-Side Ad Tracking (SSAT) system that can be activated when creating any ad insertion service. In this case, the platform sends beacon requests to the ad server to declare which part of the ad has been returned to the player: impression, start, 25%, 50%, 75% and complete.
Updated 3 days ago