Global Privacy Control has to be read before your tags run, says California's draft
California's draft rules name Global Privacy Control and say a site must read the signal before any tag that sells or shares data runs. What that changes.
Draft rules would name Global Privacy Control as a valid opt-out signal and say a site must check for it before any tag that sells or shares personal information runs.
Who
Businesses that sell or share the personal information of California consumers online; one new example concerns browser features.
From when
not yet
California’s privacy agency has drafted rules that name Global Privacy Control as an opt-out signal businesses must honour, and that settle the question most consent setups get wrong: when the check has to happen. The draft’s answer is before anything that sells or shares personal information loads. The agency’s board takes the draft up on 6 November 2026, and its staff recommend starting formal rulemaking with a 45-day comment period.
It is the ordering bug that started my correspondence with Konrad in 2021, a tag manager that loaded before the consent state had resolved, now written into a regulator’s example. This post covers what the draft changes, who it applies to and from when, why the timing rule follows from the way the signal arrives, a load order that meets it, where that order breaks in production, and what is still open.
2
What the draft changes
The proposed text, dated 8 October 2026, amends sections 7025 and 7026 of the CCPA regulations along with several smaller sections. The agency’s statement of reasons says the amendments mostly clarify what the statute and the existing rules already require, and that enforcement since 2020 has found many businesses failing to detect or honour these signals. The changes that touch a website:
Section
What the draft adds
7025(b)(1)
GPC named as an example of a valid signal: An example would be an HTTP header field, like Global Privacy Control (GPC), or JavaScript object.
7025(c)(7)(F)
A site that lets third parties sync cookies must stop them syncing for cross-context behavioural advertising whenever the signal is present
7025(c)(7)(G) and (H)
If a business links a visitor’s devices into a pseudonymous profile, the opt-out follows the link; if it keeps device-specific records, it need not build a link to apply it
7025(h)
A browser feature that acts for the visitor and makes personal information available must not block or contradict the signal
7026(f)(3)(C)
The timing example: cookies and pixels that sell or share must not be set before the site has determined whether the signal arrived
7102
More businesses report request metrics, including how many opt-outs came through signals
3
Who it applies to, and from when
The duty underneath is already in force. A business that sells or shares personal information has to treat a valid opt-out preference signal as a request to opt out, for that browser or device and any profile associated with it (section 7025(c)(1)). The California Attorney General’s page on GPC says it must be honored by covered businesses as a valid consumer request (oag.ca.gov). Posting a “Do Not Sell or Share” link does not remove the duty (7025(e)), and a cookie banner on its own is not an acceptable way to opt out of sale or sharing (7026(a)(4)).
What is new is wording and examples, and those are a proposal. Nothing is adopted and there is no effective date. If the board advances the text, these CCPA regulations go out for formal comment and can still change.
A second date sits next to it. From 1 January 2027, Civil Code section 1798.136 forbids developing or maintaining a browser without a setting, configurable by the person using it, that sends an opt-out preference signal. Inferred More of a site’s visitors will send the signal next year than this year, whether or not anything changes in the CPPA regulations.
4
The GPC signal arrives with the first request
The mechanism is simple. A browser with GPC switched on sends the request header Sec-GPC with the value 1, and the page can read the boolean navigator.globalPrivacyControl (W3C draft, MDN). The GPC signal is in the very first request for the page, before a single script has run.
The draft draws the consequence in its example of Business WWW, an online retailer with a consent platform and a tag manager whose advertising and analytics cookies and pixels are set before either tool has checked for the signal. The visitor’s opt-out, in the draft’s words, is received as soon as Violet’s browser sends the initial request to access the website, so selling or sharing before the check fails the requirement to stop as soon as feasibly possible (7026(f)(3)(C)). The statement of reasons adds that It is entirely feasible to configure a website to detect the GPC signal before initializing any scripts, cookies, or other technologies, and is blunt about the alternative: This improper sequencing is not merely a technical oversight; it is a direct violation of the timing requirement.
In system terms this is the unknown state again. Until the signal has been checked, the site does not know the visitor’s choice, and unknown is not permission. The statement of reasons makes the same point about the tooling: the consent platform and the tag manager are both client-side JavaScript, and they have to be coordinated so that anything that sells or shares waits until the signal has been processed.
5
A load order that reads the signal first
There are two places the signal can be read, and a robust setup uses both.
On the server. The Sec-GPC header is in the request, so the server knows before it renders a byte. It can write the state into the page, ahead of the tag manager snippet, and leave sale-or-share tags out of the response entirely.
In the page, as a fallback. An inline script in the head, placed before the tag manager loads, reads navigator.globalPrivacyControl synchronously and writes the same state.
In the tag manager. Every tag that sells or shares fires only on a resolved state that allows it. No trigger fires on “consent not yet denied”.
The inline step, as a sketch:
js
// Illustrative. Runs inline in <head>, before the tag manager snippet.// It does not cover the consent platform's API, stored choices, other purposes or regions.const gpc = navigator.globalPrivacyControl === true;window.saleOrShare = gpc ? { status: 'resolved', value: 'denied', source: 'gpc' } : { status: 'unknown' };
What happens when there is no signal is a separate decision. California’s right is an opt-out right (Civil Code section 1798.120, which the draft cites), but the same page may serve visitors from places where these tags need consent first, and that is a question for the legal side, not the tag configuration.
The draft also keeps the existing requirement to show the result: a business must display whether it processed the signal, and the text offers Opt-Out Request Honored as an example (7025(c)(6)). If the business wants to rely on the frictionless route and drop the opt-out link, it may not answer the signal with a pop-up or interstitial, though the status display is allowed (7025(f)(3)).
Design decision
Milan Rook
Requirement
Stop selling or sharing as soon as feasibly possible once a signal arrives (7026(f)(1)); the draft's example places that moment at the first request for the page.
Pattern
Read Sec-GPC on the server and navigator.globalPrivacyControl inline before the tag manager; sale and share purposes start denied when the signal is present; tags fire only on a resolved state.
Control
An automated check that loads key pages with GPC on and fails if any request reaches an advertising, syncing or analytics endpoint that counts as a sale or share.
Judgement
Which of your tags and vendors amount to a sale or a share is a legal question, and the answer decides which tags this gate has to hold.
6
Where this breaks in production
Cached HTML. If the server writes the state based on Sec-GPC and a CDN caches the page without Sec-GPC in its Vary header, one visitor’s version is served to the next. Varying on the header splits the cache. Relying on the client-side check keeps the cache whole but moves the decision later in the load. That trade-off is real and has to be made on purpose.
Tags outside the tag manager. A pixel pasted into a theme, a plugin that loads its own script or an embedded widget never reads the state. The gate only holds what passes through it.
Third parties that sync cookies. The draft puts this on the site: it has to be configured so that third-party trackers do not start or perform cookie syncing whenever the signal is present. A site cannot reach into a partner’s script and switch the syncing off, so in practice I would not load those trackers at all when the signal is there.
An asynchronous consent platform. If the platform loads after the tag manager and the tag manager fires on page view, the order is wrong however well the platform reads the signal.
Linked profiles. If you link a visitor’s devices or accounts for advertising, the draft’s examples say the opt-out has to follow those links. A flag stored in one browser does not reach a profile on the server.
Server-side forwarding. Events sent from your own servers to advertising platforms never pass through the browser gate. The signal state has to travel with the event, or the forwarding has to stop.
7
What is still uncertain
Whether the board advances the text on 6 November 2026, and what the formal comment period changes. The examples could be reworded, narrowed or dropped before any final text, and so could the metrics expansion in section 7102.
My own view is that none of that is a reason to wait. The agency says the timing example describes what the law already requires, and the statement of reasons calls the misordering a violation of an existing rule. Fixing the load order is cheap compared with explaining it later. Whether your particular setup meets the current rule is a question for a lawyer who knows your data flows.
8
Questions to take back to your team
Where in the page load is the signal first read today, and is that before or after the tag manager loads?
Which tags and vendors count as a sale or a share, and who decided?
Does any script that sells or shares load outside the tag manager?
Do you link devices or accounts for advertising, and does the opt-out follow the link?
If the server reads Sec-GPC, does the cache vary on it?
Where on the site do you display that the opt-out was honoured?
Do you forward events from the server, and does the signal state travel with them?
Konrad’s reading of the Meta judgment in New Mexico makes the same point at a different scale. A control that governs the screen and not the data flow is a promise the system does not keep.
Questions
What is global privacy control?
A browser setting that sends the request header Sec-GPC with the value 1 and lets the page read navigator.globalPrivacyControl, telling a site the visitor does not want their personal information sold or shared. California's Attorney General says covered businesses must honour it as a valid consumer request. The W3C draft defines the header and the property.
How do I turn on global privacy control?
Brave and the DuckDuckGo browser send it by default and Firefox offers it in its settings, according to globalprivacycontrol.org, which also lists extensions such as EFF's Privacy Badger and OptMeowt. From 1 January 2027, California's Civil Code section 1798.136 requires every browser to include a setting that sends an opt-out preference signal.
Do I still need a Do Not Sell or Share link if I honour GPC?
Honouring the signal is required either way. Under the draft's section 7025(e) and (g), a business that posts the links must still process signals, and one that processes them in a frictionless manner and meets the privacy policy conditions may leave the links out. The draft's own example says a business that also sells data offline, and needs more information to apply the opt-out there, cannot use that exception.
Are California's draft GPC rules in force?
No. The proposed text, dated 8 October 2026, goes to the CPPA board on 6 November 2026, where staff recommend starting formal rulemaking with a 45-day comment period. The text can change after that. The duty to honour opt-out preference signals is already in the CCPA regulations; the draft adds the GPC example and the timing example.