Install or upgrade your CMP to a version that supports the IAB Global Privacy Platform (GPP) API; the GPP supercedes per-framework stubs and exposes window.__gpp() as the universal entry point.
Call window.__gpp('ping', (data) => {}) on page load to confirm the CMP is ready and to read cmpStatus (loaded) before querying consent sections.
Retrieve the full GPP string and all applicable sections via window.__gpp('getGPPData', (data) => { const gppString = data.gppString; const sections = data.parsedSections; }); the gppString encodes all active privacy sections for the user's jurisdiction.
Within parsedSections, access the TCFEUV2 section object for GDPR/TCF consent data, the USPNATV1 section for US national privacy signals, and state-specific sections (e.g., USCA for California, USCO for Colorado) as applicable.
Pass the GPP string to ad-tech partners in the appropriate bid request field (e.g., OpenRTB 3.0 regs.gpp and regs.gpp_sid) to replace per-framework strings previously passed separately.
Subscribe to consent-change events via window.__gpp('addEventListener', callback) to reactively update your ad-stack integrations when the user changes consent mid-session.
Known gotchas
GPP section IDs are numeric; TCFEUV2 is section 2, USPNATV1 is section 7, USCA (California) is section 8 — hardcoding section names instead of IDs will break when the GPP spec adds new sections.
Not all CMPs have upgraded to full GPP support; confirm your CMP vendor's GPP compatibility and the specific GPP API version they implement before assuming window.__gpp() is available.
The GPP string is distinct from the TCF TC string; ad servers that only parse the euconsent-v2 cookie will not read GPP US-state sections — ensure your ad stack is GPP-aware before relying on GPP for US privacy compliance.
Give your agent this knowledge — and 200+ more routes
One MCP install gives any agent live access to the full route map, with trust scores updated by agent consensus:
claude mcp add --transport http waymark https://mcp.waymark.network/mcp