About VAST
Created by the Interactive Advertising Bureau (IAB), VAST is a Video Ad Serving Template for structuring ad tags that serve ads to video players on the Internet. Using an XML schema, VAST transfers important metadata about an ad from the ad server to a video player.The VAST framework has been chosen by Criteo to render Commerce Video ads because VAST is a market standard. It allows interoperability with third-party measurement partners, and covers all tracking requirements.
Video Player Requirements
The iOS & Android video player specification remains consistent across both Web & App environments
Main Requirements
The VAST video player must support the following requirements:- Video should load at the load of the page, even if not in the viewport.
- Video must only start playing automatically when the player has 50% of pixels in the viewport.
-
Video should pause automatically when the player is in less than 50% of the viewport.
- the “pause” beacon should not be fired in this case scenario.
-
Video should resume automatically when the player is back in more than 50% of the viewport
- the “resume” beacon should not be fired in this case scenario.
- Video should repeat indefinitely.
-
Video should be muted automatically at launch:
- The
mutebeacon must not be fired because this mute action does not represent an interaction from the user. - A control button must be available to unmute it.
- The
-
Another control button should be available to
pause/resumethe video.- The
pause/resumebutton is optional, no matter if there is a redirection link available in the VAST XML. This is due to the fact that the video should play automatically when in the viewport and pause when not - and simply takes additional space on the video. - Other controls should be hidden.
- The
- Video cannot be viewed in full screen.
-
Video can be clickable and redirect to a page only if a redirection link is present (
<VideoClicks>present in VAST XML). - The video player used by the client must be able to read VAST XML files (e.g., Google Interactive Media Ads player or a native HTML player with an additional JavaScript layer that can handle VAST XML files). Please visit the Video Player Implementation page for more details.
- Pause playback when the user navigates away from the browser tab or window where the video ad is playing,
- Resume playback automatically when the user returns to the tab/window, preserving the previous playback state (e.g., mute status, timestamp),
- Do not count video impressions, play-through events, or viewability metrics while the tab is inactive, in accordance with MRC viewability guidelines.
With / without Redirection Links
With no redirection links
If there is no redirection link provided, the
<VideoClicks> section will not be present. The ClickThroughURL and the associated ClickTracking beacon won’t appear.- a click on the video should pause the video, and:
- the
Pausebeacon should be fired
- the
- a new click on the video should resume the video:
- the
Resumebeacon should be fired
- the
With a redirection link
If there is a redirection link provided in the VAST XML:- a click on the video should redirect the user to the
ClickthroughURL, and:- the
Clicktrackingbeacon must be fired, - the
Pausebeacon must NOT be fired.
- the
- If a video is paused manually (after a click on the
Pausebutton or by clicking on the video if there isn’t a redirection URL), goes in less than 50% of the viewport and comes back in more than 50% of the viewport, the video should resume.- However, the
Resumebeacon should not be fired because this is not a manual action from the user.
- However, the
If the User Clicks on Pause/Resume
If the user clicks on pause, thePause beacon should be fired.
- The
Clicktrackingbeacon must not be fired because this is a click on the pause button, not on the video itself. - The button should change from ⏸️ to ▶️.
- The
pausebeacon should only be fired when the user clicks on thePausebutton or clicks on the video if there is no redirection link provided when playing. - If the user clicks on
Play/Resumeafter having paused the video, theResumebeacon should be fired.- The
Clicktrackingbeacon must not be fired because this is a click on thepausebutton, not on the video itself. - The button should change from ▶️ to ⏸️.
- The
Resumebeacon should only be fired when the user clicks on theResumebutton or clicks on the video if there is no redirection link provided and video is paused.
- The
Multiple Video Files
- Multiple video files (
MediaFiles) can be returned in the same VAST XML by Criteo, but only one of them must be rendered per VAST XML. Video files may differ in ratios. Supported video ratios are 16:9, 9:16 and 1:1.- If a single video is returned in the VAST XML, it must be selected by default.
- If multiple videos are provided, the closest video ratio (compared to the ad placement’s video ratio) must be selected.
Closed Caption (CC)
For accessibility requirements, aClosed Caption (CC) file can be provided in the VAST XML by Criteo.
- If the CC file is present:
- it must be rendered by the video player.
- a
CCcontrol button must be available, next to other control buttons (mute/pause).
- If there is no CC file provided in the VAST XML, the
CCcontrol button should be hidden. - At video launch,
Closed Captioningmust be enabled automatically. - Maximum one CC file can be provided in the VAST XML, ensuring a single language support.
The only file format supported for CC is
CC files will be automatically generated and provided in the VAST XML.
.vtt.CC files will be automatically generated and provided in the VAST XML.
VAST XML Example
When Closed Captioning is enabled, the VAST XML response will include aClosedCaptionFiles element nested inside each MediaFile element within the MediaFiles section.
Each ClosedCaptionFiles container holds one or more ClosedCaptionFile entries, representing closed captions in different languages and formats (currently, text/vtt is supported). These are not video assets themselves and must not be interpreted as part of the video src.