VAST (Video Ad Serving Template) is the most popular standard for exchanging information about ads. Although initially it was prepared for video this standard has also been adopted for audio commercials.
DAAST (Digital Audio Ad Serving Template) is a format very similar to VAST but specialized in audio ads.
AdTonos supports both formats.
VAST tag
https://play.adtonos.com/xml/<stationId>/vast.xml?&listenerId=<listenerId>&session
Id=<sessionId>&ver=4.0&adType=preroll&contentType=audio&targeting=on&cb=<random>
Parameter | Description | Required |
stationId | The unique identifier of the station. This identifier is generated after adding the stream in the AdTonos dashboard. | Yes |
listenerId | Unique listener ID (ULID). Parameter enabling identification of the returning listener (new session). | No* |
idfa | iOS Identifier for Advertising. | Yes, only on iOS devices |
gaid | Google Advertising ID. | Yes, only on Android devices |
sessionId | Unique session ID. It should remain the same for a given listener during one session (e.g. open browser tab). | No |
ver | The VAST protocol version to use. The default is 4.0. | No |
adType | Advertising purpose: preroll , midroll , bannerad. | No |
contentType | The type of requested ad: audio or video . | No |
targeting | Information whether the listener has consented to profiling ads (GDPR). Available values on and off .By default on . | No |
ip | Listener IP address. | No** |
lang | Listener’s prefered language. | No** |
userAgent | Listener’s browser User Agent. | No** |
pricing | Force adding <Pricing model="CPV"> tag to VAST response. By default, this tag is not present. | No |
speakerId | Unique smart speaker identifier. On Amazon Echo use context.System.device.deviceId onGoogle Home generate UUID4 and store it action | Yes, only on smart speakers |
iva | Allow ads with Your Truly “call-to-action” for virtual Assistants even when speakerId is not set anduserAgent does not match smart speakers.Available values amazon and google. | No |
referer or
| Website URL that is requesting VAST. | No |
bitrate | Filter out media files that have a different bitrate than the indicated one. Supported bitrates: 64, 128, 192, 256 and 320. | No |
samplingrate | Filter out media files that have a different sampling rate than the indicated one. Supported sampling rates: 44100 and 48000. | No |
cb | Cache Busting – random number (at least 10 digits) to avoid caching responses in the listener’s browser. | No |
content_language | The language of the content where ads will be played. Two-letter code that corresponds to ISO 639-1 language codes. | No |
content_country | Country Code of the listener’s location. Two-letter code corresponds to ISO 3166-1 alpha-2 country codes. | No |
content_type | Content-type as defined by the IAB Tech Lab Content Taxonomy V2. Comma-separated list of integer values, each in the 1-698 range | No |
gdpr_consent | IAB TCFv2 consent string. If gdpr_consent does not contain the user’s consent to the processing of data by Radio Net Media Ltd., the returned VAST will always be empty. | No |
HTTP Headers
Header | Description | Required |
X-Forwarded-For or
| Listener IP address. | No** |
X-Device-User-Agent or
| Listener’s browser User Agent. | No** |
X-Device-Accept-Language or Accept-Language | Listener’s prefered language. | No** |
Referer | URL of the page where the player is embedded. | No* |
* Parameter/header is not required in case the VAST request comes directly from the listener’s browser or mobile application. The parameter/header is required when the VAST tag is used in the Server-to-Server approach.
** The ip, lang
and userAgent
parameters or the X-Forwarded-For, X-Device-AcceptLanguage
and X-Device-User-Agent
headers are not required when the VAST request comes directly from the listener’s browser. If the VAST tag is used in a Server-to-Server approach, it is required to pass a pair of parameters or a pair of headers.
DAAST tag
DAAST tag uses the same parameters as the VAST tag.
https://play.adtonos.com/xml/<stationId>/daast.xml?&listenerId=<listenerId>&sessio
nId=<sessionId>&ver=4.0&adType=preroll&contentType=audio&targeting=on&cb=<random>
Macros
Impressions and tracking events may contain macros – for example http://example.com?bb=[CACHEBUSTING].
AdTonos support the most popular VAST 4.x macros:
● [CACHEBUSTING]
● [PLAYERSTATE]
● [TIMESTAMP]
● [ASSETURI]
● [PODSEQUENCE] with alias [ABPOS]
● [ADCOUNT] with alias [COUNTER]
● [PAGEURL] with alias [URL]
Requirements for Publisher:
- The player that supports VAST or DAAST standard (e.g. OpenPlayer.js, Exo Player)
- Configured ads.txt
- For web player – JS tracking code
- For mobile app – pass Advertising ID
- Add a VAST tag to your player
- Send adType=bannerad if you want to receive audio ads with accompanying banners.
- Use [PLAYERSTATE] macro to tell us if the player was muted.
For VAST/DAAST integration Pre-roll & Mid-roll are available.
This kind of integration works quite simply under the condition your audio player is compatible with HTML5. If so, you just place generated links into the player playlist – it is the best idea to use VAST integration as a Pre-roll monetization. However, some of the playout systems can send requests to the player in a defined airtime moment (like an ad break). Then a request from the playout system is passed further to us as a VAST request for an ad.
We suggest using this type of integration for live radio.