VAST, VPAID and Video Advertising: Navigating the Nuances

Post on November 8, 2018 by Mike Chowla

Mike Chowla
Mike Chowla Senior Director of Product Management, Header Bidding

Video advertising formats tend to cause a lot confusion. Given the continued growth in digital video, with advertisers projected to each spend $10M on average in annual brand spend in 2018, it is important to understand formats, errors and opportunities for growth.

In this blog post, we’ll walk through the basics of VAST and VPAID, the developments in video header bidding and where we expect future opportunities.


Let’s start with VAST. VAST stands for “Video Ad Serving Template” and acts as the basic building block of video ads. The mostly widely deployed version today is VAST 3.0. What VAST does is specify how to encode the information needed for rendering a video ad and what trackers to fire. Simply put, VAST is an XML document; XML is a format for encoding documents, so they are both machine and human-readable.

One important thing to understand about XML documents is they are not executable by a machine because XML is not a programming language. XML basically transfers information in a structured way between systems.

Let’s take a look at an example VAST document:


While being “human-readable,” an XML document can be a bit hard to digest.  Looking through the sample, one can see the things like the impression URL under the <Impression> tag and the duration <Duration>, as well URLs for the quartile tracking events. One particular element to pay attention to is the <MediaFile> element. There’s some cumbersome XML around it to handle encoding issues but looking past that you’ll see a URL with an .mp4 extension. That’s the actual ad creative.

When a video player that supports VAST ads processes the above the tag, for example, it finds the media element and starts playing it—firing off the appropriate tracking events.

Layered VAST

Another important characteristic of VAST is that it supports nested VAST responses. What this means is one VAST document can reference another VAST document. This is extremely useful for programmatic advertising as one layer of the stack can add on to a VAST ad and reference another ad.

One use case for this is if an ad server wants to add its own analytics trackers. Here’s an example of a VAST returned by an ad server, which also references another VAST that contains an ad fetched by the Prebid.js header bidding wrapper (for conciseness, I’ve left out of some the elements):

VAST xsi

Please note, the <Wrapper> and <VASTAdTagURI> reference another VAST document that contains the reference to the actual creative.


People often talk about VAST and VPAID ads as if they are two unrelated formats for video advertising. However, a VPAID ad is transported in a VAST container. Instead of being a link to the video file, the VPAID creative is a piece of JavaScript code that interacts with a VPAID compatible player.

Here’s a snippet of a VAST ad that loads a VPAID creative:


VPAID creatives are pretty complicated pieces of executable JavaScript. In fact, a VPAID compatible player implements the VPAID API. To give you a sense how complicated VPAID is, here’s a diagram from the VPAID 2.0 Specification that shows how the VPAID player interacts with a VPAID Ad:

Complexity of Video Ads

This complexity allows for video ads to provide rich experiences and measurability that VAST 3.0 did not consider, like viewability. However, the complexity also leaves a lot of room for error which is why VPAID creatives have higher rendering error rates than a vanilla VAST that directly references video content.

For an example of a VPAID creative, take a look at This example is 491 lines of code long.  Any developer will tell you there’s lots of potential of bugs and incompatibilities with a large piece of code.

Video Header Bidding

Since many people incorrectly think of VAST vs. VPAID as different ad formats, there’s often confusion around if a layer of the ad stack supports one or the other. Whether a VPAID ad can be used is actually a property of the video player.

The other layers of the ad stack—such as ad servers, SSPs and DSPs—all work at the level of VAST. Since VPAID is a specification for the creative and is contained within a VAST document, the layers above the player that work with VAST ads can all handle VAST ads with VPAID creatives.

Header bidding wrappers can also handle any VAST ad, regardless of the creative type. The tricky piece when setting up a wrapper for video is making sure each demand partner in the wrapper is configured correctly to transmit the types of creative the player can support.  Beyond whether VPAID creatives are allowed, there are also many options around the format of the underlying ad video file, bit rates, and durations.

The Future of Video

Buyers seem to prefer using VPAID creatives because they enable viewability measurement. Publishers often prefer using just VAST, without VPAID, because running arbitrary JavaScript code from a VPAID creative presents problems with the user experience and performance of their websites. For example, a VPAID creative could do an unauthorized take of the page.  Additionally, the higher likelihood for errors with VPAID creatives means that ads fail to render too often.

Because of the issues with VPAID, the IAB announced the retirement of VPAID in November 2017. For viewability and verification needs, the Open Measurement SDK is the replacement for VPAID. For rich media, the combination of a new VPAID-i (“i” for interactive) specification and extensions to VAST 4.1, called VAST Interactive Templates, are planned.

However, it’s a year later and the options widely available across the industry are still the same as they were in VAST 2. 0 and 3.0. The future where buyers get the benefits that VPAID provided without the issues VPAID creates for publishers still hasn’t materialized but I believe it eventually will. The growth of video ad dollars in mobile in-app and OTT TV, both channels where VPAID is unfeasible, means adoption of new technologies is needed, such as VAST 4.1 and Open Measurement. It is an exciting and complicated next few months ahead of us.

Want to Learn More?

To learn more about how PubMatic supports video advertising, visit our solutions page or contact us.