Ad Technology
VAST (Video Ad Serving Template)
Reviewed by Sonu · OTT & Streaming
Last updated: 2026-07-01
VAST (Video Ad Serving Template) is the IAB's XML standard that a video player uses to request and play a single ad. It carries the media file — or a wrapper that redirects to another ad server — plus impression, quartile, and click tracking, so players and ad servers interoperate.
Enveu take
VAST is the contract between your player and every ad server — get versioning, wrappers, and tracking right and any demand source plugs in; get it wrong and ads fail silently while revenue leaks.
AdvertisingAd techStandard
What it is
VAST (Video Ad Serving Template) is an IAB specification that defines an XML response a video player understands. When an ad break occurs, the player calls an ad tag and receives VAST XML that either points to the ad’s media file (an inline ad) or redirects to another ad server (a wrapper). The XML also carries impression, quartile, and click-tracking URLs so the ad is measured consistently across players.
- XML the player requests at each ad break
- Inline (media) or wrapper (redirect) responses
- Standard impression, quartile, and click tracking
Why it matters
VAST is what lets any compliant player work with any compliant ad server. It standardizes how an ad is requested, which creative to play, and how impressions, quartiles, and clicks are tracked — so monetization is not locked to one vendor. Without VAST, every player-to-ad-server integration would be custom and measurement inconsistent.
Key points
- IAB XML standard for a single ad
- Carries a media file or a wrapper redirect
- Standard impression, quartile, and click tracking
- Foundation that VMAP and SSAI build on
How it works
1
Request
Player calls the VAST ad tag.
2
Respond
Ad server returns VAST XML.
3
Resolve
Follow wrappers to the media file.
4
Play & track
Show the ad, fire tracking.
Where you encounter it
Pre-roll, mid-roll, and post-roll adsAVOD and FAST monetizationSSAI / CSAI ad requestsAd-server and player integrations
Key variations
Inline
VAST carrying the media file.
Wrapper
VAST that redirects to another server.
VAST 3.0 / 4.x
Newer versions add features.
Real-world example
Fixing silent ad failures
A service saw ads fail to play in some apps.
Challenge
- Wrapper chains timed out
- Tracking fired inconsistently
Action taken
- Standardized on one VAST version across players
- Capped wrapper depth and validated tags
Outcome
Ad errors dropped and impression tracking became reliable.
Frequently asked questions
What is VAST?
VAST (Video Ad Serving Template) is the IAB's XML standard a video player uses to request and play a single ad, carrying the media file or a wrapper plus tracking data.
What's the difference between VAST and VMAP?
VAST describes a single ad — what to play and how to track it. VMAP describes the ad schedule — where breaks go in the video and what each contains — and typically references VAST for each break.
What is a VAST wrapper?
A wrapper is a VAST response that redirects to another ad server instead of carrying the media directly, letting demand be chained — though deep wrapper chains add latency and failure risk.
What's the difference between VAST and VPAID?
VAST is the XML response that tells a player where to fetch an ad and how to track it; VPAID added interactivity by letting the ad run its own code inside the player. VPAID is now largely deprecated for security and CTV-incompatibility reasons — SIMID and OMID have taken over its interactivity and verification roles, while VAST 3.0/4.x remains the core ad-serving standard.
Which VAST version should I use for connected TV?
VAST 4.1+ is the practical choice for CTV: it separates the media file from verification and interactivity (via OMID/SIMID), signals server-side ad insertion, and carries universal ad IDs and categories that CTV platforms expect. Because many SSPs still return VAST 3.0, a robust player should parse 3.0 through 4.x.
Try it yourself
Build & preview VAST tags
Generate VAST 3.0/4.0 and VMAP ad tags and preview them in a real IMA player — no code required.