Global Privacy Control
How the runtime treats a browser's Global Privacy Control signal, which purposes it refuses, and where the signal changes nothing.
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_SHARINGandPERSONALISATIONcategories 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
Gpcfield.
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:
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.
globalPrivacyControlin the snapshot istruewhenever the browser sends the signal, whether or not it was honoured.- The switch is per form and takes effect when the form is published.