Skip to content

Build Not yet confirmed elsewhere1 publisher 2 min read Published

A valid VAST file can still come back blank when the TC string omits a vendor in the creative

IAB Europe set October 23, 2026 as the deadline for consent platforms to ship TCF v2.4 disclosures on the web, with mobile and CTV due February 2027. Bidders read the string on each request, so creative vendors missing from it can cost the bid, a dev.to explainer says.

The Engineer · Build desk

How we use AI Send a correction

Illustration accompanying A valid VAST file can still come back blank when the TC string omits a vendor in the creative
Generated illustration

What happened

  • A TC string already records which vendors the CMP disclosed, a field added in v2.3, and v2.4 tightens the Global Vendor List feature text and drops some legitimate-interest shortcuts.
  • Google's creative status codes in the 200 range include a case where the TC string does not consent to a vendor in the creative, and the post says that is not a VAST schema error.
  • One common failure is half a signal: an SSP forwards the GPP section id but drops the GPP string, leaving the bidder with a grammar to expect and nothing to decode.
  • TCF expects the TC string to travel unchanged, so a tag manager that truncates it, re-encodes it or swaps in a placeholder breaks vendor-level checks.

Why it matters

  • constraint October 23 binds consent platforms. The post does not say when exchanges and DSPs begin acting on the new disclosure bits, so publishers have no stated cutover date to plan around.
  • decision Stacks that still read both us_privacy and GPP need a written precedence rule. Without one, a section 7 opt-out and a 1YNN string produce no deterministic result.
  • exposure Server-side auctions rebuild the request after the page, so a mismatch with the CMP output lands in logs the buyer never sees and the publisher may never check.

The spec and Global Vendor List update landed on July 23, 2026, according to the IAB Europe timeline letter the post cites [2]. The web deadline falls 92 days after that [19].

Where the string sits on the bid matters. OpenRTB 2.6-202211 gave GPP its own fields: regs.gpp for the encoded container and regs.gpp_sid for the section identifiers [5]. GDPR traffic still pairs regs.gdpr with the IAB Europe TC string in user.consent [6]. Break the pairing and the policy changes. The post's example is a long base64 blob in user.consent with regs.gdpr omitted. The exchange then treats the auction as non-GDPR and applies the wrong policy [8].

Next the bidder runs a comparison. It checks the vendors in the creative's AdVerification list against the consent bitmap, which the post describes as policy implementation [17]. If the string does not cover vendor 755 on the GVL, a VAST InLine can validate and a bid can win while the buyer still records a loss or a blank [4].

Video adds a second copy of the string. VAST Impression and Tracking URLs often expand ${GDPR_CONSENT_xxx} macros at serve time, and the string on that URL must still match the bid the DSP won with [15]. Those same strings also go out on impression pixels, verification scripts and server-side conversion posts, passed along in query parameters and macros [11]. A macro that defaults to a boolean puts gdpr_consent=1 where a string belongs. The value is syntactically plausible and semantically empty [13].

The only source here is one dev.to explainer. It points to RTBlint and Pixellint's GPP documentation as ways to lint the string itself, and it is not the IAB Europe text [18].

In our view the test that fits these failures is a three-way diff. Capture the string as the CMP emits it, as it arrives on the bid request, and as it appears on the tag URL. Then compare. Every failure the post lists is a mismatch between two of those points: a dropped gpp field, an omitted gdpr flag, a truncated or re-encoded macro, a rebuilt server-side request.

What to watch

  • Whether exchanges and DSPs publish a date for acting on the TCF v2.4 disclosed-vendor bits in bid-time checks.
  • Whether mobile and CTV consent platforms ship the same disclosures on the February 2027 schedule.
  • Whether buyers document a precedence rule when GPP section 7 and a legacy us_privacy string disagree.

Clarity's read

What the record supports and how the coverage leans. The claims behind it follow.

Reality

Evidence55
Adoption
Insufficient
Hype gap+5
Incentives
Insufficient
Confidence55
Why these scores

Claim ledger

Ranked by verification strength, evidence, and original report placement.

  1. [1]

    IAB Europe set October 23, 2026 as the deadline for consent management platforms to ship the new TCF v2.4 disclosures on the web, with mobile and CTV following in February 2027.

    Reported Supported Source: dev.to explainer, GPP ExplainedView cited source
  2. [2]

    The IAB Europe timeline letter confirms the TCF spec and Global Vendor List update landed July 23, 2026.

    Reported Supported Source: IAB Europe timeline letter, as cited by the dev.to postView cited source
  3. [3]

    Exchanges and DSPs do not re-run the CMP UI. They read whatever string arrived on the bid request or the pixel URL and decide whether the creative's vendors may fire.

    Reported SupportedView cited source

Get this ledger inside ChatGPT. Ask about any of our stories and the answer brings its figure, each claim’s verdict and the sources. Free, no account.

Add to ChatGPTAdd to Claude

Sources

1 independent publisher whose own reporting we read for this story.

  1. dev.to

    1 article · October 14, 2026

    GPP Explained: How Privacy Strings on the Bid and Tag Gate Creatives

Share your take

Let Clarity write the post for you.

Signed-in readers get a short post drafted on this story in the register they choose — narrative, analytical, or a direct position — editable to the last word before it goes anywhere. The share buttons at the top of this story work without an account.

Topics and entities

Follow any of these and your For You feed starts watching them — no settings page required.

Topics

Entities

Loading related stories