VAST ad tag URL parameters

Required and recommended parameters for Programmatic

Implementing a tag-based video solution for Ad Exchange demand without the use of the IMA SDK is a beta offering and might not be available for your network. You can contact your account manager for more information.

The following is a subset of the VAST ad tag URL parameters. These parameters are for tag-based video solutions for Programmatic when not integrating with the IMA SDK.

See the list of required and recommended parameters for web or the required parameters for app.

 Jump to a specific parameter in the list

an
description_url
dth
hl
idtype
is_lat

msid
plcmt
pp
rdid
sid
url

vpa
vpmute
vpos
wta

 
Parameter Details
hl

(Language)

The language parameter accepts a constant value which is used to request ads in that language, and for language of ad selection and video ad rendering in dynamic allocation to Ad Exchange or AdSense Video.

The parameter value can be any ISO 639-1 (two-letter) or ISO 639-2 (three-letter) code. See a list of valid codes.

If omitted, the value defaults to any language with ad targeting by language in Ad Exchange.

Usage example

hl=it

Requirement

recommended Recommended for Programmatic monetization

description_url

(Description URL)

The description URL parameter accepts a variable value that should describe the video playing on the page. Outline the page with 1-3 paragraphs describing the content. For example, stitch together the description_url page content dynamically from predefined blocks. Learn more about providing a distinct description URL.

The description_url value must be URL-encoded for web page video players and CTV/OTT devices and non-encoded for mobile in-app video players.

This parameter is not set automatically by the IMA SDK. It needs to be set manually.

Usage example

URL-encoded:
description_url=
https%3A%2F%2Fwww.sample.com%2Fgolf.html

Non-encoded:
description_url=
https://www.sample.com/golf.html

Requirement

Required Required for webapp, and Ad Exchange

recommended Recommended for Programmatic monetization

dth

(Device type hint)

The device type hint parameter accepts a constant value that helps reduce device misclassification, specifically on connected TV and set top box environments.

Device misclassification may result from unintended errors from the publisher or connected TV OEM. This parameter would be used in conjunction with other signals for Google to automatically flag instances where connected TV inventory may be reclassified.

Usage examples

Requests from:

  • Feature phone: dth=1
  • Smart phone: dth=2
  • Desktop: dth=3
  • Tablet: dth=4
  • Connected TV: dth=5
  • Game console: dth=6
  • Set top box: dth=7

Requirement

recommended Recommended for Programmatic monetization on connected TV.

This parameter is recommended for PAL and PAI (non-SDK) implementations. It is not needed for IMA SDK or DAI SDK.

msid

(App ID)

an

(App name)

The app ID and app name parameters accept variable values which should be applied to requests sent from mobile app and connected TV devices, as most programmatic video ads require them.

The IMA SDK will automatically populate both parameters, but they must be manually specified in non-SDK environments, including direct VAST calls, or when using Programmatic Access Library (PAL) or Publisher Authenticated Inventory (PAI).

While the app name should be a human-readable name, on iOS and tvOS, it's not possible for the SDK to access the app ID. In these cases, the msid parameter is not sent, and the SDK sends the app bundle via the an parameter.

Usage example

msid=com.package.publisher&an=sample%20app

App IDs are named and formatted differently across different app stores. See the IAB guidelines for app identification, or examples of common unique identifiers.

For platforms where an app store does not exist, the IAB recommends publishers use the following format for store IDs: com.publisher.deviceplatform

Requirement

Required Both parameters are required for app

recommended Recommended for Programmatic monetization

plcmt

(Placement)

The placement parameter accepts a constant value which is used to indicate whether or not the in-stream inventory is declared as in-stream or accompanying per the guidance in the IAB specifications.

For non-in-stream requests, this field is populated for buyers automatically based on the declared inventory format, and will override any in-stream or accompanying content declaration.

Usage example

In-stream request:
plcmt=1

Accompanying content request:
plcmt=2

Requirement

 Required Required for web and Programmatic monetization

pp

(Creative profile)

The creative profile parameter accepts a variable value which controls the creatives eligible to serve based on the configuration set up in a video and audio creative profile.

Usage example

pp=creative_profile

Requirement

recommended Recommended for Programmatic monetization

rdid
idtype
is_lat

(Resettable device identifiers)

The resettable device identifiers accept variable values.

With built-in 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 ad request. Learn more about device identifiers.

Nearly all programmatic video ads require the presence of these values.

Starting with iOS 14.5, Apple has deprecated the LAT signal. Google instead relies on the presence of a non-zero IDFA to indicate that the user has consented to tracking on versions of iOS that support App Tracking Transparency. As such, a valid UserAgent indicating the correct OS version is required.

Usage example

See detailed examples of resettable device identifiers.

Requirement

Required Required for app

recommended Recommended for Programmatic monetization

sid

(Session ID)

The session ID parameter accepts a variable value which is a privacy-preserving advertising identifier that is used for frequency capping purposes only.

Session ID is supported for in-stream video requests from connected TVs and on in-stream video inventory from mobile app devices. It is not currently supported for web.

Per the IAB's IFA guidelines, this parameter must be populated in UUID format. Learn more about resettable device identifiers for user targeting.

You can opt out of passing the session ID by setting sid=0.

Usage example

123e4567-e89b-12d3-a456-426614174000

Requirement

recommended Recommended for Programmatic monetization

url

(URL)

The URL parameter accepts a variable value which should be set to the full URL from which the request is sent. This value is needed to help buyers identify and understand the context of where this request is coming from. To the extent possible, this value should be dynamically populated on the ad request. 

On a web page, this is the URL of the page that displays the video player. If you use the IMA SDK, the URL value is set automatically. If your player sets this value, the IMA SDK will respect the value being set.

In an app (mobile or CTV), this value should be set to a URL that most accurately represents the video or audio inventory being monetized. For instance, if the user is watching a video within a mobile app that is also available on a desktop equivalent URL.*

The value of this parameter should be encoded.

Usage example

url=
https%3A%2F%2Fwww.videoad.com%2Fgolf.html

* For apps, if it is not possible to set this parameter to a variable URL value, it's recommended that it be set with the following pattern:
url=
https%3A%2F%2F<app/bundleid>.adsenseformobileapps.com

Requirement

Required Required for web and app

recommended Recommended for Programmatic monetization

vpa

(Video play automatic)

Recommended per MRC Video Measurement Guidelines

The video play automatic parameter accepts a constant value which indicates whether video content in an 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.

Usage example

Autoplay:
vpa=auto

Click to play:
vpa=click

Requirement

recommended Recommended for Programmatic monetization

vpmute

(Video play mute)

Recommended per MRC Video Measurement Guidelines

The muted video parameter accepts a constant value which indicates whether the ad playback starts while the video player is muted.

Usage example

Muted:
vpmute=1

Unmuted:
vpmute=0

Requirement

 Required Required for web and Programmatic monetization

vpos

(Video position)

The video position parameter accepts a constant value which indicates whether the ad request is being sent from pre-roll, mid-roll or post-roll.

Usage example

Pre-roll:
vpos=preroll

Mid-roll:
vpos=midroll

Post-roll:
vpos=postroll

Requirement

recommended Recommended for Programmatic monetization

wta

(Why this ad)

The "Why this ad?" parameter accepts a constant value which indicates the video player's support for rendering ad badging. When no &wta parameter is sent, this defaults to &wta=1.

The ad badging functionality is supported automatically when using the IMA SDK. When the IMA SDK is not used, video players must implement VAST Icon and IconClickFallbackImage support, as documented in the IAB VAST standard.

Publishers are required to send &wta=0 if the publisher will not render the AdChoices icon, as provided in the VAST response. An ad request with &wta=1 or no &wta parameter is understood to indicate that the publisher will render the provided AdChoices information.

Audio ad requests may send wta=1 if the AdChoices icon, as provided in the VAST response, will be rendered on companions or otherwise provided to the user.

For traffic from the EEA, requests with &wta=0 will not be eligible for reservation creatives where Google badging is enabled.

Ads must comply with applicable regulatory requirements for ads served in the European Economic Area (EEA). This includes a mechanism for users to report illegal content. Publishers must notify Google of any illegal content reports using the appropriate form.

Usage example

Supported:

wta=1 or no wta parameter

Unsupported:
wta=0

Requirement

Required Required for Ad Exchange

Required Required for web and app EEA traffic

recommended Recommended for Programmatic monetization

Was this helpful?

How can we improve it?
Search
Clear search
Close search
Google apps
Main menu