vastlint
VAST-2.0-root-has-ad-or-error

VAST-2.0-root-has-ad-or-error

<VAST> must contain at least one <Ad> or <Error>

ErrorRequired fieldsIAB VAST 2.0 §2VAST 2.0 and later (all versions)

Short answer

A valid VAST response must contain at least one <Ad> element or a root-level <Error> element. An empty <VAST> tag is not a legal response — players will treat it as a no-fill.

Why this matters in production

This rule is usually a delivery blocker. Many players, SDKs, and ad servers will discard the response or skip the affected creative once this condition is hit. Required-field failures usually stop validation early because the platform cannot determine the basic shape of the ad, the creative metadata, or the mandatory tracking payload. Affected scope: VAST 2.0 and later (all versions).

How to fix

Add at least one <Ad> child to <VAST>, or add a root-level <Error> element to signal no-fill.

Invalid

<VAST version="4.0">
</VAST>

Valid

<VAST version="4.0">
  <Error><![CDATA[https://track.example.com/error]]></Error>
</VAST>
Check your VAST tag for VAST-2.0-root-has-ad-or-error and other issues instantly.Validate a tag →