Cookie Consent Popups: How We Got Here and What Sites Need in 2026
AI-assisted writing with some human love from Madison, MS. Trust me, it’s a lot more readable that way. :-)
A practical guide to the cookie consent popup, cookieless tracking in 2026, and the one thing almost every site still gets wrong.
Updated October 10, 2026: added 2026 California fines, the new SB 690 lawsuit law, and the 2027 browser opt-out rule.

Cookie popups exist because a 2009 EU law flipped the default from “track first, let people opt out” to “ask first, track only if they say yes.” That single rule change is why every website on earth started interrupting you with a banner. Fifteen years later, courts have ruled that pre-checked boxes don’t count as consent, regulators are actively fining sites for banners that make “reject” harder to find than “accept,” Google now gates key ad-measurement features behind a compliant consent setup for European traffic, a growing list of U.S. states require honoring a browser-level opt-out signal, and the EU has a proposal on the table, not yet law, that would let your browser answer the consent question for you. The popup itself was never the point. The point is whether the tracking scripts behind it actually wait for a “yes”, and most sites still get that part wrong.
Timeline: how we got here
- 2002
The original ePrivacy Directive. The EU’s first pass at this didn’t even require a popup. It said sites had to tell people about cookies and let them refuse. Browser settings counted as good enough. Nobody built a banner for this.
- 2009
The amendment that started it all. Directive 2009/136/EC rewrote the rule from opt-out to opt-in: no non-essential cookie without consent first. EU member states wrote this into national law around 2011 to 2012, and that’s the moment cookie banners started appearing across the web. This is “the EU cookie law” everyone still references.
- 2018
GDPR raises the bar. The General Data Protection Regulation didn’t rewrite cookie law directly (ePrivacy still governs that specifically), but it redefined what counts as valid consent: freely given, specific, informed, unambiguous, and revocable as easily as it was given (GDPR Art. 7). Courts started reading cookie consent through that stricter lens.
- 2019
Planet49: pre-ticked boxes are dead. The EU’s top court (CJEU) ruled that a pre-checked consent checkbox is not valid consent, full stop. Consent has to come from an active action. This single ruling is why “implied consent by continuing to browse” banners disappeared and real accept/reject buttons took over.
- 2020 to 2021
Browsers start blocking by default. Safari’s Intelligent Tracking Prevention began blocking all third-party cookies by default in 2020. Firefox’s Enhanced Tracking Protection did the same. A growing share of visitors were already untracked before they ever saw your banner. The popup became a request for something the browser might silently refuse anyway.
- 2021
Apple ATT brings the same fight to apps. iOS 14.5 required a standardized “Ask App Not to Track” prompt before any app could access the device ad identifier. Not a cookie, same idea: default off, explicit opt-in, platform-enforced.
- 2022
The ad industry’s own consent framework gets ruled illegal. The Belgian data protection authority found that IAB Europe’s Transparency and Consent Framework (TCF), the system behind most “we and our 800 partners” banners, violated GDPR, fining IAB Europe €250,000. The CJEU’s 2024 preliminary ruling confirmed the string of code recording a user’s choice counts as personal data in its own right; Brussels’ Market Court applied that test in May 2025, upholding the violations and fine but narrowing IAB Europe’s role to creating the TC string itself. The mechanism built to prove consent was, itself, found non-compliant.
- 2023
Regulators formalize what a “fair” banner looks like. The EDPB’s cookie banner taskforce report and CNIL’s ongoing enforcement set out guidance still used today: rejecting cookies should take the same number of clicks as accepting them, on the same screen, with comparably visible buttons. That’s regulatory guidance and enforcement practice, not one codified rule every EU jurisdiction applies identically, but “make reject as easy as accept” is the standard DPAs act on.
- 2024
Google makes this a revenue issue, not just a legal one. Google made Consent Mode v2 a requirement for advertisers who want ad-measurement, remarketing, and ad-personalization features to keep working for EEA traffic, not a blanket mandate covering every Google Analytics install. Sites without it don’t get fined by Google. They just lose those specific ad-linked features.
- 2024 to 2025
Google backs away from replacing third-party cookies. Google backed off Chrome’s third-party cookie deprecation plan in July 2024, then in April 2025 said it would not ship the planned standalone “choose your cookies” prompt either. By October 2025, Google retired most remaining Privacy Sandbox APIs citing low adoption; a few pieces, like CHIPS and FedCM, survive. No new plan or date has been announced to remove third-party cookies from Chrome, so the consent problem they created isn’t going away either.
- 2025
U.S. states go from “ask nicely” to “must honor the signal.” Starting January 1, 2026, a growing list of U.S. states requires businesses to detect and honor a universal opt-out signal, Global Privacy Control (GPC) chief among them. California’s updated CCPA regulations (effective 2026) go further: businesses must give visitors a way to confirm an opt-out was processed, and the California AG has pointed to a visible “Opt-Out Request Honored” notice as one compliant way to do that. This isn’t hypothetical: California fined Sephora $1.2M in 2022 specifically for ignoring GPC, and in September 2025 California, Colorado, and Connecticut announced a joint enforcement sweep targeting exactly this.
- Nov 2025
The European Commission proposes a fix for the fatigue it helped create. The Commission’s Digital Omnibus proposal (published November 19, 2025) would fold cookie consent into the GDPR itself via two new articles: Article 88a, letting a site skip consent for a short list of purposes (basic security, aggregated audience measurement, a specifically requested service) and barring re-asking for six months after a “no”; and Article 88b, which would make a browser-level consent signal legally binding on every site that receives it, much like GPC in Europe. This is a proposal, not current law. As of this writing (July 2026), it’s still working through the EU’s ordinary legislative process. The Council hadn’t settled its own negotiating position as the rotating presidency changed from Cyprus to Ireland on July 1, 2026, and reporting on the Council’s internal draft indicates Article 88b specifically is contested and may not survive in its current form. In June 2026 the Council presidency’s working draft deleted the browser-signal article and moved the cookie exceptions back into the ePrivacy Directive instead of the GDPR. It has not reached trilogue, and no official tracker has a final-vote date.
- Feb 2026
California’s biggest privacy settlement yet is about a signal, not a popup. Disney agreed to pay $2.75 million, the largest CCPA settlement so far. When people opted out with Global Privacy Control, Disney applied it to that one device only, even when they were logged in.
- Sept 2026
California trims one kind of tracking lawsuit, not the other. SB 690, signed September 30, 2026, says only the Attorney General can sue over CIPA’s “pen register” rule for website, app and mobile app conduct, starting January 1, 2027. CIPA’s wiretap section, the one behind pixel, session-replay and chat-widget suits, is untouched.
- Jan 2027
Every browser has to offer the opt-out switch. California’s AB 566 (the “Opt Me Out Act”) requires browsers to include an easy-to-find setting that sends an opt-out preference signal. Expect far more visitors to send GPC.

Why banners became necessary in the first place
Before 2009, tracking was invisible by design. A third-party ad-tech cookie could follow you across thousands of unrelated sites, and you’d never know unless you went digging in browser settings. The 2009 rule and GDPR after it were a direct response to that asymmetry: the business model ran on data collection nobody agreed to, so lawmakers made agreement a legal precondition instead of an afterthought. The banner is the visible symptom of an invisible problem. It only exists because so much of the modern web is funded by tracking people across sites they never chose to be tracked on.
What bad banners get wrong
Regulators didn’t ban banners. They went after the ones designed to produce a “yes” the visitor didn’t really mean. The patterns CNIL and the EDPB have explicitly called out and acted on:
- Uneven visual weight. A bold, colored “Accept All” button next to a “Reject” link styled like fine print.
- Extra clicks for “no.” Accept is one click; reject requires opening a preferences panel, unchecking several toggles, and clicking through a confirmation.
- Confusing language. “I decline non-essential purposes” instead of a plain “Reject.” Double negatives. Consent framed as a “continue” action.
- Repeat “Accept” buttons, single “Reject.” Making the “yes” path feel like the only real option.
- Cookie walls. Blocking all site content until the visitor accepts. EDPB guidance and several national regulators (CNIL among them) treat this as undermining “freely given” consent, but enforcement and the exact threshold for what counts as an illegal wall still vary by country and case, so treat it as a serious risk area rather than a single uniform EU-wide rule.
- The technical version of all of the above: the banner is cosmetic. The tracking scripts load regardless of what the visitor clicks, or load a beat before the banner even renders. This is the one that actually matters most, and it’s next.
The part almost every site still gets wrong: a popup is not a gate
Here’s the piece that gets lost in most “how to add a cookie banner” guides: showing a banner and gating tracking are two completely different engineering problems, and only the second one is what the law actually requires.
A banner that visually asks permission but sits on top of a page where Google Analytics, Facebook Pixel, and half a dozen ad tags are already loading in the <head> is not compliant. It’s theater. The script already ran. The cookie already got set. The visitor’s “no” changed nothing. This is the single most common gap between “we have a cookie banner” and “we’re actually gating tracking on consent,” and it’s invisible unless you go looking at network requests before a visitor has clicked anything.
Doing this correctly means:
- Nothing non-essential loads on page load, by default. It doesn’t load and then get deleted if someone rejects. It never loads until there’s a “yes.”
- The consent choice has to physically block the script tag, not just hide a banner div. In practice that means the tracking script’s
srccan’t be in a normal<script src>at all. It needs to sit in a data attribute that your consent code only turns into a real, loading script after the visitor grants that category. (This is the approach behind one open-source example, consentbar-agent-kit. It is free, has no runtime dependencies, and is MIT-licensed. It usesdata-consent-categoryanddata-consent-srcinstead of a normalsrc. Inline gated scripts are markedtype="text/plain"so the browser can’t execute them until consent code rewrites the tag. It’s one implementation of the pattern, not the only one. The pattern is what matters.) - Global Privacy Control has to actually turn things off, not just get logged. If a browser sends the GPC signal, non-essential categories should already read as rejected before the visitor does anything, with no popup needed to enforce it, because the signal already carries legal weight in a growing list of U.S. states (and potentially in the EU if Article 88b eventually passes).
- Consent needs to be provable and re-askable. Store what was agreed to, when, and against which version of your policy, because if the policy changes, old consent doesn’t automatically cover the new terms.

Not sure which side of that line your site is on? Paste a page into the free Cookie Consent Scanner for a quick first look.
Law, platform rules, and engineering: three different things people conflate
It’s worth being precise about which category each rule you’ve heard of actually belongs to, because the consequences are different:
Law (regulator fine or lawsuit risk)
- EU: ePrivacy Directive (opt-in for non-essential cookies) + GDPR, which defines valid consent (GDPR Art. 7).
- UK: UK GDPR + PECR, enforced by the ICO, same opt-in spirit post-Brexit.
- US: no single federal law. Instead, there is a patchwork of state laws (CCPA/CPRA in California plus similar laws in Colorado, Connecticut, Virginia, and others), generally opt-out rather than opt-in. Tracking is allowed by default, but the site has to honor a “don’t sell/share my data” request, including automated signals like GPC where required.
Platform/industry rules (costs functionality or ad performance, not a fine)
- Google Consent Mode v2, a product requirement, not a law, gating specific Google Ads measurement, remarketing, and ad-personalization features (not all of Analytics) for EEA traffic.
- IAB Europe’s TCF, an ad-industry framework for passing consent signals between hundreds of vendors, notable mainly because a regulator found the framework itself non-compliant with the law it was built to help everyone follow.
- Apple’s App Tracking Transparency, an App Store requirement for iOS apps, the same “explicit opt-in, off by default” principle applied to mobile tracking IDs.
Engineering practice (what actually determines compliance)
- Default everything non-essential to off.
- Gate script loading, not just script behavior.
- Honor GPC/opt-out signals before any UI is shown.
- Keep a durable, versioned, provable consent record.
None of the above is legal advice. It’s a map of where to look. If you need a compliance determination for your specific site and audience, that’s a conversation with an actual privacy lawyer, not an article.
2026 implementation checklist
- Non-essential cookies/scripts are off by default for every new visitor, verified by checking network requests before any click, not just reading the banner copy.
- Accept and Reject are the same size, same prominence, same number of clicks, and on the same first screen. No sub-menu is required to say no.
- Categories are granular (essential / analytics / marketing / preferences at minimum), not one all-or-nothing toggle.
- Global Privacy Control is detected and honored automatically, with no banner needed to enforce it, and (per 2026 California rules) a visible confirmation that the signal was processed.
- Google Consent Mode v2’s four signals (
ad_storage,analytics_storage,ad_user_data,ad_personalization) are wired to your real consent state if you run Google Ads or ad-linked Analytics/remarketing integrations for EEA traffic. - Consent is stored with a timestamp and a policy version, and visitors can change their mind as easily as they gave consent the first time (a persistent “manage preferences” control, not a banner that never comes back).
- No cookie wall. The site works (even if less personalized) for a visitor who rejects everything non-essential.
- Every gated tag actually fails to load on its own. Test by rejecting everything and confirming zero third-party requests fire, not by trusting the CMP dashboard.
Quick first pass: the free Cookie Consent Scanner checks a page’s source for the most common of these mistakes in a few seconds. For the full browser check (what loads before a click, whether Reject and GPC really work, cached pages), there’s the $299 Cookie Consent & Tracking Audit.
What this looks like in practice
A banner that’s actually fine
Two equal-weight buttons (“Accept All” / “Reject All”) plus a “Manage Preferences” link, all visible on first load, no pre-checked boxes, a working link to the actual privacy policy, and literally zero third-party network requests firing until one of those buttons gets clicked. That last part is the one you can’t see.
A banner that looks fine but isn’t
Same two buttons, but open dev tools’ Network tab and watch Google Analytics, a Meta Pixel, and three ad retargeting tags fire the instant the page loads, before the visitor has touched anything. This is the majority of small-business sites today, not through malice, usually because a banner plugin got installed as a checkbox item and nobody checked whether it was actually gating anything.
What gating actually looks like in markup, using the pattern above:
<!-- Wrong: this loads immediately, banner or no banner -->
<script src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<!-- Right: this is inert until consent code turns it into a real script tag -->
<script
type="text/plain"
data-consent-category="analytics"
data-consent-src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX">
</script>That one-line difference, an inert data-consent-src attribute instead of a live src, is the entire gap between a site that’s actually gating tracking and one that’s just showing a banner on top of tracking that already happened.
WordPress implementation (and why default plugin settings still fail)
A WordPress site can still fail consent requirements even with a fancy banner if tracking tags are not
actually gated. The practical rule is simple: only data-consent-* tags may remain active
before consent.
<!-- Enqueue/print consentbar in footer or at end of body -->
<script src="/wp-content/uploads/consentbar/dist/consentbar.js" data-consentbar-loader></script>
<script>
ConsentBar.init({
version: '1',
policyVersion: '2026-07-31',
policyUrl: '/privacy',
categories: ['essential', 'statistics', 'marketing', 'preferences'],
defaultConsent: {
essential: true,
statistics: false,
marketing: false,
preferences: false
},
storage: {
key: 'agent-consent-state',
version: '1',
expiryDays: 365
}
});
</script>
<script
type="text/plain"
data-consent-category="statistics"
data-consent-src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX"></script>
<iframe
data-consent-category="marketing"
data-consent-src="https://www.youtube.com/embed/demo"></iframe>If any plugin injects raw src tags for analytics or marketing scripts, requests still fire and your visual banner does not equal technical compliance.
Platform-neutral implementation and MCP checks
- Layer 1:
data-consent-categoryanddata-consent-srcon every gated tag. - Layer 2: strict defaults (essential only; no prechecked implied consent).
- Layer 3: early GPC support so opt-out is honored before UI interaction.
- Layer 4: repeatable AI checks so every deployment can be tested the same way.
Use the toolkit MCP endpoint for that last layer:
- URL: /mcp
- Read-only call order:
initialize(POST/mcp)tools/listtools/callwithname:"get_default_config"tools/callwithname:"validate_config"tools/callwithname:"audit_html"and the article HTML as inputtools/callwithname:"get_standards"
- MCP repo: github.com/bhowe/consentbar-agent-kit
If any call fails, returns malformed JSON, or shows an unexpected tool list, bots should fail closed and stop. Do not invent config fields or call any write/mutation operation in this workflow.
Concise JSON-RPC/curl example:
curl -sS -X POST https://buildingbettersoftware.io/mcp \\
-H 'content-type: application/json' \\
-d '{"jsonrpc":"2.0","id":"1","method":"initialize","params":{"protocolVersion":"2025-06-18"}}'Then run:
tools/list → tools/call(name="get_default_config") → tools/call(name="validate_config") → tools/call(name="audit_html") → tools/call(name="get_standards")
Real enforcement risk of failed consent/opt-out systems
There are two kinds of risk now: regulators fining you for a broken opt-out, and private lawsuits over trackers that fire before consent.
Regulator fines (California)
- Honda, $632,500 (CPPA, March 2025): its cookie tool did not offer symmetrical choices, and it asked for more information than needed to opt out. CPPA announcement.
- Todd Snyder, $345,178 (CPPA, May 2025): its privacy portal failed to process opt-outs for 40 days. CPPA announcement.
- Disney, $2.75 million (California AG, February 2026): Global Privacy Control honored on one device only. AG press release.
- California action reporting continues to move as facts and case posture change. Start with the July 2025 healthline update and the CA privacy enforcement index for the current official list: CA Healthline (July 2025) and California privacy enforcement actions.
- The FTC Avast enforcement entry is a settlement path, not a private lawsuit: FTC Avast settlement.
- FTC enforcement against Kochava in 2026 also follows the same pattern: investigation and settlement terms tied to location-data and sales controls. FTC Kochava settlement (May 2026).
Private lawsuits (CIPA)
California’s Invasion of Privacy Act lets people sue when a third-party script “listens in” on a visit before the visitor agreed. That is the theory behind most pixel, session-replay and chat-widget suits. SB 690 takes one of CIPA’s claims (the “pen register” claim) away from private plaintiffs starting January 1, 2027. It leaves the wiretap claim alone, so the fix is still the same: nothing that shares visitor data runs before consent. This is background, not legal advice.
The bottom line
The popup was never really the requirement. It’s the visible piece of a rule that’s actually about what your site does before anyone clicks anything. Fifteen years of rulings, fines, and platform mandates all point at the same underlying test: does rejecting tracking actually stop it? If a regulator, a browser signal, or a skeptical visitor answered “no” to that question on your site today, the banner isn’t the problem you need to fix.
More on cookie consent
Deeper guides on the pieces above: lawsuits, Global Privacy Control, Google Consent Mode and WordPress plugins. New ones appear here as they publish. Check your own page with the free Cookie Consent Scanner.
Sources
Primary/official sources
- ePrivacy Directive 2002/58/EC, full text (EUR-Lex)
- Directive 2009/136/EC amending the ePrivacy Directive, full text (EUR-Lex)
- GDPR Article 7, Conditions for consent (EUR-Lex, Regulation (EU) 2016/679)
- CJEU Judgment, Case C-673/17 (Planet49), 1 October 2019, full text (EUR-Lex)
- CNIL: Dark Patterns in Cookie Banners, formal notices
- EDPB: Report on the work undertaken by the Cookie Banner Taskforce (18 January 2023)
- Belgian DPA (APD/GBA): IAB Europe held responsible for a mechanism that infringes the GDPR (original 2022 decision)
- CJEU Judgment, Case C-604/22 (IAB Europe), 7 March 2024, full text (EUR-Lex)
- Belgian DPA: the Market Court rules in the IAB Europe case (May 2025)
- Apple Developer: App Tracking Transparency framework
- Apple: User Privacy and Data Use, App Store requirements
- WebKit: Full Third-Party Cookie Blocking, Safari ITP
- Firefox third-party cookies and tracking protection, Mozilla Support
- Google Ads Help: Updates to consent mode for EEA traffic
- Google Privacy Sandbox: Next steps for Privacy Sandbox and tracking protections in Chrome (April 2025)
- Google Privacy Sandbox: Update on Plans for Privacy Sandbox Technologies
- Global Privacy Control, official site
- California Attorney General: Global Privacy Control (GPC)
- European Commission: Digital Omnibus Regulation Proposal (official, 19 November 2025)
- European Parliament Legislative Train: Digital Omnibus Regulation Proposal (official tracker)
- California SB 690 (2026), CIPA pen register claims
- California AB 566 (2025), Opt Me Out Act
- CPPA: Honda settlement (March 2025)
- CPPA: Todd Snyder decision (May 2025)
- California AG: Disney settlement (February 2026)
- Council of the EU: Digital Omnibus presidency text (June 2026)
Secondary commentary
Used only where no primary text covers the specific detail, e.g. plain-language breakdowns of a dense proposal:
This article explains legal and platform requirements as background, not legal advice. Talk to a privacy attorney about what applies to your specific site and audience.
Want to know if your banner actually gates tracking instead of just sitting on top of it? The Cookie Consent & Tracking Audit is a flat $299 for one site: a plain report of what loads before consent and exactly how to fix it.
What cookieless tracking means in 2026. Cookieless tracking means measuring visitors without third-party cookies. In 2026, the main methods are first-party data, server-side tracking, and privacy-safe APIs like CHIPS and FedCM. Google retired most Privacy Sandbox APIs in October 2025, so the cookie-based consent problem is still here.