DAAST: Digital Audio Ad Serving Template
DAAST (Digital Audio Ad Serving Template) is the IAB specification that did for audio what VAST does for video: a standard XML response format for serving ads into streaming radio, music services, and podcast players. Released in 2014, it lived as a separate spec for four years before IAB Tech Lab folded audio support into VAST 4.1 and retired it.
You still meet DAAST in two places: legacy audio ad servers that never migrated, and validation work on old integrations. New audio work should target VAST 4.1+.
Why audio had its own template
Audio delivery breaks several assumptions video ad serving makes. There is often no screen: playback happens in a locked phone, a car dashboard, or a smart speaker. Viewability, the organizing metric of video, does not exist. Clicks are rare and sometimes impossible, so companion display and audible calls to action carry the response. And playback environments range from full apps to bare streaming protocols with no runtime at all.
DAAST encoded those differences while copying VAST's skeleton. An InLine or Wrapper response, Creatives containing Linear elements, MediaFiles pointing to audio assets, impression and quartile tracking. A VAST engineer could read a DAAST document without learning a new mental model, which is precisely why maintaining two parallel specs stopped making sense.
What VAST 4.1 absorbed
VAST 4.1 (2018) made three changes that ended DAAST:
- The
adTypeattribute on the<Ad>element, with valuesvideo,audio, andhybrid, so a response can declare itself audio-first and players can route it accordingly. - Audio MediaFiles as first-class citizens: audio MIME types (
audio/mpeg,audio/aac,audio/ogg) in<MediaFile>, with the existing delivery, bitrate, and codec attributes. - Tracking semantics that tolerate screenless playback: the linear event model (start, quartiles, complete) works without any visual surface, and companion ads are optional accompaniments rather than expectations.
A minimal VAST 4.2 audio ad:
<VAST version="4.2">
<Ad id="audio-1" adType="audio">
<InLine>
<AdSystem>ExampleAudioAdServer</AdSystem>
<AdTitle>Podcast Mid-Roll 30s</AdTitle>
<Impression><![CDATA[https://track.example.com/imp]]></Impression>
<Creatives>
<Creative>
<UniversalAdId idRegistry="Ad-ID">CNPA0484000H</UniversalAdId>
<Linear>
<Duration>00:00:30</Duration>
<MediaFiles>
<MediaFile delivery="progressive" type="audio/mpeg" bitrate="128">
<![CDATA[https://cdn.example.com/spots/midroll-30.mp3]]>
</MediaFile>
</MediaFiles>
<TrackingEvents>
<Tracking event="start"><![CDATA[https://track.example.com/start]]></Tracking>
<Tracking event="complete"><![CDATA[https://track.example.com/complete]]></Tracking>
</TrackingEvents>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>Migrating a DAAST integration
| DAAST concept | VAST 4.1+ equivalent |
|---|---|
<DAAST> root element | <VAST version="4.1"> (or later) |
| Audio ad declaration (implicit) | <Ad adType="audio"> (explicit) |
| InLine / Wrapper structure | Identical |
| Audio MediaFiles | Identical, with standard VAST attributes |
| Impression and linear tracking | Identical event names |
| Companion display | <CompanionAds>, optional |
The migration is mostly a root-element and version-declaration change plus a review of anything vendor-specific that rode in Extensions. The structural concepts carry over one to one.
Does vastlint validate DAAST?
Yes. The vastlint core validates DAAST documents for legacy pipelines alongside VAST and VMAP, and validates VAST 4.1+ audio responses (including adType values and audio MIME types in MediaFiles) as ordinary VAST. See VMAP and DAAST validation in vastlint core and the rules reference.