Global Privacy Control: how to honor the GPC signal on your site
The GPC signal is a browser opt-out that California, Colorado and other states treat as a valid request. Here is how to detect it and make your marketing tags follow it.

Global Privacy Control (GPC) is a browser setting that tells every website a visitor goes to: do not sell or share my personal information. Under the California Consumer Privacy Act (CCPA) and laws in states such as Colorado, a covered business must treat this signal as a valid opt-out request, which means marketing tags have to stop for that visitor without any click on your site.
This guide explains how the GPC signal reaches your website, which laws require you to honor it, and how to connect it to Google Tag Manager so pixels and ad tags actually react. This article is not legal advice.
What is the GPC signal?
The GPC signal is a simple yes flag that the browser sends with every request. It is defined in a specification developed in the W3C Privacy Working Group. When a visitor turns the setting on, the browser adds the HTTP header Sec-GPC with the value 1 to each request, and JavaScript on the page can read the property navigator.globalPrivacyControl, which then returns true.
The signal says nothing about which tags you use or which banner you show. It is a general opt-out preference signal, in the language of the CCPA regulations, that applies to every site the visitor opens. That is the main difference from a cookie banner choice: the visitor decides once in the browser, and your site has to pick it up automatically.
Which laws require you to honor Global Privacy Control?
California was first. The CCPA regulations require businesses that sell or share personal information to treat an opt-out preference signal as a valid request, and the California Attorney General names GPC as an example. Colorado followed: the Colorado Attorney General recognized GPC as the first universal opt-out mechanism under the Colorado Privacy Act, required from July 1, 2024.
Other state privacy laws, for example in Connecticut, Texas and Oregon, also require businesses to respect universal opt-out signals for targeted advertising and sale of data. In October 2025 California went one step further: the California Opt Me Out Act requires browsers to offer an opt-out preference signal setting from January 1, 2027. The practical result for website owners is the same everywhere: if your site runs ad tracking, plan for GPC now.
→ Cookie banner with Consent Mode v2: compliant, with no monthly license
How GPC reaches your site and where to read it
Your site can read GPC in two places: on the server through the Sec-GPC header, or in the browser through navigator.globalPrivacyControl. For tag management the browser property is the practical choice, because Google Tag Manager runs in the browser and can read it with a small custom JavaScript variable that returns true or false.
Timing matters more than the method. Marketing tags often fire on the first page view, so the GPC check has to run before them, not after the page has finished loading. Store the result as well: if the visitor later turns the setting off, the stored opt-out still applies until the visitor actively opts back in. Some businesses also apply the signal to logged-in customer accounts, so the opt-out follows the person across devices where that is technically possible.
- Custom JavaScript variable in Google Tag Manager that returns navigator.globalPrivacyControl === true
- Consent update early on every page, before marketing tags fire
- Stored opt-out state so the result also applies when a later request lacks the signal
- Visible note for the visitor that the opt-out was received
| Aspect | Opt-out link | GPC signal |
|---|---|---|
| Who acts | Visitor clicks on your site | Browser sends it on every request |
| Scope | Your site, until the visitor changes it | Every site the visitor opens |
| Detection | Click event, stored choice | Sec-GPC header or navigator.globalPrivacyControl |
| Typical error | Link opens a form that changes nothing | Signal ignored because no tag reads it |
How to make Google Tag Manager respect GPC
Google Tag Manager respects GPC most reliably through Google Consent Mode. Fire a consent update on the Consent Initialization trigger: if the GPC variable is true, set ad_storage, ad_user_data and ad_personalization to denied. Google tags such as Google Ads and the Google tag for GA4 follow that state on their own. Analytics storage can stay granted if analytics is used only for your own measurement.
Tags from other platforms do not read Google Consent Mode automatically. For the Meta Pixel, the TikTok Pixel, the LinkedIn Insight Tag and similar tags, add an exception trigger or a consent check so they do not fire while the GPC variable is true. The Meta Pixel also offers Limited Data Use for US privacy laws, and Google Ads offers restricted data processing. A consent tool that supports GPC can do the detection for you, but you still need to test that every tag listens to it.
→ Setting up Google Consent Mode v2 correctly: no warning in Tag Assistant
How to test your GPC setup
Testing GPC needs a browser that sends the signal. Open your site in Brave, or in Firefox with the setting turned on, and check in the developer console that navigator.globalPrivacyControl returns true. Then open Google Tag Manager preview mode, load a page and look at the consent state on the Consent Initialization event: the three advertising values should be denied.
Finally, watch the network tab while you click through a few pages. A typical case: an agency managing a client's lead generation site in Denver found that the Google Ads tag followed the consent state, but a LinkedIn Insight Tag added directly in the theme kept firing for GPC visitors. Moving the tag into Google Tag Manager with a consent check fixed it. Repeat the test after every new tag or plugin.
Get a clear picture of what loads
Before you add GPC logic, it helps to know which tags your site loads at all. The free Trackum check at trackum.app/check opens your homepage in a real browser three times, with the banner unanswered, rejected and accepted, plus two subpages, and lists the tags and cookies that load in each state, without sign-up. If you want help, Trackum sets up Google Tag Manager, GA4 and Consent Mode v2 at a fixed €150 one-time, each ad platform with conversion tracking for €50, tested with and without consent before anything goes live. Prices plus VAT.
Frequently asked questions
Is the GPC signal legally binding?
In California, the CCPA regulations require covered businesses to treat an opt-out preference signal such as GPC as a valid request to opt out of selling and sharing. Colorado recognized GPC as a universal opt-out mechanism, required since July 1, 2024, and several other states have similar rules. Outside these laws it is a strong signal of the visitor's wishes, but not a legal requirement everywhere.
Which browsers send Global Privacy Control?
Brave and the DuckDuckGo browser send it by default, Firefox offers it as a setting, and extensions such as Privacy Badger add it to other browsers. A California law signed in 2025 requires browsers to offer an opt-out preference signal setting from January 1, 2027, so the share of visitors who send it is likely to grow.
Should I show a message when I detect GPC?
It is good practice to show a short note that the opt-out was received, for example in the privacy settings or banner. It reassures the visitor and documents that the signal was processed. Do not ask the visitor to confirm or undo the signal in a way that pressures them.
Does GPC affect Google Analytics 4?
It depends on how you use it. If GA4 only measures your own site without advertising features, many businesses keep it running, because the signal targets selling and sharing. If GA4 feeds Google Ads audiences or uses Google Signals, set ad_storage, ad_user_data and ad_personalization to denied when the signal is present.
Sources
- Global Privacy Control globalprivacycontrol.org
- W3C: Global Privacy Control specification w3c.github.io
- California Attorney General: CCPA oag.ca.gov
- Colorado Attorney General: Universal opt-out mechanism coag.gov
- Google for Developers: Set up consent mode on websites developers.google.com
Read more
FeaturesCookie banner with Consent Mode v2: compliant, with no monthly license
Reject on the first layer, settings per purpose, Consent Mode v2 with every consent type and a record of each choice. No monthly license.
FeaturesSetting up Google Consent Mode v2 correctly: no warning in Tag Assistant
The most common warning in Tag Assistant says a tag read consent before a default was set. How to avoid it, and what else matters.
FeaturesMarketing dashboard with GA4 and Google Ads: every number on one page
Visitors, leads, orders, ad spend and ROAS per campaign on one page, compared with the previous period. One link, nothing to set up.
FeaturesRevenue from your CRM, shop and ERP in one dashboard: HubSpot, Shopify, Odoo and more
Google Analytics only sees what happens on the website. Orders by phone or email are missing. With a data connection, the real revenue from your system appears in the dashboard.
FeaturesWebsite leads with their source in your CRM: HubSpot, Pipedrive, Brevo, Salesforce or webhook
Where did the lead come from? The CRM handover writes source, campaign and click ID into the CRM with every inquiry, without a form plugin.
FeaturesOffline conversions: report sales from your CRM to Google Ads and Meta
Google Ads and Meta learn from what you report to them. If they only get form fills, they optimize for form fills. With offline conversions, they optimize for sales.