VMAP describes the ad inventory structure inside a video programme as a set of timed, typed ad breaks; the ads inside each break must be served with VAST or another ad serving template.
Volume navigation
Specification overview
The entry point of this volume's specification body: three groups — document structure, playback and errors, compliance and examples — covering every machine-readable construct from the root element to the error codes.
12 chapters · live 12 · draft 0 · planned 0
Document structure
5 chaptersA single ad break: timeOffset decides when it fires, breakType decides which ad types it accepts; breakId and repeatAfter are optional.
Where a break's ads come from: inline VASTAdData, a referenced AdTagURI, or non-VAST CustomAdData — exactly one of the three.
Break-level tracking: the breakStart / breakEnd / error events; same names as VAST tracking but a different specification, so a namespace must distinguish them.
Extension points: break-level and top-level Extensions carry information VMAP does not define; XML comments may appear anywhere in the document.
Playback & errors
3 chaptersHow players execute breaks: expecting the ad types named by breakType, preference order for multi-valued breaks, nonlinear overlap and display visibility constraints.
Both error classes (VMAP execution / ad response execution) fire error tracking; the [ERROR_CODE] and [ERROR_MESSAGE] macros must be replaced, codes taken from 900 and 1000–1008.
With no breaks at all, the response keeps only the root VMAP element — a legal “no ads this time” statement, not an error.
Compliance & examples
3 chaptersCompliance has two sides: ad servers keep to the schema and cross-origin retrieval; players presuppose VAST 3.0 and the Ad Pod format, supporting the three break types to the limit of their capabilities.
A checkable compliance list: two items for ad servers, three for players (including the capability-limit exception).
The official §5 example: pre-roll / mid-roll / post-roll linear breaks, each inlining VAST 3.0 with breakStart tracking.