ORTB
…
Chapter navigation

CMP registration & specification (TCF side)

consent
On this page

Role & classification

The Consent Management Platform (CMP) registration process on the Transparency & Consent Framework (TCF) side, the semantics of the CmpId / CmpVersion fields, and the UI / API contract a CMP must implement. Division of labour with the cmp-api chapter: this one covers "who may become a CMP", cmp-api covers "how the browser reads it".

GPP section
§2 (Core: CmpId/CmpVersion/ConsentScreen)

String & field layout

FieldBitsDescription
CmpIdInt(12)the ID of the CMP that last updated this TC String (assigned by the TCF registry); must not be 0 in a production string (0 is only for stub/loading).
CmpVersionInt(12)the version of that CMP.
ConsentScreenInt(6)the CMP UI screen number where the user gave consent.

A TC String may only be created by a CMP registered with the Interactive Advertising Bureau (IAB) Europe TCF, using its assigned CMP ID; vendors or other third parties must not create or modify a TC String themselves. Where there is no registration requirement, string creators use CMP ID = 1.

Carriage & access

A CMP declares the Global Vendor List (GVL) version it uses in the Core segment's VendorListVersion field; CMP registration and the GVL are two independent registries on the TCF side.

UI & API contract

The UI and API contract a CMP must implement is governed by two separate documents: (1) the technical layer (CMP JS API Specification) defines the __tcfapi() command set and return-body structure — see the cmp-api chapter; (2) the policy layer (IAB Europe TCF Policies) defines first-screen disclosures (vendor count, purpose list), second-screen granular controls, the reject path, and the consent-withdrawal entry. The CMP Guidelines' step-by-step UI requirements and the TCF Policies are complementary; this page does not reproduce the policy document in full.

Invalid forms

  • A TC String created by an unregistered CMP (no valid CmpId)
  • CmpId=0 in a production string (0 is only for stub/loading)
  • A vendor creating or tampering with a TC String itself (forbidden by policy)
This chapter's body is migrated from the legacy /protocol/gpp-tcf single page; the material matches the official specification.