vastlint

VAST XML guides

Two types of guides: platform guides cover what each player or ad server requires, blocks, and how to validate before delivery; creative type guides cover how to build each ad format correctly in VAST XML. After reading, paste your tag into the VAST validator to check it against all 118 IAB rules.

Web players

CTV platforms

Ad servers & DSPs

Creative types

Non-skippable linear
Linear

The standard 15s/30s in-stream format with no skip button. Required elements, duration constraints, and MediaFile requirements for every platform.

Skippable linear
Linear

Linear ad with a skipoffset attribute. Skip button shown after N seconds. Requires SkippedTracking event. Supported on all web and CTV platforms.

Bumper ads
Linear

Non-skippable linear ≤6 seconds. No skip or close button. High completion rates. Sequence attribute used in ad pods.

Rewarded video
Linear

User-initiated linear ad played to completion for a reward. No skip. Complete tracking event required. Common in mobile and gaming.

Outstream
Linear

Linear ad that plays outside a video stream, typically in-article. Muted autoplay, viewability-gated impression firing, no companion ads.

Nonlinear overlay
Overlay

Overlay displayed over video during playback. NonLinear element with minSuggestedDuration. Image or HTML resource. Often misunderstood.

Companion ads
Companion

Display ads served alongside a video ad. CompanionAds element. Three resource types: StaticResource, IFrameResource, HTMLResource.

Ad pods & sequencing
Structural

Sequence of linear ads in a single break. Multiple Ad elements with sequence attribute. AdPod type in VAST 4.x with maxAds and maxDuration.

Wrapper chains
Structural

Redirecting VAST tags for third-party ad serving and measurement. Chain depth limits, latency impact, and follow* attribute behaviour.

SIMID interactive
Interactive

Interactive creative replacing VPAID. InteractiveCreativeFile with apiFramework="SIMID". Sandboxed iframe communication via postMessage.

VPAID → SIMID migration
Interactive

Migrating from deprecated VPAID to SIMID or native VAST. VPAID is blocked on all CTV environments. Step-by-step migration checklist.


After reading a guide

Every guide ends with a checklist of the most common mistakes for that platform or creative type. Once you've made your fixes, validate your tag to confirm: