Overview:
-
A VAST (Video Ad Serving Template) tag is a HTTP or HTTPS URL that points to a VAST XML feed. The VAST XML URL feed contains information about the video ad, including the video file, length, companion banner and more. (you can read more about VAST in the IAB spec here: http://www.iab.net/guidelines/508676/digitalvideo/vsuite/vast)
-
The video player uses the VAST XML URL feed to instruct it when and what video ad to play. Without it the video player would be unable to play a video advertisement. The VAST XML URL feed is in a standardized format that all video players can understand, so if the feed does not conform to this standard then the video player will be unable to understand and play it.
Integrating a VAST Tag
In order to consume a VAST XML URL feed, it can be entered directly into an ad server, which is called via a video player or in some cases the URL can be entered directly into the video player code. The VAST XML URL will not work outside of a video player so just entering the link directly on a webpage will not work.
Below is an example of how the VAST XML URL can be entered directly into a video player.
https://ads.aerserv.com/as/?plc=XXXXX
&cb=&ip=&make=&model=&os=&osv=&type=&ua=&url=&vpw=&vph=&vpaid=&age=&yob=&gender=&pchain=
AerServ will provide you with a VAST XML URL which you will enter into your ad server or video player. The process for integrating a VAST XML feed differs for each ad server and video player and is outside the scope of this guide, so refer to the documentation of your ad server and/or video player to determine how to integrate it and how to include the ad server or video player macros.
Step 1: Create Your App/Site
For detailed instructions on how to set up your app or site in the AerServ platform, please click here.
Step 2: Create an aerVideo Ad Placement (PLC)
Go to the "Inventory" tab in the navigation bar, then press the [+] button next to the app you wish to ad the aerVideo placement to.
Then select "aerVideo" from the ad products and configure your placement's settings.
The VAST XML URL provided to each publisher contains a Placement (PLC) number that is unique to each publisher account and has ad campaigns assigned just for their sites. A PLC is a unique ID that is used to retrieve ads for a particular site and placement created within the AerServ platform. Your PLC can be found within the Inventory section of the AerServ platform. Please reach out to your Account Manager with any questions regarding your PLC or for a tutorial guide go here!
Step 3: Generate Your Tags
Once you get to Step 4 of the On-Boarding Wizard ("Integration" Page), you will be able to view your tags in the Tag Viewer.
- Click on View Tag
- Copy your Live Tags
- To Test your connection, use the "Ad Mode" column of the table to toggle to "Test" mode and verify that you can see test ads.
Macros
The VAST XML URL may contain macros that will need to be populated by the publisher prior to sending a request to AerServ. Macros are placeholders for data values that are dependent on the user of the page. The population of macros are crucial to campaign targeting and can have a significant impact on fill rate. Below are examples of macros that may be included in the VAST XML URL.
Step 4a: Mobile Web Tag
Macros should be added after each key in the query string. ie ("cb=$[cb]").
- Macro shown above (in green) is AerServ specific, please use your 3rd party server macros.
- Description of each key and macro is below.
https://ads.aerserv.com/as/?plc=XXXXX
&cb=&ip=&make=&model=&os=&osv=&type=&ua=&url=&vpw=&vph=&vpaid=&age=&yob=&gender=&pchain=
Step 4b: In-App
Macros should be added after each key in the query string. ie ("cb=$[cb]").
- Macro shown above (in green) is AerServ specific, please use your 3rd party server macros.
- Description of each key is below.
https://ads.aerserv.com/as/?plc=XXXXX
&cb=&appversion=&adid=&network=&carrier=&dnt=&ip=&make=&model=&os=&osv=&type=&lat=&long=&ua=&vpw=&vph=&vpaid=&age=&yob=&gender=&pchain=
If you have trouble verifying your VAST XML URL please contact your Account Manager for assistance: pubaccounts@aerserv.com
Step 4c: Connected TV
Macros should be added after each key in the query string. ie ("cb=$cb").
- Macro shown above (in green) is AerServ specific, please use your 3rd party server macros.
- Description of each key is below.
https://ads.aerserv.com/as/?plc=XXXXX
&cb=&adid=&dnt=&ip=&make=&model=&os=&osv=&type=&ua=&age=&yob=&gender=&vpaid=&vph=&vpw=&bundleid=&pl=&sc=&site_appstore_id=&pchain=
Parameter Overview
PARAMETER | DESCRIPTION | EX. VALUE | MOBILE WEB | IN-APP | BANNER/VIDEO | DATA TYPE |
---|---|---|---|---|---|---|
adid |
Advertising ID - Unhashed Apple IDFA or Google AdId |
bbd606b1-32ab-4a1e- |
N/A | Required | Both | String |
age |
Age Demographic Information |
22 | Optional | Optional | Both | Integer |
appname | Application Name | Tien%Len%Online | N/A |
Required * Passing a application name is required. However, if you have set up your app in the AerServ platform using an Apple App Store URL or Google Play Store URL,AerServ can extract the application name from our system and you are not required to pass it in your ad request. |
Both |
String (encoded) |
appversion |
Application Version |
1.5 | N/A |
Optional |
Both |
String |
bundleid |
App Bundle ID |
com.popcap.ios.BejBlitz |
N/A |
Required * Passing a BundleID is required. However, if you have set up your app in the AerServ platform using an Apple App Store URL or Google Play Store URL,AerServ can extract the BundleID from this field and you are not required to pass it in your ad request.
|
Both |
String (encoded) |
carrier |
Cell carrier |
Verizon |
N/A |
Optional |
Both |
String (encoded) |
cb |
A unique number generated (guid) to prevent a browser from caching the ad and to ensure a unique call to the server for each ad. This macro helps eliminate discrepancies with outside servers |
46170 |
Required | Required | Both | String |
dh | Device screen height. | 480 | Optional | Optional | Both | Integer |
dnt |
Do Not Track . Values: 1 - for do not track is enabled, 0 - for allow to track |
1 | N/A | Required | Both | Boolean |
dw |
Device screen width. |
320 | Optional | Optional | Both | Integer |
gdpr |
Flag to signify whether the request needs to be treated under gdpr compliance. Omission indicates compliance is unknown. |
1,0 | Optional | Optional | Both | Boolean |
gdpr_consent |
Flag to signify that the end user has given consent to use and process their data. Omission indicates no consent. |
1,0 | Optional | Optional | Both | Boolean |
gender |
Gender demographic information. Values: male, female |
male | Optional | Optional | Both | String |
inttype |
Device ID Type. Values: 1 - Mobile/Tablet, 2 - Personal Computer, 3 - Connected TV, 4 - Phone, 5 - Tablet |
1 | Optional | Optional | Both | Integer |
ip |
Client IP Address |
123.456.78.9 |
Required | Required | Both | String |
key |
Response type from the server. |
1(js), 2(html), 3(for JSON) |
Required | Required | Both | Integer |
lat |
Latitude of Device |
33.58 |
Optional | Optional | Both | Float |
locationsource |
Origination of Lat/Long. Values: 1 - GPS, 2 - Derived from IP |
1 |
Optional | Optional | Both | Integer |
long | Longitude of device | 117.73 | Optional | Optional | Both | Float |
make | Device Make | apple | Optional | Optional | Both | String (encoded) |
model | Device Model | iPhone 7 | Optional | Optional | Both | String (encoded) |
mraid |
MRAID Flag 1 = allow MRAID 0 = do not allow |
1,0 | Optional | Optional | Banner | Boolean |
network |
The connection your device is using |
wifi, carrier | N/A | Optional | Both | String (encoded) |
os | Operating System | iOS | Optional | Optional | Both | String (encoded) |
osv | Operating System Version | 10.1 | Optional | Optional | Both | String |
pchain |
TAG payment chain. ex. pchain=[PCHAIN] |
123:xyz | Strongly Recommended | Strongly Recommended | Both | String (encoded) |
pl |
Indicates whether the call is for a preloaded ad. Values: 0 designates a call for an ad that will be displayed right away, 1 designates a call made to preload an ad |
1 | N/A | Required | Both | Integer |
plc |
plc - the PLC number sets the width and height |
1000308 | Required | Required | Both | Integer |
site_appstore_id |
Apple appstore ID |
123456789 | N/A |
Required for IOS |
Both |
Integer |
siteurl | App Store URL |
https://itunes.apple.com |
N/A |
Required * Passing a app store URL is required. However, if you have set up your app in the AerServ platform using an Apple App Store URL or Google Play Store URL,AerServ can extract the app store URL from our system and you are not required to pass it in your ad request. |
Both |
String (encoded) |
type |
Device Type. Values: phone, tablet |
Tablet | Optional | Optional | Both | String |
ua | Client User Agent |
Mozilla%2F5.0%20 |
Required | Required | Both | String (encoded) |
url |
The full page URL where advertisement will be displayed |
Required | N/A | Both | String (encoded) | |
vpaid |
VPAID flag set this if you would like or dislike VPAID ads. Values: 1=allow, 0=do not allow |
1 | Optional | Optional | Video | Integer |
vph |
Video player height |
480 | Optional | Optional | Video | Integer |
vpw | Video player width | 360 | Optional | Optional | Video | Integer |
yob | Year of birth demographic information | 1985 | Optional | Optional | Both | Integer |
Headers:
If sending an IP through the ad request parameter (i.e. https://ads.aerserv.com/as/?plc=[PLACEMENT]&key=2&ip=xxx.xx.xxx), make sure the same IP value in the ad request parameter is contained in the request headers for the IP
Comments