Loading Search...
3rd Party Ad Provider Integration Guide

Audience and Overview

This guide is intended for publishers that wish to traffic in-stream video ads using a third party advertising provider. Before proceeding, you must have an existing account with a Limelight supported ad-server or network.

Table of Contents


1.0 Video Advertising Overview

Video advertising allows high quality content producers to monetize content. The Limelight Video Platform provides a number of mechanisms to help producers serve ads, including integrations with professional third party advertising networks and servers. The Limelight Video Platform fully supports the following third parties. Many more integrations are currently in progress:

1.1 Definitions

Limelight realizes that the video advertising space can be very complex, containing lots of terms and various options. Therefore, to avoid confusion, we offer the following definitions. (source: Interactive Advertising Bureau (IAB)).

Types of Ad Providers

Term Definition
Ad Server A 3rd party technology vendor enlisted by an agency (or advertiser) to manage their campaigns across multiple networks and web properties. The ad server provides tools to facilitate ad trafficking and to provide reporting on ad performance.
Ad Network Advertising networks function as aggregators of video advertising inventory and enable publishers to generate advertising revenue from their video content libraries or other advertising inventory without a direct sales relationship to an advertiser.

In-Stream Video Ad Types

The Limelight Video Platform supports the following ad types through an integration with a third party provider.

Term Definition
Linear Video Ad A linear video ad is presented before, in the middle of, or after the video content is consumed by the user, in very much the same way a TV commercial can play before, during or after the chosen program. One of the key characteristics of a Linear Video ad is that the user watches the ad instead of the content as the ad takes over the full view of the video. Examples include:
  • pre-rolls
  • post-rolls
  • mid-rolls
Non-Linear Video Ad Non-linear video ads run parallel to the video content so the users see the ad while viewing the content. Non-linear video ads can be delivered as text, graphical ads, or as video overlays. Common Non-linear Video ad products include:
  • Overlays which are shown directly over the content video itself
  • Product placements which are ads placed within the video content itself
Companion Ads Companion Ads are commonly text, display ads, rich media, or skins that wrap around the video experience, can run alongside either or both the video or ad content. The primary purpose of the Companion Ad product is to offer sustained visibility of the sponsor throughout the video content experience. Companion Ads may offer click-through interactivity and rich media experiences such as expansion of the ad for further engagement opportunities. A commonly used companion ad is a companion banner.

2.0 Ads on Media Versus Channels

The Limelight Video Platform permits the placement of ads on both individual media and channels. However, before attempting to implement your ad strategy you will want to determine the appropriate location for the ads. For example, if each of your media requires a different ad configuration then you will want to apply your ads at the media-level rather than the channel-level. Other common use cases for ads on media versus channels are outlined below.

Note: Media-level ads and channel-level ads are additive. Therefore, if you have ads on both media and channels, any embeds of the channel will reflect both the channel-level ads and the media-level ads.

When to Place Ads on Media:

  • Need for Mid-Roll - Mid-roll ads, or ads that occur during video playback, can only be applied to media
  • Using a Media Embed Code - The ad settings for a channel are only applied if an entire channel is embedded. If you are embedding a media independent of a channel then only media-level ads will apply.
  • Loading Media via API - If you use a function such as doLoadMedia() then only media-level advertising will be reflected in the player

3.0 Applying Ads to a Media

Advertising can be applied to individual media by declaring 'Cue Points'. A cue point is a declared action that occurs at a specific time, either before video playback (pre-roll), during (mid-roll) or after (post-roll). You can have multiple advertising breaks in the same media by declaring multiple cue points. The following outlines the steps required to add an advertisement using a cue point:
  1. Log into your Limelight Video Platform account
  2. In the 'Media' tab, select your desired media
  3. In the 'Media Properties', select the 'Cue Point' icon, located to the right of the thumbnail image above the scissors



  4. Select 'Add'. A new cue point will appear at the beginning of the timeline
  5. Drag the cue point to the desired location, either pre-roll, mid-roll or post-roll
  6. In the 'Properties', insert the specific values related to your chosen ad provider (for more information, see the sub-sections below). If your desired advertising provider is not represented, please contact us here
  7. Save your settings. All subsequent plays of your media will adhere to the saved cue points

3.1 Adaptv

The following fields are required when using Adaptv as the ad provider on a cue point:

Note: An Adaptv cue point will always appear as 'pre-roll' in the timeline. This is because the configuration of the ad types and locations is done from within the Adaptv account and not as part of the cue point declaration.

Field Description
Publisher Key A unique key assigned to you by Adaptv
Key-Value Pairs
(Optional)
A list of optional key-value pairs. Key-value pairs are sent in ad requests and can give the ad provider information about the context of the ad, helping the ad server optimize ad targeting. Key-value pairs should be separated by a carriage return.
Domain List A list of accepted domains where advertising should be applied. Adaptv will only serve ads to players on these domains.

Example:

3.2 AdTech

The following fields are required when using AdTech as the ad provider on a cue point:

Field Description
Ad URL An ad server URL containing all the necessary AdTech ad-tags. This URL consists of the ad server address and additional information specific to AdTech. It is used to make an ad request to the ad server.
Tracking Pixel URL
(Optional)
A tracking pixel is a method for tracking ad displays for reporting purposes. For example, a tracking pixel can be used to send ad performance metrics to external ad servers or existing analytics engines (e.g. Google Analytics). You can specify one or more tracking pixels by entering a URL. LVP will make an HTTP request to each pixel when the ad request is made.

Example:

3.3 Dart

The following fields are required when using DART as the ad provider on a cue point:

Field Description
Ad URL An ad server URL containing all the necessary DART ad-tags. This URL consists of the ad server address and additional information specific to DART. It is used to make an ad request to the ad server.
Tracking Pixel URL
(Optional)
A tracking pixel is a method for tracking ad displays for reporting purposes. For example, a tracking pixel can be used to send ad performance metrics to external ad servers or existing analytics engines (e.g. Google Analytics). You can specify one or more tracking pixels by entering a URL. LVP will make an HTTP request to each pixel when the ad request is made.

Example:

3.4 LiveRail

The following fields are required when using Live Rail as the ad provider on a cue point:

Note: A Live Rail cue point will always appear as 'pre-roll' in the timeline. This is because the configuration of the ad types and locations is done from within the Live Rail account and not as part of the cue point declaration.

Field Description
Publisher ID A unique ID assigned to you by LiveRail
Key-Value Pairs
(Optional)
A list of optional key-value pairs. Key-value pairs are sent in ad requests and can give the ad server information about the context of the ad, helping the ad server optimize ad targeting. Key-value pairs should be separated by a carriage return.

Example:

3.5 Tremor Media

The following fields are required when using Tremor Media as the ad provider on a cue point. You must first create a Program Rule in the Acudeo Management Console to deliver ads to your Acudeo-enabled Limelight Video Platform Player. Please refer to the Acudeo Console Users Guide for more detailed information.

Note: A Tremor Media cue point will always appear as 'pre-roll' in the timeline. This is because the configuration of the ad types and locations is done from within the Tremor Media account and not as part of the cue point declaration.

Field Description
Program ID A unique ID for your program, assigned to you by Tremor
Domain List A list of accepted domains where advertising should be applied. Tremor will only serve ads to players on these domains.

Example:

4.0 Applying Ads to a Channel

The following outlines the required steps to apply a third party ad provider to a Limelight Video Platform channel:
  1. Log into your Limelight Video Platform account
  2. In the 'Channels' tab, select your desired channel
  3. Select 'Channel Settings' and toggle to 'Advertising'



  4. Select your desired advertising source from the drop-down. If your desired advertising source is not represented, contact us here
  5. Insert the specific values related to your chosen ad provider (for more information, see the below sub-sections of this document)
  6. Lastly, save your settings. All subsequent plays of your channel will adhere to the ad policies set in your 3rd party ad account.

4.1 Adaptv

The following fields are required to integrate an Adaptv account with a Limelight Video Platform channel:

Field Description
Publisher Key A unique key assigned to you by Adaptv
Domain List A list of accepted domains where advertising should be applied. Adaptv will only serve ads to players on these domains.
Key-Value Pairs
(Optional)
A list of optional key-value pairs. Key-value pairs are sent in ad requests and can give the ad server information about the context of the ad, helping the ad server optimize ad targeting. Key-value pairs should be separated by a carriage return.

Example:

4.2 AdTech

A value for at least one of the following fields is required to integrate an AdTech account with a Limelight Video Platform channel:

Field Description
Pre Roll URL An ad server URL containing all the necessary AdTech ad-tags. This URL consists of the ad server address and additional information specific to AdTech. It is used to make an ad request to the ad server.
Post Roll URL An ad server URL containing all the necessary AdTech ad-tags. This URL consists of the ad server address and additional information specific to AdTech. It is used to make an ad request to the ad server.

Example:

4.3 Dart

A value for at least one of the following fields is required to integrate a DART account with a Limelight Video Platform channel:

Field Description
Pre Roll URL A pre-roll ad server URL containing all the necessary DART ad-tags. This URL consists of the ad server address and additional information specific to DART. It is used to make an ad request to the ad server.
Post Roll URL A post-roll ad server URL containing all the necessary DART ad-tags. This URL consists of the ad server address and additional information specific to DART. It is used to make an ad request to the ad server.

Example:

4.4 Eyewonder

A value for at least one of the following fields is required to integrate an Eyewonder account with a Limelight Video Platform channel:

Field Description
Pre Roll URL A pre-roll ad server URL containing all the necessary ad-tags. This URL consists of the ad server address and additional information specific to Eyewonder. It is used to make an ad request using the Eyewonder UIF (Universal In-Stream Framework)
Post Roll URL A post-roll ad server URL containing all the necessary ad-tags. This URL consists of the ad server address and additional information specific to Eyewonder. It is used to make an ad request using the Eyewonder UIF (Universal In-Stream Framework)
Overlay URL An overlay ad server URL containing all the necessary ad-tags. This URL consists of the ad server address and additional information specific to Eyewonder. It is used to make an ad request using the Eyewonder UIF (Universal In-Stream Framework). Two additional parameters can be specified with this URL:
  • Overlay Delay - The playback time (in seconds) that must be consumed by the user before an overlay is displayed
  • Overlay Duration - The length of time (in seconds) that the overlay should display

Example:

4.5 LiveRail

The following fields are required to integrate a LiveRail account with a Limelight Video Platform channel:

Field Description
Publisher ID A unique ID assigned to you by LiveRail
Key-Value Pairs
(Optional)
A list of optional key-value pairs. Key-value pairs are sent in ad requests and can give the ad server information about the context of the ad, helping the ad server optimize ad targeting. Key-value pairs should be separated by a carriage return.

Example:

4.6 OAS

A value for at least one of the following fields is required to integrate an OAS account with a Limelight Video Platform channel:

Field Description
Pre Roll URL A pre-roll ad server URL containing all the necessary OAS ad-tags. This URL consists of the ad server address and additional information specific to OAS. It is used to make an ad request to the ad server.
Post Roll URL A post-roll ad server URL containing all the necessary OAS ad-tags. This URL consists of the ad server address and additional information specific to OAS. It is used to make an ad request to the ad server.

Example:

4.7 Tremor Media

The following fields are required to integrate a Tremor account with a Limelight Video Platform channel. You must first create a Program Rule in the Acudeo Management Console to deliver ads to your Acudeo-enabled Limelight Video Platform Player. Please refer to the Acudeo Console Users Guide for more detailed information.

Field Description
Program ID A unique ID for your program, assigned to you by Tremor
Domain List A list of accepted domains where advertising should be applied. Tremor will only serve ads to players on these domains.

Example:

5.0 Enabling Companion Banners

A third party ad companion banner can be enabled on your page in conjuction with a Limelight Video Platform player. The sections that follow provide instructions on how to enable companion banners with various third party ad providers. For more information, see your specific provider's documentation.

5.1 Tremor Media

If you are including Tremor Companion Banner Ads in your campaign, you will need to define an i-Frame location in your HTML page into which Acudeo can deliver Companion Banners to your Acudeo- enabled Limelight Video Platform Player, whether the banners are simple JPEG/GIF images or rich media creatives.

The following outlines the steps required to enable a companion banner:
  1. Add appropriate CSS to the Limelight Video Platform Player’s HTML page to define the
    container attributes and positioning as desired for display of the companion ad banner(s). The top and left coordinates place the companion banner in your desired location on the HTML page:
    
      // Sample CSS
    #adCompanionBanner {
    position: absolute;
    left: 415px;
    top: 40px;
    height: 250px;
    width: 300px;
    font-family: Arial, Helvetica, sans-serif;
    font-size: 9px;
    font-style: normal;
    text-align: center;
    vertical-align: top;
    margin: 0px;
    padding: 0px;
    color: #ADC244;
    z-index: 10;
    }
    

  2. Add the following DIV Tag to provide a container for the placement of the Tremor Media companion ad banner:
    
    
    <div id="adCompanionBanner"></div>
    

  3. Add the following JavaScript code to the Limelight Video Platform Player’s HTML page for the Tremor Media companion banner to display:
    
    
    <script type="text/javascript"
    src="http://objects.tremormedia.com/embed/js/banners.js"></script>
    
    <script type="text/javascript">
    function displayCompanionBanners(banners) {
    tmDisplayBanner(banners, "adCompanionBanner", 300, 250);
    }
    </script>
    

  4. If you would like to hide the companion banner after a pre-roll ad has completed display, add the following code to your Limelight Video Platform Player’s HTML page instead of the code provided in Steps 2 and 3 above:
    
    
    <div id="adCompanionBanner" style="visibility:hidden"></div>
    

    <script type="text/javascript">
    function displayCompanionBanners(banners) {
    tmDisplayBanner(banners, "adCompanionBanner", 300, 250);
    }
    
    function hideCompanionBanners(banners) {
    tmHideBanner("adCompanionBanner");
    }
    </script>
    

5.2 DART

The following steps outline how to enable a DART companion banner with a Limelight Video Platform player. For more information on how to declare Google companion ads, click here:
  1. Add the following script to your page for the placement of the DART companion ad banner:
    
    
    <script type="text/javascript">
        googletag.display('/%network%/%site%/%zone%', [300, 250]);
    </script>
    

  2. Add the following JavaScript code to the Limelight Video Platform Player’s HTML page for the DART Media companion banner to display:
    
    <script language="javascript" src="http://www.googletagservices.com/tag/static/google_services.js">
    </script>
    <script type="text/javascript">
        adSlot1 = googletag.defineSlot('/%network%/%site%/%zone%', [300, 250]);
        adSlot1.set("ad_type", "image");
        adSlot1.addService(googletag.companionAds());
    
        // Enable companion ads service
        googletag.enableServices();
    </script>
    

6.0 Applying Ads Via API

Instead of changing each ad setting in a Limelight Video Platform account, publishers can utilize APIs to dynamically apply ads or override channel ad settings. This offers increased control over what ads are displayed for a channel or individual media. Ads can be programmatically controlled via javascript or via embed code flashvars. The sections that follow outline each of these two approaches.

6.1 Advertising Javascript Functions

Dynamic ad settings for media and channels can be inserted and controlled via the following Javascript functions. These functions can be used in conjuction with a javascript callback function, allowing you to insert ads following a player event such as 'onPlayerLoad'. See the Limelight Video Platform Player API for more information on Limelight Video Platform callback functions and events.

The following functions can be used to dynamically control advertising settings (example usage can be found in the sections below this table):

Event Description Parameters
doSetAd
(position: string, type: string, params: string)
Defines custom ad settings for all media played during the player session
  • position (string) - valid values are 'preroll' and 'postroll'
  • type (string) - valid values are 'Adtech', 'Adaptv', 'Acudeo', 'Dart', 'LiveRail', 'OAS', 'None'
  • params (string) - ad provider specific settings, delimited by '&'
doSetAddFrequency
(value: integer)
Control how many video clips to play in between ads. For example, "frequency=3" will indicate to the player that for each ad inserted, 3 more videos will be played back (including the one where ad was inserted) before another ad is inserted.
  • value (integer) - the number of video clips to play in between ads

The following lists the required parameters for each specific ad provider. Additional optional paramaters can also be used. See your ad provider's documentation for a list of optional parameters:

Ad Provider Required Parameters
Acudeo
  • programId
AdTech
  • url
Adaptv
  • key
Dart
  • url
OAS
  • url
LiveRail
  • LR_PUBLISHER_ID

Examples of the above functions:

// Dart
//notice that the value for the ad-tag url is url encoded

DelvePlayer.doSetAd('preroll', 'Dart', 'url=http%3A%2F%2Fad.doubleclick.net%2Fpfadx%2FN270.126913.6102203221521%2FB3876671.21%3Bdcadv%3D2215309%3Bsz%3D0x0%3Bord%3D%255Btimestamp%255D%3Bdcmt%3Dtext%2Fxml');

// AdTech
//notice that the value for the ad-tag url is url encoded

DelvePlayer.doSetAd("preroll", "AdTech",
"url=http%3A%2F%2Fadserver.adtechus.com%2Faddyn%2F3.0%2F5153%2F463152%2F0%2F751%2FADTECH%3Bkey%3Dspider");

//Adaptv

DelvePlayer.doSetAd("preroll", "Adaptv", "key=kj734&zid=myzone");

// Acudeo / Tremor

DelvePlayer.doSetAd("preroll", "Acudeo",
"programId=4831b986b775c");

// Removes postroll URL

DelvePlayer.doSetAd("postroll", "None");

// Sets ad frequency to 3

DelvePlayer.doSetAdFrequency(3);

6.2 Advertising FlashVars

There are two valid advertising Flashvars: "preroll" and "postroll". These define where to insert the ad settings in each media's playback. The list of parameters to these vars are specific to which ad provider is being used, however all must include the "type" parameter which indicates the ad provider. Subsequent parameters are delimited by the '&' symbol. For instance:

type=AdTech&url=http%3A%2F%2Fadserver.adtechus.com %2Faddyn%2F3.0%2F5153%2F463152%2F0%2F751%2FADTECH%3Bkey%3Dspider

The actual URL parameter is:

http://adserver.adtechus.com/addyn/3.0/5153/463152/0/751/ADTECH;key=spider

Notice that the actual url must be urlencoded so that '=' isn't parsed as a Flashvar. Further note that the whole parameter string needs to be urlencoded again when inserting into html as a Flashvar. The entire Flashvar might look something like this:

// AdTech
preroll=type%3DAdTech%26url%3Dhttp%253A%252F%252Fadserver.adtechus.co
m%252Faddyn%252F3.0%252F5153%252F463152%252F0%252F751%252FADTECH%253B
key%253Dspider

Other examples:

// Adaptv
preroll=type%3DAdaptv%26key%3Dij754

// Acudeo / Tremor
preroll=type%3DAcudeo%26programId%3D4831a996a775c

In conjunction with the "preroll" and "postroll" FlashVars, you can use the "frequency" FlashVar to control how many video clips to play in between ads. For example, "frequency=3" will indicate to the Player that for each ad inserted, 3 more videos will be played back (including the one where ad was inserted) before another ad is inserted. A few things to note:
  1. If any ad FlashVars are specified, then all ad settings on the Channel will be ignored for the entire player session. Flashvars take precedence and override the channel ad settings
  2. Ad FlashVars will be applied to ALL media clips played during the player session, EXCEPT any media clip that has "adDisabled" set to true in your Limelight Video Platform Account
  3. The ad provider parameter keys are CASE-SENSITIVE (e.g. use programId=xxx, not ProgramID=xxx)
  4. The minimum valid frequency is 1, i.e. insert an ad for every video clip
  5. If a video clip that was supposed to have ad inserted based on frequency (e.g. 4th video if frequency=3), and the clip had "adDisabled" set to true, then it will be respected and no ad will be inserted, instead, the next clip will have ad inserted (assuming "adDisabled" is set to false)
  6. Regardless of frequency, the very first video played will always have an ad inserted (assuming "adDisabled" is set to false)