1. Home
  2. Docs
  3. Publisher
  4. Choosing the best integra...
  5. VAST/DAAST configuration

VAST/DAAST configuration

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

stationIdThe unique identifier of the station. This identifier is
generated after adding the stream in the AdTonos
listenerIdUnique listener ID (ULID). Parameter enabling
identification of the returning listener (new session).
idfaiOS Identifier for Advertising.Yes, only on iOS
gaidGoogle Advertising ID.Yes, only on
Android devices
sessionIdUnique session ID. It should remain the same for a
given listener during one session (e.g. open browser
verThe VAST protocol version to use. The default is 4.0.No
adTypeAdvertising purpose: preroll, midroll, bannerad.No
contentTypeThe type of requested ad: audio or video.No
targetingInformation whether the listener has consented to
profiling ads (GDPR). Available values on and off.
By default on.
ipListener IP address.No**
langListener’s prefered language.No**
userAgentListener’s browser User Agent.No**
pricingForce adding <Pricing model="CPV"> tag to VAST response. By default, this tag is not present.No
speakerIdUnique smart speaker identifier. On Amazon Echo
use context.System.device.deviceId on
Google Home generate UUID4 and store it action
Yes, only on
smart speakers
ivaAllow ads with Your Truly “call-to-action” for virtual
Assistants even when speakerId is not set and
userAgent does not match smart speakers.
Available values amazon and google.
referer or
Website URL that is requesting VAST.No
bitrateFilter out media files that have a different bitrate than
the indicated one. Supported bitrates: 64, 128, 192,
256 and 320.
samplingrateFilter out media files that have a different sampling
rate than the indicated one. Supported sampling
rates: 44100 and 48000.
cbCache Busting – random number (at least 10 digits)
to avoid caching responses in the listener’s browser.
content_languageThe language of the content where ads will be
played. Two-letter code that corresponds toISO 639-1 language codes.
content_countryCountry Code of the listener’s location.
Two-letter code corresponds to ISO 3166-1 alpha-2 country codes.
content_typeContent-type as defined by the IAB Tech Lab
Content Taxonomy V2. Comma-separated list of integer values, each in the 1-698 range
gdpr_consentIAB 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

X-Forwarded-For or
Listener IP address.No**
X-Device-User-Agent or
Listener’s browser User Agent.No**
or Accept-Language
Listener’s prefered language.No**
RefererURL of the page where the player is

* 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 uses the same parameters as the VAST tag.



Impressions and tracking events may contain macros – for example http://example.com?bb=[CACHEBUSTING].

AdTonos support the most popular VAST 4.x macros:

[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.