VAST-2.0-creative-extension-cdata
VAST-2.0-creative-extension-cdata
<CreativeExtension> leaf text with XML-sensitive characters should be wrapped in CDATA
WarningSchemaIAB VAST 2.0 §2VAST 2.0 and later (all versions)
Short answer
Same as VAST-2.0-extension-cdata but for <CreativeExtension> blocks. Wrap JSON or URL-rich leaf payloads in CDATA so the data does not depend on fragile XML escaping.
Why this matters in production
This rule is a strong risk signal. Tags with this issue often still parse, but they become brittle across SDKs, SSAI resolvers, and CTV environments. Schema violations tend to create parser disagreement. One system may recover while another drops the tag entirely, which is why these bugs often show up as environment-specific fill loss. Affected scope: VAST 2.0 and later (all versions).
Invalid
<CreativeExtension type="vendor">
{"u":"https://x?a=1&b=2"}
</CreativeExtension>Valid
<CreativeExtension type="vendor">
<![CDATA[{"u":"https://x?a=1&b=2"}]]>
</CreativeExtension>Check your VAST tag for
VAST-2.0-creative-extension-cdata and other issues instantly.Open the VAST tag validator →Other Schema rules
VAST-2.0-text-only-elementText-only element contains a child elementVAST-2.0-unknown-attributeElement has an attribute not defined in the VAST specVAST-2.0-inline-unknown-child<InLine> contains an unrecognised child elementVAST-2.0-wrapper-unknown-child<Wrapper> contains an unrecognised child elementVAST-2.0-creatives-unknown-child<Creatives> may only contain <Creative> elementsVAST-2.0-creative-unknown-child<Creative> contains an unrecognised child elementVAST-2.0-linear-unknown-child<Linear> contains an unrecognised child elementVAST-2.0-trackingevents-unknown-child<TrackingEvents> may only contain <Tracking> elements