How VAST, VMAP, and VPAID fit together
- VAST (Video Ad Serving Template) is the response format - one ad (or a wrapper chain of ads) with media files, tracking pixels, and click-through.
- VMAP (Video Multiple Ad Playlist) is the playlist of breaks - "pre-roll at 0s, mid-roll at 600s, post-roll at end" - each pointing at a VAST URL.
- VPAID is an interactive ad executable. It is poorly supported on Roku, Fire TV, Apple TV, and is deprecated in VAST 4. Most CTV publishers reject VPAID-only responses.
Required VAST elements (InLine, linear video)
| Element | Required? | Notes |
|---|---|---|
<VAST version="..."> | Yes | Version 2.0+; 4.x is the modern target |
<Ad id="..."> | Yes | One per ad in the response |
<InLine> or <Wrapper> | Exactly one | InLine ships its own creative; Wrapper redirects |
<AdSystem> | Yes | The serving system's name |
<AdTitle> | InLine: Yes | Human-readable name |
<Impression> | ≥ 1 | Beacon pinged at ad start |
<Creatives><Creative><Linear> | InLine: Yes | For linear video ads |
<Linear><Duration> | InLine: Yes | HH:MM:SS exact duration |
<Linear><MediaFiles><MediaFile> | InLine: ≥ 1 | Each with type, bitrate, width, height |
<VASTAdTagURI> | Wrapper: Yes | URL of downstream VAST |
<TrackingEvents> | No | Optional but recommended (start/firstQuartile/midpoint/thirdQuartile/complete) |
<VideoClicks><ClickThrough> | No | Where the player navigates on click |
Frequently Asked Questions
What is a VAST tag?
A VAST tag is an XML response from an ad server describing one or more video ads - media files, click-through URL, impression beacons, and tracking events. The player fetches the VAST URL at ad-break time, parses it, and plays the ad.
How do I validate a VAST tag?
Paste the XML into this tool. It checks that the document is well-formed, that the VAST version is detectable, that an InLine or Wrapper Ad exists, that mandatory child nodes are present, and that URLs look well-formed. CTV-specific warnings flag VPAID-only tags.
What is the difference between VAST, VMAP, and VPAID?
VAST describes a single ad or wrapped chain. VMAP describes when ad breaks happen and which VAST to fetch for each. VPAID is an interactive ad executable - poorly supported on CTV and deprecated in VAST 4.
Which VAST elements are required?
For InLine linear: <VAST>, <Ad>, <InLine>, <AdSystem>, <AdTitle>, ≥ 1 <Impression>, and <Creatives><Creative><Linear> containing <Duration> and ≥ 1 <MediaFile>. Wrappers need <VASTAdTagURI>.