VAST-2.0-ad-has-inline-or-wrapper
Each <Ad> must contain exactly one <InLine> or <Wrapper>
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>VAST-2.0-ad-has-inline-or-wrapper and other issues instantly.Validate a tag →