Supply targeting parameters to your stream

Supplying any of the following targeting parameters is optional.

When you create or configure a content source for video on demand (VOD) or set up a live stream for DAI, you need to specify a default video ad tag. All DAI streams use that ad tag and its parameters by default. If you want your player to request something unique for a given stream, these options are available to you.

Override the default ad tag

When your video player requests a stream, the default ad tag is used exactly as you have specified it in the interface. However, you have the ability to override certain parameters of that tag in your stream request. These are the only parameters that can be overridden.

Parameter Description Example value

Current ad unit. Follow the format:



Key-value pairs that should be used for Ad Manager campaign targeting. Some platforms require URL encoding.

Examples with multiple key-value pairs, such as:

  • section=sports 
  • page=baseball,tennis

SSB streams

Encode and concatenate the entire cust_params value, but do not double-encode.



HTML5, and Chromecast

Encode the values only.

streamRequest.adTagParameters = {
  "cust_params": "section=sports&



Encode the values only.

  request.adTagParameters =   "cust_params=section%3Dsports


iOS, tvOS, and Android

Do not encode anything.

request.adTagParameters = @{
  @"cust_params" : @"section=sports&


Overrides the sz parameter from your default ad tag allowing you to change dynamically for different devices.

Do not include the "v" after the size.


Tag a request for child-directed treatment. Learn more



The value should describe the video playing on the page. Usually, it's the page that houses the video player, but could also be a page with text that describes the video.

You must always url-encode description_url on SSB streams and when using these SDKs: 
HTML5, Roku.

You should send non-encoded description_url values from 
iOS, tvOS, and Android apps.

This field is required if you use Ad Exchange. Learn more

URL-encoded example:

Non-encoded example:

ppid The Publisher Provided Identifier (PPID) allows publishers to send an identifier for use in frequency capping, audience segmentation and targeting, sequential ad rotation and other audience-based ad delivery controls across devices. Learn more ppid=12JD92JD8078S8J29SDOAKC0EF230337

Comma-separated list of companion ad sizes.

Companion ads are only supported with DAI when you use the HTML5 SDK.


Indicates the name of the partner player. This would mostly be used by partners like JWPlayer, Brightcove, Ooyala that are integrating with the SDK.


Indicates the version of the partner player. This should only be set if mpt is also set, and represents the version of the partners player that is integrating with the SDK.

ptpl The ad break template ID.

You can find this ID in the Ad Manager URL when viewing the settings for the break template in the Ad Manager interface. It appears as the value for the break_template_id parameter.

ptpln The ad break template name. This corresponds to the "Name" field in Ad Manager, not the diplay name.


npa The personalization setting for ad requests. You should specify the parameter early in the tag to avoid any risk of truncation.

Specify npa=1 to mark the ad request as non-personalized. Omission of the parameter defaults to personalized ads.

With native applications (not on web or mobile web), the SDK passes resettable device identifiers for user targeting into your stream requests with the parameters for rdid, idtype, and is_lat. On SSB streams, you must pass these as explicit parameters, just as you would on a client-side Video Solutions ad request. Learn more See detailed examples of resettable device identifiers.
vconp Recommended per MRC Video Measurement Guidelines

Indicates whether the player intends to continuously play the content videos one after another, similar to a TV broadcast.

Possible values are 2 if continuous play is ON, and 1 if OFF.

This parameter should be left unset if it is unknown.

Continuous play ON:

Continuous play OFF:

vpa Recommended per MRC Video Measurement Guidelines

Indicates whether the ad starts through autoplay or click.

Possible values are click if the page waits for a user action or auto if the video plays automatically.

This parameter should be left unset if it is unknown.



vpmute Recommended per MRC Video Measurement Guidelines

Indicates whether the ad playback starts while the video player is muted.

Possible values are 1 for muted, and 0 for unmuted.

This parameter should be left unset if it is unknown.



Override the default ad tag using the IMA SDK

When a video player requests a DAI stream using the IMA SDK, it can pass in a field called "adTagParameters". This dictionary-like structure can be set with key-value pairs where the keys may be the Ad Manager ad tag parameters which are listed in the table above.

You can customize your stream and pass in parameters which are not related to the Ad Manager ad request using this same structure. Learn how to request specific stream variants and how to set up an ad holiday.

The implementation of the adTagParameters field is slightly different depending on the specific programming language or platform. See the iOS, Android, tvOS, Chromecast, HTML5 development documentation or additional documentation in the DAI player and app development guide.


Set adTagParameters through the SDK

When you set cust_params or description_url through the SDK, on iOS, tvOS, and Android apps, you should not url-encode the strings. You can pass the cust_params through as a single string that concatenates the key-value pairs with a "&".

For example, if you wanted to set cust_params to the value of sport=football&city=newyork:

The adTagParams structure using non-encoded values would be:

  "tfcd": 1,
  "iu": "/987654321/path/to/adunit",
  "cust_params": "sport=football&city=newyork",
  "description_url": "",
  "ppid": "12JD92JD8078S8J29SDOAKC0EF230337"


The adTagParameters structure using encoded values for HTML5 stream requests would be:

  "tfcd": 1,
  "iu": "/987654321/path/to/adunit",
  "cust_params": "sport%3Dfootball%26city%3Dnewyork",
  "description_url": "",
  "ppid": "12JD92JD8078S8J29SDOAKC0EF230337"


The adTagParams structure using encoded values for Roku stream requests would be:


Override the default ad tag using SSB

The following are examples of modifying an SSB default VOD ad tag. Overwritten parameters passed by the player or app are shown in bold.

Video on demand examples

Base VOD stream URL
  (with an ad unit specified)
  (with overridden
  (with a declaration of
child-directed content)<contentid>/vid/
  (with an over-ridden ad unit AND key-values
AND a custom description_url
AND a declaration of child-directed content)<contentid>/vid/

Live linear stream examples

Base live linear stream URL<asset_key>/master.m3u8
  (with an ad unit specified)<asset_key>/master.m3u8
  (with over-ridden key-values)<asset_key>/master.m3u8
  (with a declaration of
child-directed content)<asset_key>/master.m3u8
  (with an overridden ad unit AND key-values
AND a custom description_url
AND a declaration of child-directed content)<asset_key>/master.m3u8
Was this helpful?
How can we improve it?