VAST (Video Ad Serving Template)

VAST Tag Requirements

  • In-Stream video must be served using a linear VAST tag (pre-fetch tag). Companion ads are ignored. Non-Linear Video not supported.
  • Only VAST 2.0 supported.
  • Must not have geo, device, browser, or any other targeting on the third-party ad server.
  • Maximum of two VAST wrappers allowed.


Video Format: mp4 
Video Duration: 20~30s
Video File Size: Max 5MB
Delivery: progressive
Bitrate: 300~500Kbps

If your VAST tag is a VPAID Tag, you need to choose VPAID when creating your creative.

VAST XML summary for third-party ad server response

VAST Root nodeYes 
 versionString (2.0)YesMust support 2.0
- Adid - unique identifierStringYesTop-level element wraps each ad in the response
-- InLineNoneNoneYesSecond-level element surrounding complete ad data for a single ad
--- AdSystemCompany Node NameStringNoIndicates source ad server
Internal version used by ad system
--- AdTitleNoneStringNoCommon name of ad
--- DescriptionNoneStringNoLonger description of ad
--- ErrorNoneURINoURI to request if ad does not play due to error (Google will only execute a request to the URI upon error but does not have the ability to pass additional error information.)
--- ImpressionNoneURINoURI to track impression
--- CreativesNoneNoneYesContainer for one or more Creative elements
---- Creative  YesWraps each creative element
 idStringNoOptional identifier
 sequenceIntegerNoThe preferred order in which multiple Creatives should be displayed
 AdIDStringNoAd-ID for the creative (formerly ISCI)
----- Linear  Yes 
------ DurationNoneTimeYes 
------ TrackingEvents  No 
------- Tracking URINoURI to track various events during playback
Yes (only for start, firstQuartile, midpoint, thirdQuartile, complete, mute, unmute, pause, resume, skip [if skippable in-stream])The name of the event to track for the Linear element. The creativeView should always be requested when present.
------ AdParameters StringNoData to be passed into the video ad.
------ VideoClicks  Preferred
------- ClickThroughNoneURIPreferred
URI to open as destination page when user clicks on the video
------- ClickTracking URINoURI to request for tracking purposes when user clicks on the video
------ MediaFiles  Yes 
------- MediaFile URIYesLocation of linear file
 deliveryprogressiveYesMethod of delivery of ad
 typeStringYesMIME type
Bitrate of encoded video in Kbps
 widthInteger (480)YesPixel dimensions of video
 heightInteger (360)YesPixel dimensions of video
 apiFrameworkStringNoThe apiFramework defines the method to use for communication if the MediaFile is interactive.

Third-party ad server VAST tag response sample

<?xml version="1.0" encoding="UTF-8"?>
<VAST version="2.0">
  <Ad id="23523462">
        <AdSystem version="1.1">mDSP</AdSystem>
        <AdTitle>mdsp VPAID</AdTitle>
        <Impression />
            <Creative sequence="1">
                    <MediaFile width="300" height="250" scalable="1" type="application/javascript" apiFramework="VPAID"><![CDATA[]]></MediaFile>
                    <MediaFile delivery="progressive" width="300" height="250" scalable="1" type="application/x-shockwave-flash" apiFramework="VPAID"><![CDATA[]]></MediaFile>

<?xml version="1.0" encoding="UTF-8"?>
<VAST version="2.0">
  <Ad id="3456763">
        <AdTitle>VAST Tag</AdTitle>
        <Impression id="mdsp"><![CDATA[]]></Impression>
                    <MediaFile delivery="progressive" type="video/mp4" bitrate="300" width="300" height="250">http://adserver.mp4</MediaFile>
                    <Tracking event="firstQuartile"><![CDATA[]]</Tracking>
                    <Tracking event="midpoint"><![CDATA[]]></Tracking>
                    <Tracking event="thirdQuartile"><![CDATA[]]</Tracking>
                    <Tracking event="complete"><![CDATA[]]></Tracking>

Feedback and Knowledge Base