Rule reference

GPP string is not a well-formed GPP header

openrtb.regs.gpp_malformedwarningBid request

regs.gpp does not decode as a GPP v1 header (type 3, version 1, Fibonacci section range), or uses an illegal character, or has no '~' sections.

What it means

A GPP string is a 6-bit-alphabet header, then '~', then one payload per declared section. The header starts with DB (type 3, version 1) and encodes the section ids as a Fibonacci range. This string does not decode that way, or gpp_sid names section 3 (the header itself) or an undocumented id.

Why it matters

Buyers that cannot parse the header cannot find TCF or US National sections. They treat the user as having no GPP signal, which is usually a no-bid or a non-personalized bid.

How to fix it

Emit the string from a CMP or the IAB GPP encoder. Do not concatenate TCF and USP by hand. gpp_sid must list the discrete section ids, never 3.

Example that trips it

{ "regs": { "gpp": "not-a-gpp-string", "gpp_sid": [2] } }

Check your payload

Paste a bid request or response into the tester to see whether this code fires against it, or gate on the id in CI with the CLI: the id is stable, wording is not.

Back to the full diagnostic code reference.