Skip to content

Build1 publisher3 min readPublished

Two in-range integers sell IAB's new Pause format as sound-on instream

The CTV Ad Portfolio gives Pause its own playbackmethod codes, but the old instream 1 stays legal under plcmt=5, so a template copied from last quarter passes every schema check while naming a format that has no row in the table.

The Engineer · Build desk

What happened

  • IAB's CTV Ad Portfolio, finalized in July 2026, adds five transactable video formats beyond classic instream, and OpenRTB carries the buy on video.plcmt values 5 through 9.
  • DSPs echo those signals back into the VAST response as AdCOM extensions so SSAI paths and measurement vendors that never saw the bid request can still read what was sold.
  • The portfolio hands Pause its own playbackmethod codes 8 and 9 and Screensaver 10 and 11, while Overlay, Squeezeback and In-Scene keep the generic instream 1 and 2.
  • A tag carrying plcmt=5 with a leftover playbackmethod=1 passes every schema check and jointly declares a Pause placement playing as autoplay instream with sound on.
  • The writeup's linter flags the pause tag with warning VAST-4.4-adcom-playbackmethod-format-mismatch, covering only the Pause and Screensaver rows the spec states firmly.

Compiled by The EngineerSomething wrong?How this is made

Why it matters

  • constraint Because the guidance only says Overlay, Squeezeback and In-Scene typically use 1 or 2, no validator can raise an error on those rows, leaving three of the five formats permanently outside cross-field checking.
  • exposure Buyers whose reporting keys off the AdCOM extensions inherit a format mix they did not buy, and the mislabel surfaces in reconciliation rather than in playback, long after the impression is billed.
  • decision Portfolio QA has to move off the outer wrapper and off MP4 presence, since the copied field lives on the inner InLine and, on VAST 2.0, inside a single container rather than separate extensions.
  • cost This kind of failure doesn't break the player; it delivers the ad and files it under the wrong format, and the fix is a rebuild of format-level attribution for every line item trafficked from a pre-portfolio template.

plcmt names the row. playbackmethod is pre-portfolio AdCOM, where 1 means autoplay with sound on and 2 means click-to-play [6]. The portfolio extended it only where a row needed something the old table could not say: Pause and Screensaver each wanted a sound-on and a sound-off variant, so they took codes 8 through 11, two apiece [7][8][2]. Overlay, Squeezeback and In-Scene took nothing new, because the guidance only says they typically use 1 or 2 [9].

That asymmetry sets the ceiling on validation. The rule in the dev.to writeup, VAST-4.4-adcom-playbackmethod-format-mismatch, encodes the firm rows only, and leaves a generic 1 or 2 under an Overlay plcmt unflagged [15]. Three of the five portfolio formats therefore have no cross-field check available at all [1]. A spec verb of "typically" cannot produce an error, and the rule does not pretend it can [9].

Both directions of the Pause and Screensaver mix-up are legal XML: plcmt=5 with a stale playbackmethod=1, and plcmt=6 with Pause's sound-off 9 [10][11]. The player has no opinion, because every value sits inside AdCOM's allowed integer ranges [12]. An earlier failure class, a linear MP4 under a pause plcmt, kills playback outright. This one delivers the ad and files it under the wrong format [14].

In wrapper chains the portfolio signals sometimes appear only on the inner InLine after two hops, so QA on the outer wrapper never sees the copied field [17]. On VAST 2.0 the same five formats can arrive inside one back-port container, type="ctv_ad_portfolio", with plcmt, playbackmethod, MediaFiles and Duration in a single block [5]. The signaling table is identical to the 4.x per-extension shape, so a checker keyed to Extension types has to know both layouts [4][5].

The damage estimate is a claim about somebody else's pipeline. According to the same writeup, measurement and billing systems increasingly treat the AdCOM extensions as ground truth for format mix, which is what turns a mislabeled pair into dashboards that misreport format and viewability rules applied from the wrong row; it also names deal-line QA that checks signal consistency rather than MP4 presence as a place the tag fails [13]. For that to transfer, something downstream of your auction has to read the extension instead of the deal line. If nothing does, the mismatch sits inert until two systems are reconciled.

One caution on the tooling: the "IAB-style VAST tester" the post recommends for sample creatives is an independent fork, not an IAB Tech Lab product [18]. The paste-a-tag testers fetch the response, preview the creative and surface tracking URLs, which confirms NonLinear delivery but only helps with the pair if you read the extensions in context [19].

Two rows are machine-checkable because the spec was firm about them. For the other three, signal consistency is a deal-line term, enforced by whoever wrote the trafficking template.

What to watch

  • Whether IAB Tech Lab hardens the "typically" language into exclusive playbackmethod codes for Overlay, Squeezeback and In-Scene, which is what would make those rows machine-checkable.
  • Whether DSPs start deriving playbackmethod from the plcmt row instead of copying it forward from the previous line item.
  • Whether measurement vendors publish which signal wins when plcmt and playbackmethod disagree in the same extension block.
Loading claim ledger
Loading source directory links
Loading share composer
Loading topic controls