What is VAST & How to Test VAST Tags
Learn about VAST, how to test VAST tags, and best practices for video ad creatives. Explore our guides to ensure your video ads are compliant and error-free.
An introduction to VAST and how to test your video ad tags effectively.

What is VAST? – An Overview
VAST (Video Ad Serving Template) is a standardized XML-based protocol developed by the Interactive Advertising Bureau (IAB) to facilitate the delivery of video advertisements across a wide variety of media players, devices, and platforms.
It acts as a bridge between ad servers and video players, ensuring consistent communication of ad metadata, creatives, and tracking requirements regardless of the playback environment — whether on desktop browsers, mobile apps, connected TV (CTV), or over-the-top (OTT) streaming platforms.
This protocol was developed by the Interactive Advertising Bureau (IAB) to facilitate the delivery of video advertisements across a wide variety of media players, devices, and platforms. It acts as a bridge between ad servers and video players, ensuring consistent communication of ad metadata, creatives, and tracking requirements regardless of the playback environment — whether on desktop, mobile, connected TV (CTV), or in-app video. At its core, VAST defines a structured XML response that includes information about the video ad creative (such as file URLs, durations, and formats), companion ads, error reporting, and detailed tracking events (e.g., impressions, quartile completions, clicks, mutes, pauses, and more). This allows video players to interpret and render ads correctly while also reporting performance metrics back to advertisers.
How VAST Works
At its core, VAST defines a structured XML response that communicates everything a video player needs to know about an ad:
- The creative file(s) (video URL, format, resolution, codec)
- Duration and playback rules
- Companion creatives such as display banners
- Tracking events for impressions, quartile completion, clicks, mutes, pauses, rewinds, etc.
- Error reporting endpoints in case playback fails.
Read more about VAST Error Codes.
When a publisher or app integrates a VAST tag, the video player makes a request to an ad server. The ad server responds with a VAST XML document, which the player interprets and renders as an ad while also sending tracking pings back to the advertiser.
This process ensures that ads are displayed consistently and that performance data (such as viewability, completion rates, or user interactions) flows back into the programmatic ecosystem.
VAST Request Flow
Here’s a simplified flow of how VAST works:
-
Video Player → Ad Server
The player sends a request for an ad (usually via a VAST tag URL). -
Ad Server → Video Player
The ad server responds with a VAST XML document that contains metadata about the ad (creatives, tracking, duration, etc.). -
Video Player → CDN / Creative Server
The player parses the XML and retrieves the actual video creative file(s) from a CDN or advertiser’s creative server. -
Video Player → User Device
The ad is rendered on the user’s device, either as a pre-roll, mid-roll, or another supported format. -
Video Player → Advertiser / Analytics Server
During playback, the player sends tracking pings (impressions, quartile completions, clicks, errors) to the advertiser or analytics provider.
A further Explanation:
- The video player requests a VAST tag from an ad server.
- The ad server returns a VAST XML response containing creatives, tracking, and metadata.
- The player fetches the media file(s) from a CDN or hosting server.
- The ad plays on the user’s device.
- Throughout playback, the player sends tracking pings back to advertisers or analytics servers.
Types of Ads Supported by VAST
VAST supports several ad formats, making it flexible across different video environments:
-
Linear ads
Standard in-stream ads that play before (pre-roll), during (mid-roll), or after (post-roll) the video content. These are the most common format for monetization.View an example of a linear ad in our VAST testing tool.
-
Non-linear ads
Ads that overlay on top of the video without completely interrupting playback. For example, a lower-third banner ad. -
Companion ads
Display or rich media assets (such as side banners, end cards, or app install prompts) shown alongside the video. Companion ads increase visibility and provide cross-platform reinforcement.View an example of a companion ad in our VAST tester.
Key Milestones in VAST Specifications
The VAST specification has evolved significantly over time to address new challenges in the digital video ecosystem:
-
VAST 2.0 (2008)
Standardized basic video ad delivery for the first time, including linear and companion ads. -
VAST 3.0 (2012)
Introduced ad pods (sequences of ads), more robust error reporting, and better support for third-party tracking. -
VAST 4.0 (2016)
- Separated media files from metadata for server-side ad insertion (SSAI)
- Added verification APIs (e.g., Open Measurement SDK) to combat fraud and ensure measurement consistency
- Improved efficiency with conditional ad declarations
-
VAST 4.1 – 4.3
Iterative improvements, including more granular tracking events, updated creative handling, and compatibility with interactive standards like SIMID (Secure Interactive Media Interface Definition).
VAST and Other IAB Standards
VAST does not operate in isolation. It often works hand-in-hand with other IAB standards:
- VPAID (Video Player Ad-Interface Definition) – Historically used for interactive ads, though increasingly deprecated due to security and compatibility issues.
- OMID (Open Measurement SDK) – Ensures standardized measurement of impressions and viewability across devices.
- SIMID (Secure Interactive Media Interface Definition) – Provides a secure framework for interactive ad experiences.
Together, these standards allow advertisers and publishers to maintain trust, scalability, and transparency across a fragmented ecosystem.
Why VAST Matters
VAST is the backbone of digital video advertising because it enables:
- Scalability – A single standardized tag can serve ads across multiple players, apps, and devices.
- Interoperability – Different ad servers, DSPs, SSPs, and publishers can work together without proprietary integrations.
- Measurement – Consistent tracking ensures advertisers know how their campaigns are performing.
- Flexibility – Support for linear, non-linear, and companion ads makes it adaptable to many formats.
- Programmatic growth – VAST is the foundation for automated buying/selling of video inventory in real time.
Without VAST, the video ad industry would be fragmented and inefficient, with each player requiring custom integrations.
Practical Usage of VAST
-
How to use VAST?
Publishers or ad ops teams embed a VAST tag (either as a URL or raw XML) into their video player or ad server configuration. The player fetches the tag, parses the XML, and displays the ad as instructed. -
What does a VAST tag contain?
A typical tag includes:- Creative video file URLs
- Companion ad banners
- Impression tracking URLs
- Event trackers for play, pause, mute, quartiles, and completion
- Click-through URLs
-
Where is VAST used?
VAST is supported by most major video players and ad servers. It powers ads in:- Web-based video players (e.g., YouTube, JW Player, Brightcove)
- Mobile apps (both iOS and Android)
- Connected TV (CTV) and OTT platforms (Roku, Fire TV, Apple TV, etc.)
- SSAI workflows for live streaming and on-demand content
Example 1: Simple VAST Pre-Roll Ad
<VAST version="4.0"> <Ad id="12345"> <InLine> <AdSystem version="4.0">Sample Ad Server</AdSystem> <AdTitle>Pre-Roll Video Ad</AdTitle> <Impression><![CDATA[https://example.com/track/impression]]></Impression> <Creatives> <Creative> <Linear> <Duration>00:00:15</Duration> <TrackingEvents> <Tracking event="start"><![CDATA[https://example.com/track/start]]></Tracking> <Tracking event="firstQuartile"><![CDATA[https://example.com/track/25]]></Tracking> <Tracking event="midpoint"><![CDATA[https://example.com/track/50]]></Tracking> <Tracking event="thirdQuartile"><![CDATA[https://example.com/track/75]]></Tracking> <Tracking event="complete"><![CDATA[https://example.com/track/100]]></Tracking> </TrackingEvents> <VideoClicks> <ClickThrough><![CDATA[https://advertiser.com/landing-page]]></ClickThrough> </VideoClicks> <MediaFiles> <MediaFile delivery="progressive" type="video/mp4" width="640" height="360"> <![CDATA[https://cdn.example.com/ads/video-ad.mp4]]> </MediaFile> </MediaFiles> </Linear> </Creative> </Creatives> </InLine> </Ad> </VAST>
Example 2: VAST Wrapper Ad
<VAST version="4.0"> <Ad id="67890"> <Wrapper> <AdSystem version="4.0">Wrapper Ad Server</AdSystem> <VASTAdTagURI><![CDATA[https://secondary.adserver.com/vast-tag.xml]]></VASTAdTagURI> <Impression><![CDATA[https://example.com/track/wrapper-impression]]></Impression> <Error><![CDATA[https://example.com/track/error]]></Error> <Creatives> <Creative> <Linear> <TrackingEvents> <Tracking event="start"><![CDATA[https://example.com/track/start]]></Tracking> <Tracking event="complete"><![CDATA[https://example.com/track/complete]]></Tracking> </TrackingEvents> </Linear> </Creative> </Creatives> </Wrapper> </Ad> </VAST>
Frequently Asked Questions
Is VAST only for video ads?
Yes. VAST is specifically designed for delivering and tracking video-based ad creatives, although companion banners and overlays are supported.
Does VAST guarantee ad playback?
No. VAST defines what should happen; successful playback still depends on the player, user environment, and network conditions.
Is VAST the same as VPAID?
No. VPAID added interactivity on top of VAST but is largely being phased out in favor of SIMID for security reasons.
What’s the latest version of VAST?
As of today, the latest specification is VAST 4.3, which focuses on better SSAI support, viewability, and measurement improvements.
Where is VAST used?
VAST is used in online video players, CTV/OTT apps, mobile apps, and any environment that supports video ad playback. It is supported by most major ad servers and publisher video players.
Final Thoughts
In modern digital advertising, VAST is fundamental to scalable, measurable, and cross-platform video ad delivery. It enables advertisers to reach audiences across web, mobile, and CTV/OTT while giving publishers a consistent framework for monetization.
From a business perspective, VAST is more than just a technical XML schema—it’s a cornerstone of the programmatic video ecosystem, enabling billions of ad impressions daily across the globe.
Resources
- IAB VAST Standards
- IAB VAST 4.2 Specification
- IAB Latest VAST 4.3 Specification
- AdMeIn Golang VAST Generator
- AdMeIn VAST Examples
How can I test VAST Tags?
Testing VAST tags is crucial to ensure they are correctly formatted and will work across different video players. You can use our VAST tag tester to validate your VAST tags, preview the ad, and troubleshoot any issues.
Head over to our VAST Tag Tester to test and inspect your VAST tags.