VAST versions explained — 2.0 through 4.3
The IAB Tech Lab has published six versions of the VAST specification, and all of them are still in active use in production. This guide covers what each version introduced, what was deprecated, and how they compare — so you can choose the right version for your ad pipeline and validate correctly.
Version timeline
| Version | Released | Key addition |
|---|---|---|
| VAST 2.0 | 2008 | Foundation — inline, wrapper, tracking, companions |
| VAST 3.0 | 2012 | Skippable ads, industry icons, Ad Pods |
| VAST 4.0 | 2016 | Server-side ad insertion (SSAI), mezzanine files, UniversalAdId |
| VAST 4.1 | 2018 | OMID verification, interactive files, closed captions |
| VAST 4.2 | 2019 | Macro enhancements, conditional ad improvements |
| VAST 4.3 | 2022 | SIMID support, improved CTV measurement |
VAST 2.0 — the foundation
VAST 2.0 is the baseline. It introduced the core structure that every later version builds on: inline ads, wrapper chains, impression tracking, companion ads, and media files with delivery and codec attributes. Most legacy ad servers and many DSPs still emit 2.0 tags.
Key elements:
<InLine>and<Wrapper><Impression>,<Tracking>,<ClickThrough><MediaFile>withdelivery,type,width,height<CompanionAds>
VAST 3.0 — skippable ads and Ad Pods
VAST 3.0 added support for skippable linear ads (via skipoffset), the Ad Pod sequence for mid-roll ad breaks, industry icon overlays, and VPAID integration for interactive creatives.
New in 3.0:
skipoffsetattribute on<Linear><AdPod>sequencing for ad break scheduling<Icons>for AdChoices and similar overlaysapiFramework="VPAID"on<MediaFile><AdParameters>for passing data to interactive creatives
VAST 4.0 — SSAI and mezzanine files
VAST 4.0 was a major revision targeting server-side ad insertion (SSAI) and CTV. It introduced mezzanine files (high-quality source for server-side transcoding), <UniversalAdId> for cross-platform ad deduplication, and deprecated VPAID in favor of more structured approaches.
New in 4.0:
<Mezzanine>/<MediaFile>withfileSize<UniversalAdId>— unique ad identification across systems<Category>for content categorization<ViewableImpression>for viewability tracking- VPAID officially discouraged — beginning of deprecation
VAST 4.1 — OMID and interactive files
VAST 4.1 introduced the <Verification> element (part of the OMID framework) for third-party measurement, <InteractiveCreativeFile> for SIMID-based interactivity, and <ClosedCaptionFiles> for accessibility.
New in 4.1:
<AdVerifications>→<Verification>(OMID)<InteractiveCreativeFile><ClosedCaptionFiles>- Refined error codes and reporting
VAST 4.2 — macros and conditional ads
VAST 4.2 was a maintenance release with improvements to macro handling, conditional ad support, and measurement standards. It clarified the behavior of several elements and added explicit macro-replacement rules.
VAST 4.3 — CTV and SIMID
The latest version, VAST 4.3, extends CTV measurement capabilities and formalizes SIMID (Secure Interactive Media Interface Definition) as the interactive ad standard, replacing VPAID entirely. It also adds improved support for podded ad experiences on streaming platforms.
Which VAST version should I use?
- VAST 4.2 or 4.3 — recommended for new implementations. Full feature set, OMID verification, UniversalAdId, no VPAID dependency.
- VAST 3.0 — still common in the long tail. If you're accepting third-party tags, expect to encounter 3.0 frequently.
- VAST 2.0 — legacy. Still emitted by older ad servers. Accept it as input but don't generate it for new campaigns.
vastlint detects the version automatically from the version attribute and validates against the correct spec. Elements that are invalid for the declared version are flagged — for example, using <UniversalAdId> in a VAST 3.0 document.
Version compatibility matrix
| Feature | 2.0 | 3.0 | 4.0 | 4.1 | 4.2 | 4.3 |
|---|---|---|---|---|---|---|
| Inline / Wrapper | ✓ | ✓ | ✓ | ✓ | ✓ | ✓ |
| Skippable ads | — | ✓ | ✓ | ✓ | ✓ | ✓ |
| VPAID | — | ✓ | ⚠ Deprecated | ⚠ | ⚠ | ✗ Removed |
| UniversalAdId | — | — | ✓ | ✓ | ✓ | ✓ |
| OMID Verification | — | — | — | ✓ | ✓ | ✓ |
| Mezzanine files | — | — | ✓ | ✓ | ✓ | ✓ |
| SIMID | — | — | — | — | — | ✓ |
| Closed captions | — | — | — | ✓ | ✓ | ✓ |
Validate across all versions
vastlint validates VAST 2.0 through 4.3 with version-aware rules. Paste a tag into the web validator to see exactly which rules fire for your declared version.