ORTB
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

On this page

Document structure

5 chapters

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.

  • A 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 chapters

How 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 chapters

Compliance 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.