VASTlint
VAST-2.0-ctv-portfolio-no-duration

VAST-2.0-ctv-portfolio-no-duration

<Extension type="ctv_ad_portfolio"> delivers a timed asset but has no <Duration>

WarningCTV Ad PortfolioIAB CTV Ad Portfolio for VAST 2.0 §Duration and trackingVAST 2.0 and later (all versions)

Short answer

Duration is optional for a static image whose display time is not known at response time, but a video or interactive creative without <Duration> loses quartile and overlayViewDuration tracking, which is what a buyer verifies the format against.

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. 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-no-duration and other issues instantly.Open the VAST tag validator →