VAST stands for Video Ad Serving Template. It is an XML specification, maintained by the IAB Technology Laboratory, that describes one video advertisement to one video player. When a player reaches a point where an advertisement should run, it calls an ad server, and the server answers with a VAST document: a structured file naming the media to fetch, how long it lasts, which URLs to call as playback progresses, where a click leads, and which code to report on failure.

The specification exists because of a combinatorial problem. Before 2008, every player had to be built against the response format of every ad server it traded with, and every ad server had to accommodate the quirks of every player. The IAB set the goal on release: publishers using the standard could plug into multiple third-party video ad servers without additional development.

Inside a VAST document

The root element is VAST, carrying a version attribute. Inside it sit one or more Ad elements, each taking one of two forms.

An InLine ad is complete. It carries AdSystem identifying the serving platform, AdTitle, Impression elements holding the URLs that register a served advertisement, and a Creatives block. Inside a Creative, a Linear element covers advertisements that interrupt content: a Duration in hours, minutes and seconds, a MediaFiles collection, VideoClicks for click-through and click-tracking URLs, and TrackingEvents.

MediaFiles offers the same advertisement at several qualities. Each MediaFile carries a delivery attribute set to progressive or streaming, a MIME type, a bitrate and pixel dimensions, and the player picks the rendition matching its screen and connection. VAST 4.0 added a Mezzanine element holding a raw master intended not for playback but for transcoding, which server-side stitching systems need to match the bitrate ladder of the surrounding stream.

TrackingEvents is the measurement layer. Named events carry URLs the player fires as playback crosses each point: start, firstQuartile, midpoint, thirdQuartile and complete. A progress event takes an offset attribute accepting a timestamp or a percentage, placing a beacon anywhere. Because these are ordinary HTTP calls, buyer, seller and verification vendor can each hold a beacon on one event and count the same playback independently. Smaller nodes surround them: skipoffset states when a skip control appears, Icons carry privacy overlays, UniversalAdId holds a registered creative identifier, and AdVerification the resources a measurement vendor executes through the Open Measurement SDK.

The redirect chain and its failure codes

Wrapper is the second form an Ad can take, and it contains no media: only tracking URLs and a VASTAdTagURI pointing at another VAST endpoint. The player follows the pointer and repeats until an InLine response arrives or the chain breaks. This is how one ad server hands an impression to another while keeping its measurement attached. The VAST 4.3 specification states that wrappers should be limited to five, with error code 302 for a breached limit and 301 for a wrapper URI that times out. Google's Interactive Media Ads SDK applies a five-second default timeout to the initial request and each subsequent wrapper, and eight seconds to media loading.

Errors are reported through an Error element whose URL is called with an ERRORCODE macro substituted. According to Google Ad Manager documentation, 100 signals a response that could not be parsed as VAST, 101 a schema validation failure, 303 no advertisement after one or more wrappers, 402 a media file that timed out, and 403 declared MIME types no decoder supports.

Where VAST sits in a programmatic trade

VAST is not an auction protocol. OpenRTB, also maintained by IAB Tech Lab, carries the bid request and response, and the two meet at two points.

In the request, a video object declares what the player handles. The protocols array enumerates the VAST versions accepted, with separate values for wrapper variants, so a player that cannot follow redirects can say so. Alongside it sit mimes, minduration and maxduration, linearity, and the skip triplet of skip, skipmin and skipafter. The plcmt attribute, clarified by IAB Tech Lab in February 2025, separates genuine in-stream inventory from accompanying, interstitial and standalone placements.

In the response, the winning bid returns VAST markup in the adm field, or a URL resolving to it. Google Ad Manager expects a creative by URL while a Prebid bidder returns raw XML, and Microsoft's deprecation of the public Prebid Cache on April 30, 2026 removed the endpoint most publishers used to bridge the two.

On connected television the player is often not the caller: a server-side insertion system requests the document, conditions the file and splices it into the manifest. Google Ad Manager added server-side unwrapping in December 2024, resolving redirect chains inside the ad server and reporting an 83% reduction in error rates in partner testing.

Origin and versions

The IAB released VAST for public comment on July 29, 2008, with a scope covering Flash, Windows Media Player and RealPlayer. VAST 2.0 followed on November 16, 2009, deprecating 1.0, formalising the XML wrapper as the preferred redirect method and adding quartile tracking. VAST 3.0 arrived in 2012 with skippable advertisements, ad pods and expanded error reporting.

VAST 4.0, published on January 21, 2016, was the structural break: media files were separated from verification and interactive code, the mezzanine file arrived for server-side stitching, and creative identification was standardised. VAST 4.1 landed in November 2018, adding Open Measurement support and absorbing the digital audio standard DAAST. VAST 4.2 followed in June 2019, alongside SIMID, put into public comment as the replacement for VPAID. VAST 4.3 went to comment on September 22, 2022 and was finalised that December. It remains the current final version.

Adoption never kept pace with publication, which is why IAB Tech Lab released the VAST CTV Addendum 2024 in July of that yearfollowing an April draft. It retrofitted registered advertisement identifiers, high-resolution files, SIMID support and a Digital Services Act icon into the VAST 2 and VAST 3 implementations still in service. Katie Stroud, Senior Product Manager at IAB Tech Lab, led the work.

Why it matters commercially

United States digital video advertising revenue grew 25.4% to $78 billion in 2025, a total IAB expects to pass $80 billion in 2026. Nearly every impression inside that figure resolves to a VAST document at delivery.

Measurement is the second function. Quartile beacons made completion a portable, cross-vendor number rather than a proprietary ad server statistic, which allowed cost per completed view to become a currency. IAB Tech Lab integrated UniversalAdId into the Open Measurement SDK in June 2025 so impressions could be reconciled against specific creatives.

Version fragmentation carries a direct cost. At a 2025 IAB Tech Lab workshop panel titled "The VAST Question", participants described orders worth millions that were hard to execute because supporting multiple versions kept newer formats from programmatic scale.

Limitations and disputes

Latency is the oldest complaint. Each wrapper hop is a full round trip taken while the slot sits blank, and the five-redirect ceiling is a recommendation, not an enforced limit. IAB Spain's April 2026 supply-side platform guide notes that chaining lets multiple parties join one delivery, at the cost of latency.

Server-side insertion breaks the assumption the tracking model rests on, because beacons fired by a stitcher describe what a server transmitted, not what a device rendered. IAB Europe stated in April 2026 that connected television measurement is heavily shaped by server-side insertion, which limits the client-side tags verification depends on. The gap has been exploited repeatedly, from StreamScam, disclosed by Oracle in 2021 with 28.8 million spoofed US household IP addresses, to NewsJunkie, disclosed by HUMAN Security in July 2026 at two billion bid requests a day.

Classification sits outside VAST but degrades what VAST delivers. A document says nothing about whether the player was requested by a viewer or embedded in an article, which is why the in-stream labelling dispute runs through OpenRTB.

Disambiguation

VPAID, the Video Player Ad Interface Definition, was the interactive companion released alongside VAST 1.0. Letting creative JavaScript run inside the player created security and stability problems. It is deprecated, and SIMID replaced it by isolating that code.

VMAP, the Video Multiple Ad Playlist, schedules breaks. It says when advertisements run within a piece of content; VAST says what runs. A VMAP document references VAST documents, not the reverse.

OMID, the Open Measurement Interface Definition, is the measurement API. VAST carries the pointer to a verification resource; OMID defines what that resource observes.

OpenRTB settles which advertisement wins and at what price. VAST describes the one that won.

Recent developments

Attention has moved to formats sitting outside the commercial break. IAB Tech Lab released standards for six connected television formats on December 11, 2025, covering pause, menu, squeezeback, overlay, in-scene and screensaver advertisements, and finalised signalling guidance on July 22, 2026. These are non-linear units, and carrying video inside them needs schema changes VAST 4.3 lacks.

A draft schema for VAST 4.4 now sits in the IAB Tech Lab VAST repository on GitHub. Its annotation marks it as a draft for working group discussion, built on the published 4.2 structure, and lists the proposed additions: MediaFiles and Duration under NonLinear, InteractiveCreativeFile for SIMID inside that container, standardised QR code extensions, and Extensions payloads carrying plcmt, pos, playbackmethod and attr. The signalling guidance is final; as of September 2026, the schema is not.

The classification layer is being rebuilt around VAST rather than inside it, with IAB opening a 30-day comment window on July 9, 2026 for a standard sorting video by viewer orientation rather than distribution technology. An eighteen-year-old XML schema keeps working because the industry attaches new vocabularies to it rather than replacing it.

Timeline

  • July 29, 2008: The IAB releases the Digital Video Ad Serving Template for public comment, with the period running to September 10
  • November 16, 2009: VAST 2.0 is released at the IAB Ad Ops Summit, deprecating 1.0 and establishing the XML wrapper as the preferred redirect method
  • 2012: VAST 3.0 adds skippable advertisements, ad pods and expanded error reporting
  • January 21, 2016: VAST 4.0 separates media files from verification and interactive code and introduces the mezzanine file
  • November 2018: VAST 4.1 adds Open Measurement verification support and absorbs the DAAST audio standard
  • June 2019: VAST 4.2 is released with SIMID support
  • September 22, 2022: VAST 4.3 and SIMID 1.2 enter a 30-day public comment period closing October 22
  • December 2022: VAST 4.3 is finalised
  • April 2024: A draft VAST CTV Addendum is opened for public comment
  • July 2024: The VAST CTV Addendum 2024 is published, retrofitting registered advertisement identifiers, high-resolution files, SIMID and a Digital Services Act icon into VAST 2 and 3
  • June 2025: UniversalAdId is integrated into the Open Measurement SDK
  • December 11, 2025: Standards for six connected television ad formats are released for public comment
  • July 9, 2026: A 30-day comment window opens on a new video classification standard
  • July 22, 2026: Signalling guidance for the six connected television formats is finalised

Summary

Who. IAB Tech Lab maintains the specification through its Advanced TV and video working groups. Ad servers and demand-side platforms generate VAST documents; video players, mobile SDKs and server-side insertion systems consume them; verification vendors read the nodes inside them.

What. VAST is an XML schema describing one video advertisement to one player: the media renditions available, the duration, the tracking beacons, the click destination, the interactive and verification resources, and the error codes to report on failure. A document is either InLine, containing everything needed, or a Wrapper redirecting to another endpoint.

When. Released for public comment in July 2008, updated through 2.0 in 2009, 3.0 in 2012, 4.0 in 2016, 4.1 in 2018, 4.2 in 2019 and 4.3 in December 2022. A 2024 addendum retrofitted newer features into VAST 2 and 3, and a 4.4 schema exists in draft as of September 2026.

Where. In browser video players, mobile application SDKs, connected television devices and the server-side stitchers that assemble streams. It sits downstream of the OpenRTB auction and upstream of playback, and is referenced by VMAP where a piece of content carries several breaks.

Why. Without a shared response format, every player would need bespoke code for every ad server, and no measurement number would be comparable across vendors. VAST made video inventory tradeable at scale, and its tracking events turned quartile completion into a currency. The costs are the ones a redirect-based design implies: latency, fragmented version support, and a measurement model that assumes a client-side player which connected television frequently does not provide.