IAB VAST (Video Ad Serving Template), Version 4.1
Top-level element, wraps each ad in the response or ad unit in an ad pod. This MUST be present unless an Error element is present.
Second-level element surrounding complete ad data for a single ad
Second-level element surrounding wrapper ad pointing to Secondary ad server.
Identifies the sequence of multiple Ads that are part of an Ad Pod.
[@Deprecated in VAST 4.1 with apiFramework] A Boolean value that identifies a conditional ad.
An optional string that identifies the type of ad. This allows VAST to support audio ad scenarios. The default value is video.
Used when there is no ad response. When the ad server does not or cannot return an Ad. If included the video player must send a request to the URI provided (Sec 3.2.1).
Current version is 4.1
URLs to ping when icon action occurs.
Each <Tracking> element is used to define a single event to be tracked by the verification vendor. Multiple tracking elements may be used to define multiple events to be tracked, but may also be used to track events of the same type for multiple parties.
A string that defines the event being tracked. One event type is currently supported: verificationNotExecuted: the player did not or was not able to execute the provided verification code
The name of the event to track for the element. The creativeView should always be requested when present.
The name of the event to track. For nonlinear ads these events should be recorded on the video within the ad.
The time during the video at which this url should be pinged. Must be present for progress event.
URL to request for tracking purposes when user clicks on the video.
URLs to request on custom events such as hotspotted video.
URL to open as destination page when user clicks on the video. This can occur zero to many times. The XSD syntax can't represent that.
Ad server ID for the impression
A base creative resource type (sec 3.13) for non-video creative content. This specifies static, IFrame, or HTML content, or a combination thereof
HTML to display the companion element. This can occur zero to many times, but order should not be important.
URI source for an IFrame to display the companion element. This can occur zero to many times, but order should not be important.
URI to a static file, such as an image or SWF file. This can occur zero to many times, but order should not be important.
MIME type of static resource
URL to open as destination page when user clicks on the icon.
URLs to ping when user clicks on the the icon.
A URI for the tracking resource file to be called when the icon creative is displayed.
Program represented in the Icon.
Pixel dimensions of icon.
Pixel dimensions of icon.
The x-cooridinate of the top, left corner of the icon asset relative to the ad display area
The y-cooridinate of the top left corner of the icon asset relative to the ad display area.
The duration for which the player must display the icon. Expressed in standard time format hh:mm:ss.
Start time at which the player should display the icon. Expressed in standard time format hh:mm:ss.
The apiFramework defines the method to use for communication with the icon element
The pixel ratio for which the icon creative is intended. The pixel ratio is the ratio of physical pixels on the device to the device-independent pixels. An ad intended for display on a device with a pixel ratio that is twice that of a standard 1:1 pixel ratio would use the value "2" Default value is "1"
Any valid XML may be included in the Extensions node. This can occur zero to many times.
The MIME type of any code that might be included in the extension.
Specifies whether the parameters are XML-encoded
The URI to a static creative file to be used for the ad component identified in the parent element, which is either: <NonLinear>, <Companion>, or <Icon>.
Video formatted ad that plays linearly
Any number of icons representing advertising industry initiatives. This can occur zero to many times. The XSD syntax can't represent that.
The time at which the ad becomes skippable, if absent, the ad is not skippable.
Video formatted ad that plays linearly
Video formatted ad that plays linearly
[Note: VPAID has been deprecated in VAST 4.1 ] Data to be passed into the video ad. Used to pass VAST info to VPAID object. When a VAST response is used to serve a VPAID ad unit, the <AdParameters> element is currently the only way to pass information from the VAST response into the VPAID object; no other mechanism is provided.
Duration in standard time format, hh:mm:ss
A CDATA-wrapped URI to a file providing Closed Caption info for the media file.
Identifies the MIME type of the file provided.
Language of the Closed Caption File using ISO 631-1 codes. An optional locale suffix can also be provided.
URI location of linear file. Content must be wrapped in CDATA tag.
Optional identifier
Either "progressive" for progressive download protocols (such as HTTP) or "streaming" for streaming protocols.
MIME type. Popular MIME types include, but are not limited to "video/x-ms-wmv" for Windows Media, and "video/x-flv" for Flash Video. Image ads or interactive ads can be included in the MediaFiles section with appropriate Mime types. Flash support was deprecated in January 2017 and is now being removed.
Pixel dimensions of video, or 0 for audio ads
Pixel dimensions of video, or 0 for audio ads
The codec used to produce the media file as specified in RFC 4281.
Bitrate of encoded video in Kbps. If bitrate is supplied, minBitrate and maxBitrate should not be supplied.
Minimum bitrate of an adaptive stream in Kbps. If minBitrate is supplied, maxBitrate must be supplied and bitrate should not be supplied.
Maximum bitrate of an adaptive stream in Kbps. If maxBitrate is supplied, minBitrate must be supplied and bitrate should not be supplied.
Whether it is acceptable to scale the image.
Whether the ad must have its aspect ratio maintained when scales
Optional field that helps eliminate the need to calculate the size based on bitrate and duration. Units - Bytes
Type of media file (2D / 3D / 360 / etc). Default value = 2D
[@Deprecated in 4.1 in preparation for VPAID being phased out]. identifies the API needed to execute an interactive media file, but current support is for backward compatibility. Please use the <InteractiveCreativeFile> element to include files that require an API for execution.
URI location to raw, high-quality media file for high-resolution environments or to transcode video or audio files at quality levels specific to the needs of certain environments. Content must be wrapped in CDATA tag.
Optional identifier
Either "progressive" for progressive download protocols (such as HTTP) or "streaming" for streaming protocols.
MIME type. Popular MIME types include, but are not limited to "video/x-ms-wmv" for Windows Media, and "video/x-flv" for Flash Video. Image ads or interactive ads can be included in the MediaFiles section with appropriate Mime types. Flash support was deprecated in January 2017 and is now being removed.
Pixel dimensions of video, or 0 for audio ads
Pixel dimensions of video, or 0 for audio ads
The codec used to produce the media file as specified in RFC 4281.
Optional field that helps eliminate the need to calculate the size based on bitrate and duration. Units - Bytes
Type of media file (2D / 3D / 360 / etc). Default value = 2D
For any media file that uses APIs for advanced creative functionality, the InteractivityCreativeFile element is used to identify the file and framework needed to execute advanced functions for the ad.
Identifies the MIME type of the file provided.
identifies the API needed to execute the Creative file if applicable
Useful for interactive use cases. Identifies whether the ad always drops when the duration is reached, or if it can potentially extend the duration by pausing the underlying video or delaying the adStopped call after adVideoComplete. If it set to true the extension of the duration should be user-initiated (typically by engaging with an interactive element to view additional content).
An ad that is overlain on top of video content during playback
URLs to ping when user clicks on the the non-linear ad unit. This can occur zero to many times (unbounded). The XSD syntax can't represent that.
Identifier provided to ad server for click reports
An ad that is overlain on top of video content during playback
Custom content used to pass information to ad unit
URI to advertiser page opened on viewer clicks through.
URLs to ping when user clicks on the the non-linear ad unit.
Identifier provided to ad server for click reports
Optional identifier
Pixel dimensions of companion
Pixel dimensions of companion
Pixel dimensions of expanding nonlinear ad when in expanded state
Pixel dimensions of expanding nonlinear ad when in expanded state
Whether it is acceptable to scale the image.
Whether the ad must have its aspect ratio maintained when scales
Suggested duration to display non-linear ad, typically for animation to complete. Expressed in standard time format hh:mm:ss
The apiFramework defines the method to use for communication with the nonlinear element
Data to be passed into the companion ads. The apiFramework defines the method to use for communication.
Alt text to be displayed when companion is rendered in HTML environment.
URL to open as destination page when user clicks on the the companion banner ad.
A URI to a tracking resource file used to track a companion clickthrough.
An id provided by the ad server to track the click in reports.
The creativeView should always be requested when present. For Companions creativeView is the only supported event.
Optional identifier
Pixel dimensions of companion slot
Pixel dimensions of companion slot
Pixel dimensions of the companion asset
Pixel dimensions of the companion asset
Pixel dimensions of expanding companion ad when in expanded state
Pixel dimensions of expanding companion ad when in expanded state
The apiFramework defines the method to use for communication with the companion
Used to match companion creative to publisher placement areas on the page.
The pixel ratio for which the icon creative is intended. The pixel ratio is the ratio of physical pixels on the device to the device-independent pixels. An ad intended for display on a device with a pixel ratio that is twice that of a standard 1:1 pixel ratio would use the value "2" Default value is "1"
Used to indicate when and where to use this companion ad. If this field is empty or not given, default will be used.
General subclass type for Companion Ad elements. This can occur zero to many times.
How the player should treat a companion ad when multiple are supplied
The preferred order in which multiple Creatives should be displayed
Identifies an API needed to execute the creative
A string used to identify the ad server that provides the creative.
To be deprecated in future version of VAST. Ad-ID for the creative (formerly ISCI)
Any number of companions in any desired pixel dimensions.
Any number of companions in any desired pixel dimensions.
The UniversalAdId is used to provide a unique creative identifier for the purposes of tracking ad creative. This is used for Ad-ID(r) for ads served in the United States.
Base type structure used by Inline or Wrapper ad content element types
Indicates source ad server
Internal version used by ad system
URL to request if ad does not play due to error
XML node for custom extensions, as defined by the ad server. When used, a custom element should be nested under <Extensions> to help separa
te custom XML elements from VAST elements.
One instance of <Extension> should be used for each custom extension. The type attribute identifies the MIME type of any code provided in the extension.
The MIME type of any code that might be included in the extension.
A URI that directs the media player to a tracking resource file that the media player must
use to notify the ad server when the impression occurs. If there is no reason to include
an Impression element, the placeholder "about:blank" should be used instead of a
tracking URL
The price of the ad that can be used in real time bidding systems.
The pricing model used.
Three letter ISO-4217 currency symbol that identifies the currency of the value provied. Ex: USD, GBP, etc.
The ViewableImpression element allows for tracking URIs to report viewability
A URI that directs the video player to a tracking resource file that the video player should request at the time that criteria is met for a viewable impression. This can occur zero to many times.
A URI that directs the video player to a tracking resource file that the video player should request if the ad is executed but never meets criteria for a viewable impression.
A URI that directs the video player to a tracking resource file that the video player should request if the player cannot determine whether criteria is met for a viewable impression. This can occur zero to many times.
An ad server id for the impression. Impression resources of the same id should be requested at the same time or as close in time as possible to help prevent discrepancies.
Verification elements are nested under AdVerifications. The Verification element is used to contain the executable and bootstrapping required to run the measurement code for a single verification vendor. Multiple Verification elements may be used in cases where more than one verification vendor needs to collect data or when different API frameworks are used. At lease one JavaScriptResource or ExecutableResource should be provided. At most one of these resources should selected for execution, as best matches the technology available in the current environment. If the player is willing and able to run one of these resources, it should execute them BEFORE creative playback begins. Otherwise, if no resource can be executed, any appropriate tracking events listed under the <Verification> element must be fired.
CDATA-wrapped metadata string for the verification executable.
An identifier for the verification vendor. The recommended format is [domain]-[useCase], to avoid name collisions. For example, "company.com-omid".
The AdVerification element is used to initiate a controlled container where code can be executed for collecting data to verify ad playback details.
A string that provides a category code or label that identifies the ad content.
A URL for the organizational authority that produced the list being used to identify ad content. Optional unless the publisher requires ad categories. The authority attribute is required if categories are provided.
A container for one or more Creative elements used to provide creative files for ad.
A URI to another VAST response that may be another VAST Wrapper or a VAST InLine ad.
a Boolean value that identifies whether subsequent wrappers after a requested VAST response is allowed.
a Boolean value that identifies whether multiple ads are allowed in the requested VAST response.
a Boolean value that provides instruction for using an available Ad when the requested VAST response returns no ads.
Any ad server that returns a VAST containing an <InLine> ad must generate a pseudo-unique identifier that is appropriate for all involved parties to track the lifecycle of that ad. This should be inserted into the <AdServingId> element, and also be included on all outgoing tracking pixels. The value should be different for each Inline in a VAST. Usage of a GUID is recommended.
Common name of ad
Name of advertiser as defined by the ad serving party
A string that provides a category code or label that identifies the ad content.
A URI for the organizational authority that produced the list being used to identify ad content.
A container for one or more Creative elements used to provide creative files for ad.
Longer description of ad
An integer value that defines the expiry period (in seconds).
URL of request to survey vendor
MIME type of the resource being served