For some reason I need to know difference between VAST,VPAID and VMAP. I know both are video ad deliver tags, these are following IAB standard, but I need to know clear difference between these three. Any help is appreciated.
-
Questions asking us to recommend or find a book, tool, software library, tutorial or other off-site resource are off-topic for Stack Overflow. But nvm, you might want to read: [IAB Video Suite Executive Summary](http://www.iab.com/wp-content/uploads/2015/08/IAB_Video_Suite_Executive_Summary_04-10-2012.pdf) – zyexal Apr 11 '17 at 10:27
-
@zyexal - Thanks for your suggestio – Thiyagu Apr 11 '17 at 12:03
-
2It seems Thiagu is not asking for "book, tool, software library, tutorial or other off-site resource" but rather for a short answer that can give some pointers for where to continue searching. – Erik I Jul 09 '17 at 17:05
2 Answers
VAST, VMAP and VPAID solve different challenges when it comes to showing advertisements in a video player.
Short answer
VAST describes ads and how a video player should handle them. (more or less)
VPAID (deprecated, see update below) describes what "public" communication (methods, properties and events) an executable ad unit should at least implement/expose, so the video player can communicate with the ad unit in an uniform way and control it.
VMAP describes when an ad should be played.
In more detail
VAST (Video Ad Serving Template) is used to describe ads and how a video player should handle these. Note that the concrete implementation is up to the video player itself. There are three types of ads:
- A linear ad is an advertisement video rendered inside the video player.
- A non-linear ad is an advertisement overlaying the video player. It is mostly a banner image, but it could also be HTML or an iFrame.
- A companion ad is an advertisement rendered outside the video player. It is mostly rendered alongside a linear or a non-linear ad, as they can complement each other (hence the name).
More examples of cool stuff VAST describes:
- When an ad is allowed to be skipped (for linear ads)
- What URIs should be pinged for tracking
- Sequence of ads (ad pods) that should be played together
- Different resolutions / codecs for same advertisement
VMAP (Video Multiple Ad Playlist) is an optional addition allowing you to specify when an ad must be played. Via VMAP you can indicate whether an ad is a pre-roll (ad before the content), a mid=roll (ad somewhere in the content) or a post-roll (ad after the content). VMAP can also refer to multiple VAST files to be played at different times.
VPAID (Video Player Ad Interface Definition) is a specification describing what an executable ad unit (= interactive ad) should at least implement and expose for public communication/control. This allows the player to delegate instructions to the ad and yet keep control over it (e.g. starting, pausing, finishing it...). That way, a player can give instructions (methods) and request information (properties). The ad itself can also dispatch events indicating that a certain action has happened (e.g. volume has changed, ad has been skipped, ad has been clicked...).
It is interesting to note that VPAID has two versions: version 1 is only Flash, while version 2 is only JavaScript.
How these three connect with each other
VMAP refers to a VAST, but never to another VMAP.
VAST can contain its ad data internally (Inline) or refer to another VAST (Wrapper), but never to a VMAP. VAST describes ads. Some ads can be executable (interactive).
If an ad is executable then it must implement VPAID so the player can cooperate with it.
Update June 2019
Quite a few things have changed since this answered was submitted. In VAST 4.1, the IAB deprecated the VPAID specification in favor of an upcoming specification. VAST 4.2 (currently in public comment phase) formalized the successor of VPAID:
- for ad verification, the Open Measurement SDK should be used
- for interactivity, the SIMID (Secure Interactive Media Interface) specification should be implemented.

- 1,141
- 12
- 14
IAB Digital Video Suite
VAST
(Digital Video Ad Serving Template) is anXML
with<VAST>
root where the main part isMediaFile
tag with a url to video file. IABVPAID
(Digital Video Player-Ad Interface Definition) is extension ofVAST
whereMediaFile
tag containstype="application/javascript" apiFramework="VPAID"
attributes which allows to define aJS
source to be handled. SpotXChange, InnovidVMAP
(Digital Video Multiple Ad Playlist) - is anXML
with<vmap:VMAP>
root and is used to describe a schedule forVAST
files( pre/mid/post roll)

- 29,217
- 8
- 193
- 205