vastlint
VAST-2.0-ad-has-inline-or-wrapper

VAST-2.0-ad-has-inline-or-wrapper

Each <Ad> must contain exactly one <InLine> or <Wrapper>

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

Short answer

Every <Ad> element must contain exactly one child: either <InLine> (which carries the creative directly) or <Wrapper> (which points to another VAST tag). An <Ad> with neither — or with both — is invalid.

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 exactly one <InLine> (for a direct ad) or <Wrapper> (for a redirect chain) inside the empty <Ad>.

Invalid

<Ad id="1">
  <!-- nothing here -->
</Ad>

Valid

<Ad id="1">
  <InLine>…</InLine>
</Ad>
Check your VAST tag for VAST-2.0-ad-has-inline-or-wrapper and other issues instantly.Validate a tag →