Skip to content
▶Vidiyo
FeedWatchTV guideFor creatorsPricingSupport
DevelopersAbout
Watch nowWatch
  1. Learn
  2. Technical
  3. What Is a VAST Tag? Video Ad Serving Template, Explained
Technical

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.

By David NaffisJuly 17, 20266 min read
Editorial photo for: What Is a VAST Tag? Video Ad Serving Template, Explained

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.

Detail view for article: What Is a VAST Tag? Video Ad Serving Template, Explained

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.

  1. 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.
  2. The VAST tag is called. The requester fetches the tag URL, filling in macros for context: content genre, device type, player size, privacy flags.
  3. 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.
  4. 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.
  5. 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:

Supporting editorial photo for: What Is a VAST Tag? Video Ad Serving Template, Explained

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

SpecWhat it isStatus in FAST and CTV
VASTXML describing which ad to play and how to track itThe standard; required everywhere
VPAIDExecutable ad code (originally Flash, then JavaScript) for interactive adsDeprecated; incompatible with SSAI and most TV devices
SIMIDVAST 4.x companion for interactivity: creative runs in a sandboxed layer beside the videoThe 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

  • What is SSAI? Server-side ad insertion
  • What is SCTE-35? Ad break signaling
  • Ad fill optimization for FAST channels
  • FAST channel monetization
  • FAST TV glossary
Written by
David Naffis

Founder, Vidiyo

Founder of Vidiyo. Writes about FAST channels, free live TV, and creator distribution.

More from David →
SharePost on XLinkedIn
← Newer guideWhat Is SCTE-35? Ad Break Signaling in Streams, ExplainedOlder guide →Ad Fill Rate Optimization for FAST Channels

Ready to launch your TV channel?

Vidiyo handles HLS playout, SSAI, EPG, and cross-platform distribution so you can focus on programming.

Start creating, freeSee how it works →

More in Technical

HLS vs DASH: Which Streaming Protocol Should You Use?

HLS vs DASH: both stream video in small chunks over HTTP. Compare device support, latency, and DRM, and see why FAST platforms ship HLS first in practice.

6 min read →
What Is an EPG? Electronic Program Guides, Explained

What is an EPG? An electronic program guide lists what airs on each channel and when. Learn how EPG data flows via XMLTV and why it drives discoverability.

6 min read →
What Is SCTE-35? Ad Break Signaling in Streams, Explained

What is SCTE-35? SCTE-35 is the standard for signaling ad breaks inside a video stream. Learn how splice markers work and how SSAI uses them to insert ads.

6 min read →

In this article

  • How does the VAST handshake work?
  • What is actually inside a VAST response?
  • VAST vs VPAID vs SIMID: which is which?
  • Do FAST channel operators handle VAST directly?
  • Official references
  • Quick answers
  • What's next
← More technical← All guides
▶Vidiyo

Your own TV channel. Free, on every screen.

Product

  • Watch
  • Feed
  • TV guide
  • For creators
  • Pricing
  • Apps
  • Support

Resources

  • Learn
  • Signal
  • Tools
  • Compare
  • About
  • RSS feed

Developers

  • Overview
  • REST API
  • MCP server

Legal

  • Terms
  • Privacy
  • Cookies
  • DMCA
  • Creator agreement
  • Trust & Safety
Get the app
  • iPhone & iPad
  • Android
  • Roku
  • Fire TV
  • Apple TV
© 2026 Vidiyo. Made for creators, everywhere.