CookieDetox
Sanctions & Amendes 2026-09-19

The Mandatory 'Reject All' Button on First Layer

CD

Par Cellule Investigation CookieDetox

Expertise Juridique & Conformité

🔗
T

Key Takeaways

Under CNIL Deliberation 2020-092 and EDPB Binding Decision guidelines, European data protection authorities strictly mandate an equivalent 'Reject All' button on the first layer of any cookie banner. Refusing consent must be as simple as granting it (single click, identical visual weight). Hiding refusal behind a secondary 'Settings' link violates GDPR Article 4(11) and Article 7(3).

Technical Brief : The Mandatory 'Reject All' But

Across the European Union, supervisory authorities led by France's CNIL, the Irish DPC, and the EDPB have established unambiguous jurisprudence: refusing tracking cookies must be as simple as accepting them. Under CNIL Deliberation 2020-092 and GDPR Article 7(3), any user interface that requires more clicks, greater visual effort, or deeper cognitive friction to refuse trackers than to accept them constitutes an unlawful dark pattern.

Historically, digital publishers and e-commerce operators relegated rejection mechanisms to secondary configuration modals labeled 'Settings', 'Manage Preferences', or 'Paramétrer'. This architectural asymmetry was designed to engineer artificial opt-in rates exceeding 85%. However, between 2021 and 2026, European regulators levied over €400,000,000 in cumulative fines against Google, Meta, Amazon, Microsoft, and dozens of French publishers specifically for missing or asymmetric first-layer refusal mechanisms.

The legal baseline is non-negotiable: if your Consent Management Platform (CMP) features an 'Accept All' (Tout Accepter) button on the initial banner, it must present a visually equivalent 'Reject All' (Tout Refuser) button on the exact same layer with identical click ergonomics.

Technical Deep Dive : The Mandatory 'Reject All' But

Enforcing compliance requires both structural DOM symmetry and strict script execution control. CMPs cannot default to loading non-essential trackers prior to an explicit, affirmative signal under GDPR Article 4(11) and ePrivacy Directive ↗ Article 5(3).

1. Non-Compliant Asymmetric Architecture

The following pattern represents an unlawful banner configuration where the refusal is hidden as a secondary text link or tucked inside a separate view:

<!-- NON-COMPLIANT: Asymmetric Actions & Dark Pattern -->
<div class="cookie-banner" id="cmp-v1">
  <p>We use cookies to analyze traffic and serve personalized ads.</p>
  <div class="cmp-actions">
    <button class="btn-primary-prominent" id="btn-accept">Accept All</button>
    <a href="#" class="link-subtle-gray" id="btn-settings">Customize Choices</a>
  </div>
</div>

2. Compliant First-Layer DOM with Google Consent Mode v2 Integration

To establish compliance, your first layer must provide side-by-side, visually balanced buttons. Below is the production-grade implementation that initializes Google Consent Mode v2 to denied by default, listens for user input, and releases scripts strictly upon positive consent:

<!-- COMPLIANT: Full Visual and Ergonomic Symmetry -->
<script>
  // Step 1: Default all tracking signals to denied (GDPR Art. 25 Privacy by Default)
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('consent', 'default', {
    'ad_storage': 'denied',
    'analytics_storage': 'denied',
    'ad_user_data': 'denied',
    'ad_personalization': 'denied',
    'wait_for_update': 500
  });
</script>

<div class="cookie-banner-compliant" id="cookie-banner" role="dialog" aria-modal="true">
  <div class="cmp-content">
    <h3>Cookie & Tracking Preferences</h3>
    <p>We use cookies to enhance navigation, analyze site performance, and support marketing. You can accept all, reject all non-essential cookies, or configure settings.</p>
  </div>
  <div class="cmp-button-group">
    <button type="button" class="cmp-btn cmp-btn-refuse" id="cmp-refuse-all">Reject All</button>
    <button type="button" class="cmp-btn cmp-btn-settings" id="cmp-manage">Customize</button>
    <button type="button" class="cmp-btn cmp-btn-accept" id="cmp-accept-all">Accept All</button>
  </div>
</div>

<script>
  document.getElementById('cmp-accept-all').addEventListener('click', function() {
    gtag('consent', 'update', {
      'ad_storage': 'granted',
      'analytics_storage': 'granted',
      'ad_user_data': 'granted',
      'ad_personalization': 'granted'
    });
    localStorage.setItem('cookie_consent', JSON.stringify({ analytics: true, marketing: true, timestamp: Date.now() }));
    document.getElementById('cookie-banner').style.display = 'none';
  });

  document.getElementById('cmp-refuse-all').addEventListener('click', function() {
    gtag('consent', 'update', {
      'ad_storage': 'denied',
      'analytics_storage': 'denied',
      'ad_user_data': 'denied',
      'ad_personalization': 'denied'
    });
    localStorage.setItem('cookie_consent', JSON.stringify({ analytics: false, marketing: false, timestamp: Date.now() }));
    document.getElementById('cookie-banner').style.display = 'none';
  });
</script>

Regulatory Risk Matrix : The Mandatory 'Reject All' Butto

Failure to provide an equivalent refusal option violates key European statutory instruments, including GDPR Article 83(5), which exposes organizations to administrative fines up to €20,000,000 or 4% of global annual turnover.

The table below summarizes the technical specifications required by regulators versus non-compliant practices identified in recent landmark enforcement actions:

Scroll horizontally ↔
Regulatory DimensionCompliant ImplementationProhibited Practice (Dark Pattern)Legal Basis / Precedent
Layer Placement'Reject All' button on the first layer adjacent to 'Accept All'.Refusal only accessible by clicking 'Settings' / 'Paramétrer'.CNIL Deliberation 2020-092, Google LLC (Sanction MED-2021-002)
Click ErgonomicsExactly 1 click to reject all non-essential cookies.2 or more clicks required to opt out, while accepting takes 1 click.EDPB Cookie Banner Taskforce Report (2023)
Visual Hierarchy & ContrastIdentical button size, font size, padding, and compliant contrast (WCAG AA).Refuse option shown as muted link, transparent button, or faded text.CJEU C-673/17 (Planet49), CNIL Sanction SAN-2021-023
Deceptive WordingUnambiguous copy: 'Reject All', 'Refuse All', 'Tout Refuser'.Deceptive phrasing: 'Continue without accepting' hidden in header cross/icon.CNIL Guidelines on Consent Mechanics (Art. 4(11))
Pre-Consent Execution0 non-essential tags fired before consent signal update.Analytics/CAPI pixels injected on DOM load before user interaction.ePrivacy Directive Art. 5(3), Fashion ID (C-40/17)

Implementation Protocol : The Mandatory 'Reject All' Butto

Privacy engineers and DPOs should execute the following forensic verification workflow using standard browser Developer Tools to audit compliance prior to deployment.

Step 1: Automated Network Inspection

  1. Open an Incognito/Private window in Google Chrome or Chromium.
  2. Open DevTools (F12) and navigate to the Network tab.
  3. Filter by collect, facebook.com/tr, tiktok.com, or doubleclick.net.
  4. Load the target URL. Verify that 0 tracking beacons execute while the cookie banner is displayed.

Step 2: Simulating First-Layer Refusal

  1. Click the 'Reject All' (or 'Tout Refuser') button on the first layer.
  2. Inspect the Network tab again. Ensure no new outbound POST or GET requests are dispatched to tracking endpoints.
  3. In DevTools, open Application > Storage > Cookies. Confirm that non-essential identifiers (such as _ga, _fbp, _gcl_au) have not been written.

Step 3: Verification via cURL and Headless Scripting

Verify that your edge servers do not write tracking cookies via Set-Cookie headers before user consent is registered:

# Forensic check for illegal Set-Cookie headers in initial server response
curl -I -A "Mozilla/5.0 (Windows NT 10.0; Win64; x64)" https://www.yourdomain.com | grep -i "Set-Cookie"

Any non-essential identifier (e.g., ad tracking IDs, cross-site profiles) present in the initial response header represents an immediate violation of ePrivacy Article 5(3).

Strategic Verdict : The Mandatory 'Reject All' Butto

The belief that adding a first-layer 'Reject All' button permanently damages marketing attribution is flawed. While raw opt-in rates typically settle between 60% and 75% when symmetry is introduced, the captured consent is legally resilient, eliminating exposure to multi-million euro fines and brand reputation loss.

To maintain attribution precision while ensuring absolute compliance:

  • Deploy Google Consent Mode v2 in Advanced Mode: This allowscookieless pings for machine-learning-based conversion modeling without setting client-side identifiers for non-consenting visitors.
  • Implement Server-Side Tagging (sGTM): Route data through your first-party domain, strip tracking parameters for users who rejected consent, and process pure aggregate telemetry.
  • Adopt Transparent Copywriting: Clearly state why data is collected. Brands utilizing straightforward, non-coercive explanations see higher voluntary opt-in rates than those attempting dark patterns.

Adhering to CNIL 2020-092 and the EDPB enforcement framework is no longer optional. Structural symmetry on the first layer of your CMP is the mandatory baseline for digital operations in the EU.

§

Official Legal Sources & Authoritative Decisions

Primary statutory texts, official DPA rulings, and European court judgments referenced in this analysis.

  • Curia / CJUE CJEU Fashion ID Judgment (Case C-40/17): Joint liability for social plugins and third-party trackers
    View primary text
  • Curia / CJUE CJEU Planet49 Judgment (Case C-673/17): Strict ban on pre-ticked consent checkboxes
    View primary text
  • EUR-Lex Article 83 GDPR — General conditions for imposing administrative fines (statutory ceiling up to €20M or 4% turnover)
    View primary text
  • EUR-Lex Directive 2002/58/EC (ePrivacy Directive on Privacy and Electronic Communications)
    View primary text
  • Légifrance / CNIL CNIL Deliberation 2020-091 on Cookie Guidelines & Consent Interfaces
    View primary text
Updated 2026-09-19
Share this article:

FAQ : The Mandatory 'Reject All' Button on First La

Is a 'Reject All' button mandatory on the first layer of a cookie banner?

Yes. Under CNIL Deliberation 2020-092 and EDPB guidelines, refusing cookies must be as easy as accepting them. If an 'Accept All' button exists on the first layer, an equivalent 'Reject All' button must also be present on that same layer.

Can I hide the refusal option inside a 'Settings' or 'Customize' modal?

No. Regulators consider requiring users to open a settings menu to refuse cookies—while allowing single-click acceptance—a dark pattern that violates GDPR Article 4(11) and Article 7(3). Both actions must require the same number of clicks.

What visual styling rules apply to the 'Reject All' button?

The 'Reject All' button must have equivalent visual prominence to the 'Accept All' button. It cannot be styled as a faint text link, rendered in low-contrast colors, or reduced in font and button size compared to the acceptance option.

What fines have DPAs issued for missing first-layer refuse buttons?

European DPAs have issued over €400 million in fines for asymmetric cookie consent banners, including penalties of €150M against Google, €60M against Meta, €35M against Amazon, and fines against numerous European publishers.