ORTB
中 / EN
Chapter navigation

gpp_sid semantics & multi-section use

container protocol

Role & classification

gpp_sid declares which Global Privacy Platform (GPP) Section IDs are in force for this transaction; it is an integer[] in OpenRTB and a string in URL macros (${GPP_SID}), and never includes §3 / §4. When several sections coexist each is parsed independently.

Carriage
regs.gpp_sid (integer[]) · ${GPP_SID} (string)
Status
OpenRTB 2.6-202211+
GPP section
excl. §3 / §4

Semantics & exclusions

gpp_sid declares which GPP Section IDs are actually in force for this transaction. The GPP Header already lists which sections the string contains; gpp_sid further indicates which of them apply to the current transaction context — usually a single ID, occasionally several.

Never appears in gpp_sid

  • §3 (the GPP Header itself)
  • §4 (GPP Signal Integrity, reserved)

gpp_sid lists only payload sections, never the Header (§3) or the reserved Signal Integrity (§4) — neither is an enforceable privacy payload.

gpp_sid may carry several section IDs. Each section payload is parsed independently per its own specification with no cross-section parsing dependency; the carriage point determines gpp_sid's physical type (array or string) while the semantics stay the same.

Carriage & access

Carriage pointField / macroTypeNote
OpenRTBregs.gpp_sidinteger[]An integer array paired with regs.gpp (the string); since OpenRTB 2.6-202211.
URL macro${GPP_SID}stringA string; normally a single ID, rarely two comma-separated.

The same semantics carry different types at the two carriage points: an integer[] on the OpenRTB side, a string on the URL-macro side. The parsing entry point must first normalise both into one ID set before deciding which sections are in force.

Common multi-section combinations

  • §2 + §6EU consent payload plus US USPrivacy (cross-region legacy traffic)
  • §7 + §8US national signal plus California (national + state)

Invalid forms

  • gpp_sid contains §3 or §4 (the Header / Signal Integrity are not enforceable payload sections)
  • A section ID listed in gpp_sid is not declared in the GPP String's Header (the string carries no such section)
  • OpenRTB regs.gpp_sid passed as a string rather than integer[], or the URL-macro side missing comma separation for multiple values
This chapter's body is migrated from the legacy /protocol/gpp-tcf single page; the material matches the official specification.