Compliance · 18 Mar 2026 · 10 min read

CCPA Opt-Out Verification: Is Your Global Privacy Control Signal Actually Working?

50 million US users broadcast GPC on every page load. Your analytics tags ignore it. Sephora paid $1.2 million for that mistake.

# by Swapnil Jaykar · founder, tagdrishti · 12+ yrs analytics engineering

What the Global Privacy Control Signal Is

Global Privacy Control (GPC) is a browser-level signal that communicates a user’s opt-out preference. When enabled, the browser sends an HTTP header (Sec-GPC: 1) and sets a JavaScript property (navigator.globalPrivacyControl === true) on every page load. Firefox, Brave, and DuckDuckGo enable GPC by default. Safari and Chrome support it through extensions.

Approximately 50 million US users broadcast GPC on every page load. That number has grown 40% year-over-year since 2023. These users are telling your site: “Do not sell or share my personal information.”

CCPA Requirements for GPC

The California Consumer Privacy Act (CCPA), as amended by the CPRA and interpreted by the California Attorney General’s regulations (effective 2023), requires businesses to treat GPC as a valid opt-out request. Specifically:

  • You must detect the GPC signal
  • You must treat it as a request to opt out of the “sale” or “sharing” of personal information
  • You must stop processing that qualifies as “sharing” (which includes most advertising-related data collection) for that user
  • You must not require the user to take any additional action beyond sending the signal

In practical terms: when a user visits your site with GPC enabled, your analytics and advertising tags must either not fire or fire in a mode that does not share data with third parties for advertising purposes.

The Sephora Enforcement Action

In August 2022, the California Attorney General fined Sephora $1.2 million for CCPA violations. One of the central findings: Sephora failed to honour the GPC signal. The AG’s investigation found that Sephora’s website continued to share personal information with third parties (via analytics and advertising tags) even when the user’s browser broadcast GPC.

The fine established a clear precedent: ignoring GPC is a CCPA violation. The AG’s office sent non-compliance notices to over 100 businesses before the Sephora enforcement action. Sephora was the first public example, but it will not be the last.

Why Most Sites Fail GPC Verification

GPC verification fails for four common reasons:

1. No GPC Detection Logic

Most websites do not check for GPC at all. The navigator.globalPrivacyControl property exists in the browser, but no code on the page reads it. Tags fire with full tracking capabilities regardless of the signal. This is the most common failure — not a bug, just an omission.

2. CMP Does Not Map GPC to Consent Denial

Some CMPs support GPC detection but require explicit configuration to map the GPC signal to a consent denial for advertising/sharing categories. If the mapping is not configured, the CMP detects GPC but does not act on it. Tags that depend on the CMP for consent gating fire normally.

The configuration looks different per CMP, but the logic is the same: if navigator.globalPrivacyControl === true, set the “Sale/Sharing” consent category to denied before any tags fire.

3. Tags Bypass the CMP

Even when the CMP correctly denies consent based on GPC, some tags fire outside CMP control. Hardcoded scripts in the page source, tags loaded before the CMP initialises, or tags with no consent trigger exception in GTM — all of these bypass the CMP and fire regardless of GPC state.

4. GPC Is Detected But Response Is Delayed

The GPC signal is available immediately on page load (navigator.globalPrivacyControl is synchronous). But some implementations check for GPC asynchronously, after tags have already fired. The check happens, consent is updated to denied, but the initial tags already executed with full tracking. The first page view is non-compliant.

How to Verify GPC Compliance

Manual verification:

  1. Install Firefox or Brave (both enable GPC by default)
  2. Open your website
  3. Open DevTools → Console and run: navigator.globalPrivacyControl (should return true)
  4. Open DevTools → Network tab
  5. Check for requests to advertising domains: facebook.com/tr, google.com/pagead, analytics.tiktok.com
  6. If these requests are present, your site is not honouring GPC

This manual check takes 5 minutes per page. For a 50-page site, that is 250 minutes (over 4 hours). And it needs to be repeated after every site change, CMP update, or GTM publish.

Continuous GPC Verification

Automated tag monitoring can verify GPC compliance on every session. The monitor detects the GPC signal, observes which tags fire, and flags any tag that fires in a mode incompatible with the opt-out request. This catches the four failure modes listed above — continuously, across all pages, without manual testing.

Key verification checks:

  • When GPC is present, are advertising/sharing tags blocked or operating in restricted mode?
  • When GPC is present, is the CMP correctly setting consent to denied for sale/sharing categories?
  • Are there any tags firing before GPC is checked?
  • Is the GPC response consistent across all pages and subdomains?

The cost of non-compliance is documented: $1.2 million for Sephora. The cost of continuous verification is a fraction of that. The question is not whether to verify — it is whether you prefer to verify proactively or wait for the Attorney General to verify for you.

Why Indian Businesses Should Care About GPC

Any Indian business serving US customers — SaaS selling to US enterprises, D2C brands shipping to US households, marketplaces serving Indian diaspora — falls within CCPA/CPRA scope the moment they meet the revenue thresholds (approximately $25M global revenue, 100,000+ California consumers, or 50%+ revenue from selling personal information). The California AG does not care that your HQ is in Mumbai. If your site serves California residents and ignores GPC, you are liable.

For an Indian SaaS doing $5M ARR from US customers with approximately 40,000 California users, the risk calculus is: probability of AG scrutiny in a 2026–2028 enforcement cycle is 4–8%, typical penalty conditional on enforcement is $500,000–$3M (₹4–25 crore), plus remediation costs of $150,000–$400,000 (₹1.3–3.3 crore). Risk-adjusted expected annual cost of GPC non-compliance: ₹45 lakh–₹2.5 crore. Cost of implementing and verifying GPC compliance: ₹6–12 lakh. The ROI is non-controversial.

Case Study: A Bengaluru-Based SaaS Company

A Bengaluru-based B2B SaaS platform serving approximately 2,200 US enterprise customers (including 800+ California-based users) had rolled out a GDPR-compliant CMP in 2023 for European expansion. They assumed — incorrectly — that GDPR compliance implied CCPA compliance. In Q3 2025, a customer’s in-house privacy counsel filed a complaint to the California AG’s office alleging the SaaS was sharing personal information to third parties (HubSpot, Intercom, Segment) despite the user’s GPC signal.

The AG’s non-compliance notice required a technical response within 30 days. The response required: packet captures of GPC-enabled sessions, documentation of every third-party data recipient, evidence that the CMP was mapping GPC to the “sale/sharing” opt-out, and proof that tags were actually honouring the signal. The SaaS’s CMP was not configured to recognise GPC at all. Over 90% of California sessions continued full tracking despite GPC being broadcast. The remediation included: reconfigure the CMP to detect GPC, map GPC to consent denial for sale/sharing categories, add consent gating to HubSpot and Intercom (previously firing outside CMP control), and retain continuous verification logs for 12 months. Total remediation cost: $180,000 (₹1.5 crore). The AG accepted the remediation and did not escalate to fines. Had this been the second enforcement action, the fine would have started at $2,500 per violation, with approximately 40,000 affected sessions, yielding a ceiling fine of $100 million.

Step-by-Step GPC Verification Playbook

  1. Open your site in Firefox or Brave (both enable GPC by default).
  2. Open DevTools → Console and run navigator.globalPrivacyControl. Should return true.
  3. Reload the page. In the Network tab, log every outbound request.
  4. Check the Request Headers for the Sec-GPC: 1 header on the main document request.
  5. Inspect every third-party domain contacted: facebook.com, google-analytics.com, hs-scripts.com, intercom.io, segment.com, etc. Each contact while GPC is active is a potential violation.
  6. In your CMP’s storage (typically localStorage or a CMP-specific cookie), verify that the consent state reflects a “sale/sharing” opt-out.
  7. Check your CMP’s admin UI for GPC mapping. If not configured, you are broadcasting GPC detection but not acting on it.
  8. Test on a subdomain. GPC is domain-level; the signal must be honoured on all domains of the property.
  9. Test on a mobile device with a GPC-supporting browser. Mobile users see different CMP UX and can expose different bugs.
  10. Retain the Network HAR file, consent-state screenshot, and CMP configuration as evidence.

Common Mistakes Teams Make

Assuming GDPR Compliance Covers CCPA

GDPR and CCPA have different legal bases (consent vs. opt-out), different scope (EU residents vs. California residents), and different signals (IAB TCF vs. GPC). A GDPR-compliant site can be CCPA non-compliant.

Detecting GPC But Not Mapping It to Consent Categories

Some CMPs detect GPC and log it but do not automatically map to consent denial. This is worse than not detecting at all — you have the signal but are not acting on it, which suggests deliberate non-compliance.

Non-CMP-Managed Tags Firing During GPC Sessions

Hardcoded scripts, tags loaded before the CMP initialises, or tags with no consent trigger exception all fire regardless of GPC state. Every third-party script must be CMP-managed.

Treating GPC as Optional Because It’s Not a Statutory Term

The California AG has clarified that GPC is a valid opt-out signal under CCPA. Ignoring it because the law does not explicitly name GPC is a failed argument. Act on the signal.

Not Retaining Compliance Evidence

When the AG investigates, you have 30 days to respond with evidence. Evidence must include packet captures, CMP configuration history, and session logs. Without retention, you cannot prove compliance even if you are technically compliant.

Decision Framework: GPC Response Intensity

Business ProfileGPC PriorityAction Horizon
Serves US consumer market, data-sharing for adsCriticalImplement within 30 days
B2B SaaS with US customersHighImplement within 60 days
US traffic under 5%, no data saleMediumImplement within 180 days
No US trafficLowMonitor for changing regulations

Implementation Checklist

  • Verify your CMP supports GPC detection
  • Configure GPC mapping to “sale/sharing” category opt-out
  • Audit every third-party tag for CMP management
  • Remove hardcoded third-party scripts; move to CMP-managed
  • Test GPC compliance on Firefox and Brave monthly
  • Retain GPC compliance evidence for 12 months
  • Update privacy notice to disclose GPC honouring
  • Train support/legal team to recognize GPC-related complaints
  • Set up alerting for tags firing during GPC sessions
  • Include GPC verification in quarterly compliance reviews

FAQ for Privacy Counsel

Is GPC mandatory under the CPRA?

The CPRA regulations (effective 2023) require businesses to treat user-enabled opt-out preference signals as valid opt-outs. GPC is the only widely-deployed such signal as of 2026, so in practice GPC honouring is effectively mandatory.

Does our privacy notice need to mention GPC?

Yes. The California AG expects privacy notices to disclose that the business honours GPC and to describe what happens when GPC is detected.

What about other states passing similar laws?

Colorado, Connecticut, and Virginia have GPC-like provisions in their respective state privacy laws. Most GPC-compliant implementations satisfy these states as well. Watch Texas and Washington; they are likely to pass similar laws in 2026–2027.

If we detect GPC and opt the user out, can we still fire analytics tags in cookieless mode?

Cookieless analytics is permitted if it does not involve “selling” or “sharing” personal information with third parties. Google’s Consent Mode v2 cookieless pings typically qualify. Meta Pixel and most ad-tech cookieless modes are grey-area — consult counsel.

Technical Architecture for Compliant GPC Handling

The implementation layer that most commonly breaks is the CMP-to-tag-manager integration. The CMP detects GPC correctly, sets the opt-out state, but the tag manager either reads a stale cookie value or fires tags before the CMP has updated the state. The fix is architectural: tags that require consent must be gated on a dataLayer event that the CMP publishes after state resolution, not on page load timing or cookie presence.

The second common architectural failure is the interaction between GPC and Google Consent Mode v2. GPC opt-out should map to ad_user_data: denied and ad_personalization: denied, but not necessarily to ad_storage: denied — cookieless analytics may still be permitted. The exact mapping depends on legal interpretation of “sale” and “sharing” under CPRA. Consult counsel and document the decision; regulators may audit the rationale, not just the implementation.

The third architectural issue is server-side GTM interaction with GPC. When tags move to server-side, the GPC signal must be propagated from the browser to the server container (typically via a request header or query parameter). Without this propagation, server-side tags fire regardless of GPC state and the user’s opt-out preference is silently ignored. Validate this end-to-end for every server-side tag on every page load.

Monitoring and Evidence Generation

Regulators increasingly ask for evidence, not just policy. “We honour GPC” is a policy statement; regulators want logs showing that on specific dates, for specific sessions, GPC was detected and opt-out was enforced on specific tags. Maintain a log of: session timestamp, GPC signal state, tags that fired, tags that were suppressed by the GPC handling logic, and the consent decision rationale. Retain this for 12-24 months for audit response.

Automated evidence generation is what separates a compliant implementation from a claimed compliant implementation. Manual evidence collection does not scale and breaks during staff transitions. TagDrishti’s GPC verification feature generates this log continuously and produces audit-ready exports on demand. For businesses with US exposure, this evidence layer is the difference between a 2-day regulator response and a 6-week incident.

Bottom Line

GPC is not an edge case. Approximately 50 million US users broadcast it daily, and the number is growing 40% year-over-year. The California AG has demonstrated willingness to enforce. Indian businesses serving US customers who treat GPC as “not our problem” are accumulating compliance debt that will surface when enforcement intensifies. Implementation is straightforward; the consequence of not implementing is not.

TagDrishti monitors this automatically

Across every tag, every page, 24/7. Set it up in 5 minutes. No GTM dependency. No developer required.

Start 14-day free trial →
All articles
14-day trial · no credit card · pricing from $49/mo

Catch your tag failures before your client does.

Drop the script in your <head>, watch every tag, vendor, and consent state on every session in real time. 14-day free trial. No credit card. Direct line to the team building the product.

14 days, no credit card$49 to starthuman reply within a day