What Is a VAST Tag? Video Ad Serving Template, Explained
What is a VAST tag? VAST is the XML standard that tells video players which ad to play and how to track it. Learn the handshake, plus VAST vs VPAID vs SIMID.

VAST (Video Ad Serving Template) is the XML standard that lets an ad server tell a video player what ad to play, where the video file lives, how long it runs, and which tracking pixels to fire. A "VAST tag" is simply the URL a player or ad-insertion service calls to get that XML back. Published by the IAB Tech Lab, VAST is the common language of video advertising: nearly every video ad you see in a streaming app arrived through it.

If you run a FAST channel, VAST is the wire format behind your revenue. Your platform's ad system calls VAST tags at every break, and the responses become the ads stitched into your stream. This guide explains the handshake conceptually, what lives inside the XML, and how VAST relates to VPAID and SIMID.
How does the VAST handshake work?
The exchange is a short request-and-response loop between whatever plays the video and whatever sells the ad.
- An ad break arrives. The player, or a server-side ad insertion service acting for it, hits a break; in FAST streams the break is signaled by an SCTE-35 marker.
- The VAST tag is called. The requester fetches the tag URL, filling in macros for context: content genre, device type, player size, privacy flags.
- The ad server responds with XML. The document describes one or more ads: media files in several qualities, duration, click-through URL, and tracking event URLs.
- Sometimes the response redirects. Instead of an ad, the XML can contain a wrapper pointing at another VAST tag. The requester follows the chain until a real ad appears, or gives up.
- The ad plays and beacons fire. As playback crosses start, 25, 50, 75, and 100 percent, the player calls the matching tracking URLs. Those beacons are how advertisers verify delivery, and verified impressions are what you get paid for.
The whole loop typically completes in well under a second, per break, per viewer. When it fails, the result is an unfilled slot, which is why fill rate work starts with healthy VAST chains; see ad fill optimization.
What is actually inside a VAST response?
You rarely need to read the XML by hand, but knowing the main elements helps when debugging:

- Ad and InLine or Wrapper. The container: either a playable ad (InLine) or a redirect to another server (Wrapper).
- MediaFiles. The actual video creative, usually listed in several resolutions and bitrates so the requester can match the stream.
- Duration. The creative length, which SSAI systems use to fill the break window exactly.
- Impression and TrackingEvents. The pixel URLs fired at load and at playback quartiles.
- ClickThrough. Where a click lands, on devices that support clicking.
- Extensions. Vendor-specific additions, from verification scripts to identifiers.
Long wrapper chains are the classic failure mode: each hop adds latency and one more server that can time out or return empty.
VAST vs VPAID vs SIMID: which is which?
Three IAB specs cover video ads, and they solve different problems.
| Spec | What it is | Status in FAST and CTV |
|---|---|---|
| VAST | XML describing which ad to play and how to track it | The standard; required everywhere |
| VPAID | Executable ad code (originally Flash, then JavaScript) for interactive ads | Deprecated; incompatible with SSAI and most TV devices |
| SIMID | VAST 4.x companion for interactivity: creative runs in a sandboxed layer beside the video | The intended VPAID successor; adoption still growing |
The short history: advertisers wanted interactivity and measurement, so VPAID let the ad bring its own code. That broke in the living room, because TV apps and server-side stitching cannot safely run arbitrary ad scripts. VAST 4.x fixed the model by separating the media file from any interactive layer, with SIMID handling interactivity in a controlled way. For FAST channels the practical rule is simple: everything is VAST, media files are plain video, and VPAID demand is effectively unusable.
Do FAST channel operators handle VAST directly?
Usually not. The platform's ad stack calls the tags, manages wrapper chains, and stitches the winners into the stream. On Vidiyo, ad serving and SSAI are built in: you upload content, schedule your channel, and earn a revenue share on the ads sold into your breaks. The terms you will meet along the way, from ad pod to fill rate, are defined in the FAST TV glossary, and you can estimate break revenue with the ad pod calculator.
Official references
- IAB Tech Lab VAST: iabtechlab.com
- Launch on Vidiyo instead of applying platform-by-platform: start creating
- Related: FAST distribution platforms
Quick answers
What is a VAST tag URL? It is the endpoint a player or SSAI service calls to request an ad. The response is a VAST XML document describing the creative and its tracking URLs.
What is the difference between VAST and VPAID? VAST is data: it describes an ad. VPAID was code: the ad executed its own logic in the player. VPAID is deprecated and does not work with server-side insertion.
What is a VAST wrapper? A response that points to another VAST tag instead of containing an ad. Wrappers chain ad servers together, and long chains cause timeouts and unfilled breaks.
Which VAST version matters today? VAST 4.x is current and preferred for CTV because it separates media from interactivity and improves server-side tracking. Plenty of demand still arrives as VAST 2 and 3.
What's next
Ready to launch your TV channel?
Vidiyo handles HLS playout, SSAI, EPG, and cross-platform distribution so you can focus on programming.