VAST Tag

VAST Tag Integration Guide

Introduction

A VAST ad tag URL is used by a player to retrieve video ads. You can manually assemble a VAST ad tag URL or modify an existing URL using the macros below.

Example

https://rtb.ssp.metaxads.com/ads/vast?pubid=601423144&adunit=345864&place=3&protocols=2&dnt=0&secure=0&appid=324567&appname=myapp&appdomain=domain.com &bundle=myapp.name&ifa_type=dpid&ifa=metax_ifa_123456&max_ad_duration=120&min_ad_duration=15&w=1280&h=720&lang=en&ua=myua&cb=6901873088

Macros

Parameter

Macro

Path in OpenRTB

CTV/IA

Video/Audio

App/Site

Description

pubid

[PUBLISHER_ID]

ALL

ALL

ALL

Specifies the seller’s publisher ID. MetaX provides publisher ID

adunit

[ADUNIT]

ALL

ALL

ALL

The seller’s Ad Unit ID. MetaX provides Ad Unit ID

mediatype

[MEDIATYPE]

ALL

ALL

ALL

Specifies which media type request is, default is app. Where app = app traffic, site = site traffic

appid

[APP_ID]

app.id

ALL

ALL

App

Specifies the seller’s app ID. Follow spec: https://iabtechlab.com/wp-content/uploads/2020/08/IAB-Tech-Lab-OTT-store-assigned-App-Identification-Guidelines-2020.pdf

appname

[APP_NAME]

app.name

ALL

ALL

App

The full name of the app. (This value may be aliased at the publisher’s request.)

appdomain

[APP_DOMAIN]

app.domain

ALL

ALL

App

Specifies the domain of the app (for example, myapp.site.com) where the impression will be shown. Set as the referrer domain on the impression if available.

appcat

[APP_CAT]

app.cat

ALL

ALL

App

Specifies a list of IAB content categories (listed in section 5.1 of the specification). See Category Type.

bundle

[BUNDLE]

app.bundle

ALL

ALL

App

Specifies the application bundle or package name (e.g., com.foo.myapp). This is intended to be a unique ID across multiple exchanges.

storeurl

[STORE_URL]

app.storeurl

ALL

ALL

App

App’s URL in store.

appver

[APP_VERSION]

app.ver

ALL

ALL

App

App Version.

siteid

[SITE_ID]

site.id

ALL

ALL

Site

Specifies the seller’s site ID.

sitename

[SITE_NAME]

site.name

ALL

ALL

Site

The full name of the site.

sitedomain

[SITE_DOMAIN]

site.domain

ALL

ALL

Site

Specifies the domain of the site (for example, www.site.com) where the impression will be shown.

sitecat

[SITE_CAT]

site.cat

ALL

ALL

Site

Specifies a list of IAB content categories (listed in section 5.1 of the specification). See Category Type.

url

[URL]

site.page

ALL

ALL

Site

Site’s page URL.

ifa

[IFA]

device.ifa

ALL

ALL

ALL

The “identifier for advertising” is an unhashed device ID sanctioned for advertiser use.

ifa_type

[IFA_TYPE]

device.ext.ifa_type

ALL

ALL

ALL

Identify the source of the IFA, whether that is device-generated or whether it is a publisher-provided IFA, or a temporary/session IFA. https://github.com/InteractiveAdvertisingBureau/openrtb/blob/main/extensions/community_extensions/ifa_type.md

device_make

[DEVICE_MAKE]

device.make

ALL

ALL

ALL

Specifies the make of the device. e.g. Samsung

device_os

[DEVICE_OS]

device.os

ALL

ALL

ALL

This is the code field that you obtain from operating system code. e.g. Android, Roku, IOS, Linux, Windows

lang

[LANGUAGE]

device.language

ALL

ALL

ALL

Content language using ISO 639-1 standard.

protocols

[PROTOCOLS]

imp.video.protocols

ALL

Video

ALL

Supported video protocols. See Protocols. Using comma to separate them. E.g: protocols=2,3,4.

sdk_apis

[SDK_APIS]

imp.banner/video.api

ALL

ALL

ALL

List of supported APIs. See API Frameworks, Using comma to separate them. E.g: sdk_apis=2,7.

ip

[IP]

device.ip

ALL

ALL

ALL

Required if it’s server to server request, Device IP address.

ua

[USERAGENT]

device.ua

ALL

ALL

ALL

The device user agent. which typically indicates the app or browser making the request.

country

[COUNTRY]

device.geo.country

ALL

ALL

ALL

Country code.

lat

[LAT]

device.geo.lat

ALL

ALL

ALL

Latitude from -90.0 to +90.0, where negative is south.

lon

[LON]

device.geo.lon

ALL

ALL

ALL

Longitude from -180.0 to +180.0, where negative is west.

tvsize

[TVSIZE]

ALL

Video

ALL

TV Size (e.g.,44 inch) .

brand

[BRAND]

ALL

Video

ALL

TV Brand (e.g.,TCL) .

startdelay

[STARTDELAY]

imp.video.startdelay

ALL

Video

ALL

Required if could not set the [PLACE], Indicates the start delay in seconds for pre-roll, mid-roll, or post-roll ad placements.

w

[WIDTH]

imp.w

ALL

Video

ALL

Width of the video player in device independent pixels (DIPS).

h

[HEIGHT]

imp.h

ALL

Video

ALL

Height of the video player in device independent pixels (DIPS).

pmad

[PMAD]

ALL

ALL

ALL

The maximum number of ads in a pod.

pmnd

[PMND]

ALL

ALL

ALL

The minimum duration that a pod must match in seconds.

pmxd

[PMXD]

ALL

ALL

ALL

The maximum duration that a pod must match in seconds.

min_ad_duration

[MIN_AD_DURATION]

imp.video.minduration

ALL

Video

ALL

Minimum duration of an ad in seconds.

max_ad_duration

[MAX_AD_DURATION]

imp.video.maxduration

ALL

Video

ALL

Maximum duration of an ad in seconds.

content_id

[CONTENT_ID]

app/site.content.id

ALL

ALL

ALL

ID uniquely identifying the content.

content_cat

[CONTENT_CAT]

app/site.content.cat

ALL

ALL

ALL

IAB content categories for the presented video content. See Category Type. Separate multiple categories with commas. For example, content_cat=IAB1-3,IAB2-4

content_cat_custom

[CONTENT_CAT_CUSTOM]

ALL

ALL

ALL

Customer defined content categories. Separate multiple categories with commas.

content_len

[CONTENT_LEN]

app/site.content.len

ALL

ALL

ALL

Length of content in seconds; appropriate for video or audio.

content_title

[CONTENT_TITLE]

app/site.content.title

ALL

ALL

ALL

Video content title. Examples: Search Committee.

content_episode

[CONTENT_EPISODE]

app/site.content.episode

ALL

ALL

ALL

Content Episode Number.

content_series

[CONTENT_SERIES]

app/site.content.series

ALL

ALL

ALL

Content series. e.g., The%20Office.

content_season

[CONTENT_SEASON]

app/site.content.season

ALL

ALL

ALL

Content season. e.g., “Season 3”.

content_genre

[CONTENT_GENRE]

app/site.content.genre

ALL

ALL

ALL

Genre that best describes the content. e.g., rock, pop, etc.

content_language

[CONTENT_LANGUAGE]

app/site.content.language

ALL

ALL

ALL

Content language. Using ISO-639-1-alpha-2.

content_livestream

[CONTENT_LIVESTREAM]

app/site.content.livestream

ALL

ALL

ALL

Indicates content is live streaming, where 1 = live streaming.

content_rating

[CONTENT_RATING]

app/site.content.contentrating

ALL

ALL

ALL

Content rating. e.g., MPAA.

content_channel

[CONTENT_CHANNEL]

app/site.content.ext.channel

ALL

ALL

ALL

Content channel name that an ad will be displayed on.

content_network

[CONTENT_NETWORK]

app/site.content.ext.network

ALL

ALL

ALL

Content network name. A Network is defined as the parent entity of the Channel.

content_keywords

[CONTENT_KEYWORDS]

app/site.content.keywords

ALL

ALL

ALL

Comma separated list of keywords describing the content.

content_prod

[CONTENT_PROD]

app/site.content.prodq

ALL

ALL

ALL

Production quality per IAB’s classification.

video_url

[VIDEO_URL]

ALL

ALL

ALL

URL of the content, for buy-side contextualization or review

gdpr

[GDPR]

regs.ext.gdpr

ALL

ALL

ALL

Indicates whether the request is subject to General Data Protection Regulation (GDPR) regulation. “1” means yes. “0” means no.

gdpr_consent

[GDPR_CONSENT]

user.ext.consent

ALL

ALL

ALL

A declaration that that the user has consented to having his or her data collected by the publisher’s site, as mandated by the GDPR.

coppa

[COPPA]

regs.coppa

ALL

ALL

ALL

Request is subject to the COPPA regulations established by the USA FTC, where 0 = no, 1 = yes.

us_privacy

[US_PRIVACY]

regs.ext.us_privacy

ALL

ALL

ALL

US Privacy String communicates signals regarding consumer privacy and choice under US privacy regulation. Must follow the US Privacy string format.

gpp

[GPP]

regs.ext.gpp

ALL

ALL

ALL

Contains the Global Privacy Platform’sconsent string.

gpp_sid

[GPP_SID]

regs.ext.gpp_sid

ALL

ALL

ALL

Array of the section(s) of the string which should be applied for this transaction.

secure

[SECURE]

imp.secure

ALL

ALL

ALL

Flag to indicate if the impression requires secure HTTPS URL creative assets and markup, where 0 = non-secure, 1 = secure.

dnt

[DNT]

device.dnt

ALL

ALL

ALL

Standard “Do Not Track” flag as set in the header by the browser, where 0 = tracking is unrestricted, 1 = do not track.

lmt

[LMT]

device.lmt

ALL

ALL

ALL

“Limit Ad Tracking” signal commercially endorsed (e.g., iOS,Android), where 0 = tracking is unrestricted, 1 = tracking mustbe limited per commercial guidelines.

ad_type

[ADTYPE]

ALL

ALL

ALL

AdTypes, audio or video

feed

[FEED]

imp.audio.feed

ALL

Audio

ALL

Types of audio feed, see Feed Types.

stitched

[STITCHED]

imp.audio.stitched

ALL

Audio

ALL

Indicates if the ad is stitched with audio content or delivered independently, where 0=no, 1=yes.

nvol

[NVOL]

imp.audio.nvol

ALL

Audio

ALL

Volume normalization mode, see Volume Normalization Modes.

referer

[REFERER]

app/site.ref

ALL

ALL

ALL

The URL of the page that is hosting the video player

mimes

[MIMES]

ALL

ALL

ALL

Supported media Mime subtypes. Using comma to separate if there are two or more types. Example of types: mp4, quicktime, 3gpp, x-mpegURL, H264.

ssai

[SSAI]

ALL

ALL

ALL

Required for SSAI request. Indicates whether the ad request is coming from an SSAI environment or not. Where 1 = yes 0 = no.

ssai_vendor

[SSAI_VENDOR]

imp.ext.ssai_vendor

ALL

ALL

ALL

Defines the SSAI vendor that is being utilized to deliver the content. The following list is an example of SSAI vendors: AdobePrimetime, AdSparx, Amagi, AWS, Bitcentral, Brightcove, Imagine, MostMedia, Switch, Verizon Uplynk, Vidillion, Yospace, Zype

ssai_impact

[SSAI_IMPACT]

imp.ext.ssai

ALL

ALL

ALL

Indicates the impact of SSAI on asset and tracker retrieval, where 0 = status unknown, 1 = all clientside (i.e., not server-side), 2 = assets stitched server-side but tracking pixels fired client-side, 3 = all server-side.

sourceid

[SOURCEID]

ALL

ALL

ALL

ID of traffic source.

schain

[SCHAIN]

source.ext.schain

ALL

ALL

ALL

SCHAIN string value.

rewarded

[REWARDED]

imp.video.ext.rewarded

ALL

Video

ALL

Indicate if the inventory is rewarded video. where 0 = no, 1 = yes.

s2s

[S2S]

ALL

ALL

ALL

Indicate if the request comes from server side. where 0 = no, 1 = yes.

skip

[SKIP]

imp.video.skip

ALL

Video

ALL

Indicates if the player will allow the video to be skipped, where 0 = no, 1 = yes.

skipafter

[SKIP_AFTER]

imp.video.skipafter

ALL

Video

ALL

Number of seconds a video must play before skipping is enabled; only applicable if the ad is skippable.

iris_content_id

[IRIS_CONTENT_ID]

ALL

Video

ALL

required in query if IRIS.TV context API needs to be called by Springserv.

iris_id

[IRIS_ID]

ALL

Video

ALL

IRIS.TV ID needed to support contextual targeting via IRIS.TV.

iris_context

[IRIS_CONTEXT]

ALL

Video

ALL

IRIS.TV context ID needed to support contextual targeting via IRIS.TV.

net

[NET]

IA

ALL

ALL

Network connection type.

crr

[CRR]

device.mccmnc

IA

ALL

ALL

Mobile carrier as the concatenated MCC-MNC code (e.g., “310-005” identifies Verizon Wireless CDMA in the USA).

isp

[CARRIER]

device.carrier

IA

ALL

ALL

Mobile internet service provider.

pos

[POSITION]

imp.banner/video.pos

ALL

ALL

ALL

Placement positions as a relative measure of visibility or prominence. where 0 = Unknown, 1 = Above The Fold, 2 = Locked, 3 = Below The Fold, 4 = Header, 5 = Footer, 6 = Sidebar, 7 = Fullscreen.

plcmt

[PLCMT]

imp.video.plcmt

ALL

Video

ALL

Placement type for the video impression. where 1 = Instream, 2 = Accompanying Content, 3 = Interstitial, 4 = No Content/Standalone.

ipd

[INVENTORY_PARTNER_DOMAIN]

app/site.ext.inventorypartnerdomain

ALL

ALL

ALL

A pointer to the domain of the partner (of the site/app owner) with ownership of some portion of ad inventory on the site/app. The partner’s ads.txt or app-ads.txt file will be hosted here.

gender

[GENDER]

IA

ALL

ALL

Gender (“M”: male, “F” female, “O” Other).

yob

[YOB]

IA

ALL

ALL

Year of birth as a 4-digit integer.

omidpn

[OMID_PN]

source.ext.omidpn

ALL

ALL

ALL

OMID partner name.

omidpv

[OMID_PV]

source.ext.omidpv

ALL

ALL

ALL

OMID partner SDK version.

cb

[RANDOM]

ALL

ALL

ALL

A random integer to avoid browser caching.

Category Type

Value

Description

IAB1

Arts & Entertainment

IAB2

Automotive

IAB3

Business

IAB4

Careers

IAB5

Education

IAB6

Family & Parenting

IAB7

Health & Fitness

IAB8

Food & Drink

IAB9

Hobbies & Interests

IAB10

Home & Garden

IAB11

Law, Gov’t & Politics

IAB12

News

IAB13

Personal Finance

IAB14

Society

IAB15

Science

IAB16

Pets

IAB17

Sports

IAB18

Style & Fashion

IAB19

Technology & Computing

IAB20

Travel

IAB21

Real Estate

IAB22

Shopping

IAB23

Religion & Spirituality

IAB24

Uncategorized

IAB25

Non-Standard Content

IAB26

Illegal Conte

Protocols

Value

Description

1

VAST 1.0

2

VAST 2.0

3

VAST 3.0

4

VAST 1.0 Wrapper

5

VAST 2.0 Wrapper

6

VAST 3.0 Wrapper

7

VAST 4.0

8

VAST 4.0 Wrapper

11

VAST 4.1

12

VAST 4.1 Wrapper

13

VAST 4.2

14

VAST 4.2 Wrapper

15

VAST 4.3

16

VAST 4.3 Wrapper

Feed Types

The following table lists the types of feeds, typically for audio.

Value

Description

1

Music Service

2

FM/AM Broadcast

3

Podcast

Volume Normalization Modes

The following table lists the types of volume normalization modes, typically for audio.

Value

Description

0

None

1

Ad Volume Average Normalized to Content

2

Ad Volume Peak Normalized to Content

3

Ad Loudness Normalized to Content

4

Custom Volume Normalization