The Video Ad Serving Template (VAST) standard allows publishers to serve video ads from multiple ad sources. VAST tags improve ad delivery efficiency and provide greater control over the video ad experience for both publishers and advertisers.

Learn everything you need to know about the VAST standard, how to create a VAST tag, how it works, what versions exist, and how to troubleshoot potential errors.

What is a VAST Tag?

A VAST tag is a script to facilitate communication between an ad server and a video player. VAST tags are defined and standardized by the Interactive Advertising Bureau (IAB), allowing relevant ads to play on any combination of websites, user platforms, and video players.

VAST tags are separated into two categories: client-side and server-side.

  • Client-side VAST tags are a category of scripts where the user’s media player requests advertisements from the ad server, which are then injected and displayed to the user’s video or media player at the right time.
  • Server-side VAST tags are scripts where the ad server generates the advertisements, then inserts them into the content to be viewed by the user’s media player directly.

How Does VAST Work in Video Players and Ad Servers

Ads served using VAST tags function according to a simple 3-step process: sending a VAST request, receiving a VAST inline response, and pinging the tracking URLs.

1. VAST Request

The user’s video or media player sends a request to the ad server to retrieve a video ad of the correct type and format.

2. VAST Inline Response

When the ad server receives the request for an ad, it returns an inline response. This response contains all appropriate media files and tracking URLs.

3. Pinged Tracking URLs

After receiving and playing the media files to display the ad, the media player activates the tracking URLs to record impressions, allowing the ad server to collect impression data on the ad and help publishers evaluate its performance.

Key Elements of VAST Tags

VAST tags comprise three essential elements: the media file, the video format, and the tracking URL.

  • Media File

    The media file contains an advertiser’s ad creative; in other words, the video or interactive element the user will see. A VAST tag typically includes a link to the corresponding media file, allowing the media player to pull it up and play it.

  • Video Format

    The diversity of user devices, browsers, and media players means that ad servers looking to play their ads to as many users as possible must maintain multiple versions of the same ad creative, often in different file formats.

    Consequently, the VAST tag must also define the creative’s file format. Common examples include MP4 and MOV. Non-video file formats such as GIFs are also commonly employed for simpler ads due to their high level of compatibility and low footprint.

  • Tracking

    Tracking URLs are also sometimes known as “tracking pixels,” as they often take the form of a 1 x 1 transparent pixel. Its primary purpose is to collect specific data and track the performance of an ad. Some types of information tracked include:

    • Viewability (number of times the ad media file has been played and therefore viewed)
    • Number of users that clicked on the ad to access the corresponding content
    • Number of users that interacted with the ad (if the ad has interactivity features, e.g., a demo of a game)
  •  

  • Additional Attributes

    Besides these three essential elements, a VAST tag can also include extra components and attributes defining its type and appearance. For example, advanced tag options let a publisher define the type of ad (e.g., pre-roll, mid-roll, etc.), the video file’s length, or the ad’s resolution (height and length in pixels).

How to Create a VAST Tag?

Creating your own VAST tag is a relatively straightforward process accessible to any developer or publisher. Three recommended methods are available: manual set-up and coding, Google Manager or a similar ad server, or third-party tools.

  • Manual Set Up with VAST XML Schema (Extensible Markup Language)

    Publishers and developers with experience using the XML (eXtensible Markup Language) format can build their own VAST tags with the <VAST> XML tag.

    Remember that all VAST tags open with <VAST version=”x”> and close with </VAST>. Without removing the quotes, replace “x” with the VAST version you wish to use (e.g., 4.1).

  • Through Google Ad Server

    Publishers looking for a more accessible solution can use the predefined parameters in Google Ad Manager.

    Follow these steps to create VAST tags in Google Ad Manager:

    1. Sign in to your Google Ad Manager account.
    2. Find the Inventory menu on the left-hand panel, click on it, then click on Ad Units.
    3. Select the ad unit corresponding to the creative you want to build a VAST tag for, then click on Tags.
    4. Fill out the four options: Tag Type, Tag Options, Additional Tag Parameters, and Tag Results.
    5. Review your options, ensure they meet your specifications, then click Copy Tag.
  • Using Third Party Tools

    If you need an alternative to the Google Ad Manager tag builder, third-party tools such as VAST tag generators can help you create VAST tags for your ad creatives. However, each such tool is different and comes with its own instructions. Familiarize yourself with your preferred tag generator before proceeding.

Examples of VAST Tags

Here are a few samples of inline linear VAST tags for VAST versions 3.0 and 4.2.

  • VAST 3.0

<VAST version=”3.0″ xmlns:xs=”http://www.w3.org/2001/XMLSchema”>

<Ad id=”20001″>

<InLine>

<AdSystem version=”4.0″>iabtechlab</AdSystem>

<AdTitle>iabtechlab video ad</AdTitle>

 

<Pricing model=”cpm” currency=”USD”>

<![CDATA[ 25.00 ]]>

</Pricing>

 

<Error>http://example.com/error</Error>

 

<Impression id=”Impression-ID”>http://example.com/track/impression</Impression>

 

<Creatives>

<Creative id=”5480″ sequence=”1″>

<Linear>

<Duration>00:00:16</Duration>

<TrackingEvents>

<Tracking event=”start”>http://example.com/tracking/start</Tracking>

<Tracking event=”firstQuartile”>http://example.com/tracking/firstQuartile</Tracking>

<Tracking event=”midpoint”>http://example.com/tracking/midpoint</Tracking>

<Tracking event=”thirdQuartile”>http://example.com/tracking/thirdQuartile</Tracking>

<Tracking event=”complete”>http://example.com/tracking/complete</Tracking>

<Tracking event=”progress” offset=”00:00:10″>http://example.com/tracking/progress-10</Tracking>

</TrackingEvents>

 

<VideoClicks>

<ClickTracking id=”blog”>

<![CDATA[https://iabtechlab.com]]>

</ClickTracking>

<CustomClick>http://iabtechlab.com</CustomClick>

</VideoClicks>

 

<MediaFiles>

<MediaFile id=”5241″ delivery=”progressive” type=”video/mp4″ bitrate=”500″ width=”400″ height=”300″ minBitrate=”360″ maxBitrate=”1080″ scalable=”1″ maintainAspectRatio=”1″ codec=”0″>

<![CDATA[https://iab-publicfiles.s3.amazonaws.com/vast/VAST-4.0-Short-Intro.mp4]]>

</MediaFile>

</MediaFiles>

 

</Linear>

</Creative>

</Creatives>

<Extensions>

<Extension type=”iab-Count”>

<total_available>

<![CDATA[ 2 ]]>

</total_available>

</Extension>

</Extensions>

</InLine>

</Ad>

</VAST>

  • VAST 4.2

<VAST version=”4.2″ xmlns:xs=”http://www.w3.org/2001/XMLSchema” xmlns=”http://www.iab.com/VAST”>

<Ad id=”20001″ sequence=”1″>

<InLine>

<AdSystem version=”1″>iabtechlab</AdSystem>

<Error><![CDATA[https://example.com/error]]></Error>

<Extensions>

<Extension type=”iab-Count”>

<total_available>

<![CDATA[ 2 ]]>

</total_available>

</Extension>

</Extensions>

<Impression id=”Impression-ID”><![CDATA[https://example.com/track/impression]]></Impression>

<Pricing model=”cpm” currency=”USD”>

<![CDATA[ 25.00 ]]>

</Pricing>

<AdServingId>a532d16d-4d7f-4440-bd29-2ec0e693fc80</AdServingId>

<AdTitle>iabtechlab video ad</AdTitle>

<Creatives>

<Creative id=”5480″ sequence=”1″ adId=”2447226″>

<Linear>

<TrackingEvents>

<Tracking event=”start” ><![CDATA[https://example.com/tracking/start]]></Tracking>

<Tracking event=”progress” offset=”00:00:10″><![CDATA[http://example.com/tracking/progress-10]]></Tracking>

<Tracking event=”firstQuartile”><![CDATA[https://example.com/tracking/firstQuartile]]></Tracking>

<Tracking event=”midpoint”><![CDATA[https://example.com/tracking/midpoint]]></Tracking>

<Tracking event=”thirdQuartile”><![CDATA[https://example.com/tracking/thirdQuartile]]></Tracking>

<Tracking event=”complete”><![CDATA[https://example.com/tracking/complete]]></Tracking>

</TrackingEvents>

<Duration>00:00:16</Duration>

<MediaFiles>

<MediaFile id=”5241″ delivery=”progressive” type=”video/mp4″ bitrate=”2000″ width=”1280″ height=”720″ minBitrate=”1500″ maxBitrate=”2500″ scalable=”1″ maintainAspectRatio=”1″ codec=”H.264″>

<![CDATA[https://iab-publicfiles.s3.amazonaws.com/vast/VAST-4.0-Short-Intro.mp4]]>

</MediaFile>

<MediaFile id=”5244″ delivery=”progressive” type=”video/mp4″ bitrate=”1000″ width=”854″ height=”480″ minBitrate=”700″ maxBitrate=”1500″ scalable=”1″ maintainAspectRatio=”1″ codec=”H.264″>

<![CDATA[https://iab-publicfiles.s3.amazonaws.com/vast/VAST-4.0-Short-Intro-mid-resolution.mp4]]>

</MediaFile>

<MediaFile id=”5246″ delivery=”progressive” type=”video/mp4″ bitrate=”600″ width=”640″ height=”360″ minBitrate=”500″ maxBitrate=”700″ scalable=”1″ maintainAspectRatio=”1″ codec=”H.264″>

<![CDATA[https://iab-publicfiles.s3.amazonaws.com/vast/VAST-4.0-Short-Intro-low-resolution.mp4]]>

</MediaFile>

</MediaFiles>

<VideoClicks>

<ClickThrough id=”blog”>

<![CDATA[https://iabtechlab.com]]>

</ClickThrough>

</VideoClicks>

</Linear>

<UniversalAdId idRegistry=”Ad-ID”>8465</UniversalAdId>

<UniversalAdId idRegistry=”Foo-ID”>4444323</UniversalAdId>

</Creative>

</Creatives>

</InLine>

</Ad>

</VAST>

History of VAST Tags

The Interactive Advertising Bureau (IAB) released the first version Video Ad Serving Template standard, VAST 1.0, in 2008. Since this initial release, the IAB has updated and improved VAST multiple times. 

The major milestones in VAST history are the primary version numbers: 1.0, 2.0, 3.0, and 4.0. Smaller and more incremental changes are represented with decimal numbers (e.g., the changes from 4.0 to 4.1).

  • VAST 1.0 was released on August 1, 2008, supporting basic functionality (play, pause, stop) and basic linear tracking capabilities. The only formats supported at the time were MP4, 3GP, and MOV.
  • VAST 2.0 increased the number of supported formats and added new functionality, such as player and quartile event tracking (e.g., linear, non-linear, companion, etc.). VAST 2.0 is the oldest version for which VAST 4 offers backward compatibility.
  • VAST 3.0 offered publishers more modern functionality, such as compliance with OBA standards, skippable ads, and better error reporting functions.
  • VAST 4.0 is the latest major version, offering additional improvements such as separated options for video and interactive ads, server-side stitching, support for mezzanine files, and closed captioning (CC).

Here is a complete list of VAST versions and release dates:

Version number Release date Status (as of August 2022)
VAST 1.0 August 2008 Deprecated
VAST 2.0 March 2012 Supported Backward compatible with 4.0+
VAST 3.0 July 2012 Supported Backward compatible with 4.0+
VAST 4.0 January 2016 Supported
VAST 4.1 November 2018 Supported
VAST 4.2 June 2019 Supported

Difference Between VAST XML and VAST URL

When using Google Ad Manager or a third-party generator, you may have noticed that VAST tags are available in two formats: XML and URL

Typically, you should always use the VAST XML format. However, specific Demand-Side Platforms (DSPs) can only support the VAST URL format. Check your DSP to determine the best format to use.

How to Validate a VAST Tag

Because most VAST tags employ XML, it is critical to test and validate them before deployment to ensure they contain no bugs and don’t generate any VAST errors. 

Multiple VAST tag validation tools are available: Google Video Suite Inspector, Springserve’s VAST Tag Tester, or the IAB’s VAST Tag Validator. To run a tag tester and validator, copy the full XML code of your VAST tag, paste it into the tag tester of your choice, then run it using the Submit button (or an equivalent).

How to Debug a VAST Tag

If your VAST tag returns an error during the validation process, you may need to perform debugging operations. The general principle of debugging is to investigate the error code, locate the source of the problem, and make the necessary corrections (e.g., editing the VAST tag’s XML code).

Examples of common VAST errors and recommended debugging processes:

  • VAST Error 100

    An Error 100 is an XML Parsing Error. It typically indicates an issue with the VAST tag’s XML document or VAST redirect URL. Re-read the VAST tag’s code and ensure it is correctly formatted with no missing or out-of-order symbols.

  • VAST Error 101

    Error code 101 indicates a VAST Schema Validation Error, typically caused by missing or unrecognized XML elements in the VAST tag’s code. The debugging process is similar to debugging an Error 100; investigate the VAST XML and ensure all required elements are present and correctly formatted.

  • VAST Error 102

    A VAST Error 102 means Response Version Not Supported. If you see this error code, the target video player does not support the VAST version specified in the VAST tag. Alternatively, it can indicate a lack of a specified version. Publishers can debug this error by verifying the opening <VAST> tag specifies the correct version.

  • VAST Error 301

    VAST Error code 301 means Redirect Timeout Reached. Although high latency (slow or unstable Internet connections) or poorly optimized web pages are sometimes responsible for this error code, other potential culprits include invalid URIs or incorrect creative dimensions.

    Potential debugging methods include verifying the VAST tag features the correct URI and the correct height and length if an ad size is specified.

Benefits of VAST Tags

VAST tags and tools to create and edit them easily have helped ad publishers drastically improve their ability to monetize websites and capitalize on their online ad campaigns. 

Here are some of the primary benefits offered by using the VAST standard:

  • Creating and editing VAST ad tags is relatively easy and does not require an extensive programming background.
  • VAST tags have simplified communication between an ad network’s servers and media players.
  • The VAST tag error processing and debugging processes are standardized, reducing playback errors.
  • Adhering to the VAST standards saves publishers significant time and money.

Need Help Getting Started With VAST Tags? Get Expert Help From CodeFuel

VAST tags are an essential aspect of modern ad tech. Taking advantage of VAST and the functionality offered by the latest versions (4.0 and beyond) is necessary to maximize the effectiveness of your video ad campaigns.

Whether you need help ensuring your VAST tags are properly formatted or optimizing your ads’ viewability and performance, CodeFuel’s experts can help. Contact us today for more information.