VAST examples library
Each page below is a single real VAST failure mode, taken from VASTlint's own test corpus. Unlike the common VAST errors overview, these are worked examples: a realistic campaign scenario and creative brief, the broken XML, the exact rule it trips (with the IAB spec reference), what it costs in delivery or measurement, and how to fix it. The validator output on every page is captured from the real vastlint binary.
38 examples across 14 categories. Paste your own tag into the validator to see the same kind of output for your creative.
Required fields
- An InLine ad with no <Impression> element — VAST-2.0-inline-impression
- An InLine ad missing the <AdSystem> element — VAST-2.0-inline-adsystem
- An InLine ad missing the <AdTitle> element — VAST-2.0-inline-adtitle
- A Linear creative with no <Duration> — VAST-2.0-linear-duration
- A Linear creative with no <MediaFiles> — VAST-2.0-linear-mediafiles
- A <VAST> root element with no version attribute — VAST-2.0-root-version
- A VAST 4.x InLine with no <AdServingId> — VAST-4.1-adservingid-present
Document structure
- An <Ad> containing both <InLine> and <Wrapper> — VAST-2.0-ad-has-inline-or-wrapper
- An <Ad> with an invalid adType value — VAST-4.1-adtype-value
Value formats
- A <Duration> value in the wrong format — VAST-2.0-duration-format
Media files
- A <MediaFile> with no type attribute — VAST-2.0-mediafile-type
- A <MediaFile> missing width and height — VAST-2.0-mediafile-dimensions
- A VAST 4.1 <Mezzanine> missing its required attributes — VAST-4.1-mezzanine-delivery
Universal Ad-ID
- A <UniversalAdId> with no idRegistry attribute — VAST-4.0-universaladid-idregistry
- A VAST 4.x creative with no <UniversalAdId> — VAST-4.0-universaladid-present
SIMID
- A SIMID interactive resource served over HTTP — SIMID-1.0-simid-url-https
- A SIMID creative with no fallback <MediaFile> — VAST-2.0-linear-mediafiles
- A SIMID InteractiveCreativeFile with no type — SIMID-1.0-simid-type-required
- An <InteractiveCreativeFile> with no apiFramework — VAST-4.0-interactive-creative-no-api
- A SIMID variableDuration with an invalid value — SIMID-1.0-simid-variable-duration-value
OMID / verification
- An OMID <Verification> with no vendor attribute — VAST-4.1-verification-vendor
- An OMID <Verification> with no resource to load — VAST-4.1-verification-no-resource
- An OMID <JavaScriptResource> with no apiFramework — VAST-4.1-js-resource-apiframework
Companions
- A <Companion> banner with no width or height — VAST-2.0-companion-dimensions
- A companion <ClickTracking> with no id — VAST-4.0-companion-clicktracking-id
- A <Companion> with an invalid renderingMode — VAST-4.1-companion-renderingmode-value
Non-linear
- A <NonLinear> overlay with no resource — VAST-2.0-nonlinear-resource
Icons
- An <Icon> (e.g. AdChoices) with no resource — VAST-3.0-icon-resource
Pricing & metadata
- A <Category> with no authority attribute — VAST-4.0-category-authority
- A <Pricing> element missing model and currency — VAST-3.0-pricing-model
- A <BlockedAdCategories> with no authority attribute — VAST-4.1-blockedadcategories-no-authority
Wrappers
- A <Wrapper> with no <VASTAdTagURI> — VAST-2.0-wrapper-vastadtaguri
- A <Wrapper> with no <Impression> — VAST-2.0-wrapper-impression
Deprecated features
- A VPAID creative trafficked to CTV — VAST-4.1-vpaid-apiframework
- Use of the deprecated conditionalAd attribute — VAST-4.0-conditionalad
- VPAID used where SIMID belongs in VAST 4.x — VAST-4.1-vpaid-in-interactive-context
Tracking
- Multiple <Impression> elements with the same URL — VAST-2.0-duplicate-impression
- A <Tracking> event that was removed in VAST 4.x — VAST-4.0-tracking-event-removed
Use the right tool for this failure
If you already have the resolved XML, run a pure spec check. If you only have a live tag URL, test that endpoint first. If the failure happens in the wrapper chain, inspect each hop.