VASTlint
VAST-2.0-ctv-portfolio-creative-id-unmatched

VAST-2.0-ctv-portfolio-creative-id-unmatched

<Extension type="ctv_ad_portfolio"> <CreativeId> matches no <Creative> id in the ad

ErrorCTV Ad PortfolioIAB CTV Ad Portfolio for VAST 2.0 §ImplementationVAST 2.0 and later (all versions)

Short answer

The <CreativeId> value has to match the id attribute of a <Creative> in the same ad. A value that matches nothing leaves the extension unbound, which has the same effect as omitting it and is usually a copy-paste from another response.

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. The CTV Ad Portfolio standardises Pause, Screensaver, Overlay, Squeezeback and In-Scene ads, which ran for years on bespoke per-publisher integrations. These rules cover the VAST side of that contract: the NonLinear MediaFiles delivery model, the AdCOM signals round-tripped into Extensions so stitchers can validate the experience without the bid object, and the QR code block. The signaling guidance is final; the VAST 4.4 schema that accompanies it is still a working-group draft, so anything sourced only from the schema is reported as a warning or a note. Affected scope: VAST 2.0 and later (all versions).

Check your VAST tag for VAST-2.0-ctv-portfolio-creative-id-unmatched and other issues instantly.Open the VAST tag validator →