VAST-4.4-adcom-attr-not-motion
AdCOM attr is not a CTV motion attribute (21 static, 22 cinemagraph, 23 full-motion)
Short answer
The attr signal round-tripped into VAST exists so publishers can check that the motion characteristic of the delivered creative matches what the placement supports. The three values the CTV Ad Portfolio defines are 21 Static Visual, 22 Limited Motion (Cinemagraph) and 23 Full-Motion Video. A publisher whose Pause placement blocks battr: [22, 23] is checking for exactly these. Worth noting: IAB's own published example carries <attr>20</attr>, which is none of them.
Why this matters in production
This rule is advisory rather than fatal, but it still matters for portability, debugging speed, and keeping tags predictable across different buyers and playback stacks. 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: All VAST versions.
Invalid
<Extension type="attr" ext="adcom">
<attr>20</attr>
</Extension>Valid
<Extension type="attr" ext="adcom">
<attr>21</attr>
</Extension>VAST-4.4-adcom-attr-not-motion and other issues instantly.Open the VAST tag validator →