Consent Docs

Global Privacy Control

How the runtime treats a browser's Global Privacy Control signal, which purposes it refuses, and where the signal changes nothing.

Concept2 min readFor web, backend and mobile developers

Outside India

A deployment for India hides this setting. The operator sets PRODUCT_SCOPE=global to offer it.

Global Privacy Control is a setting in some browsers that says the visitor opts out of the sale and sharing of their data. The runtime can treat that signal as the visitor's answer, so they are not asked to repeat it in a banner.

How it works#

The runtime reads the signal from navigator.globalPrivacyControl. It honours the signal when both of these are true:

  • the visitor's region asks by opt-out
  • the form has Honour Global Privacy Control on, in its Settings panel. It is on by default

When the signal is honoured:

  • Purposes in the MARKETING, SALE_OR_SHARING and PERSONALISATION categories start refused. Analytics and functional purposes are not affected.
  • The opt-out is recorded at once as the visitor's answer, with the interaction GPC_SIGNAL. No banner is shown.
  • If the banner is opened later, it carries a line saying the signal was honoured.
  • The GPP string carries the signal in its Gpc field.

The visitor can still change the answer in the preferences.

An example#

A visitor in California opens your shop in a browser that sends the signal. The form asks by opt-out there and has an analytics purpose and a marketing purpose.

No banner appears. Analytics tags run, marketing tags stay held, and a record is written with marketing refused. Your code sees the same thing:

JavaScript
PiedapConsent.ready.then((consent) => {
  console.log(consent.decided);                // true
  console.log(consent.categories.ANALYTICS);   // true
  console.log(consent.categories.MARKETING);   // false
  console.log(consent.globalPrivacyControl);   // true
});

Limits#

  • In an opt-in region the signal changes nothing. Everything optional is already off until the visitor allows it, and they are asked as usual.
  • globalPrivacyControl in the snapshot is true whenever the browser sends the signal, whether or not it was honoured.
  • The switch is per form and takes effect when the form is published.

↑↓ to move, Enter to open