CookieDetox Legal-Tech Observatory
Sanctions & Amendes 2026-09-19

Does Scrolling Constitute Valid Consent? Why Continued Browsing Triggers Severe DPA Fines

CD

Par Cellule Investigation CookieDetox

Expertise Juridique & Conformité

🔗
T

L'essentiel à retenir (En bref)

No. Under GDPR Article 4(11) and CNIL Deliberation No. 2020-091, scrolling, swiping, or continuing navigation does not constitute valid consent. Consent requires a freely given, specific, informed, and unambiguous clear affirmative action. Treating page scroll as an implicit opt-in violates ePrivacy Article 5(3), exposing publishers to fines under GDPR Article 83 up to €20M or 4% of global annual turnover.

Executive Technical Brief: The Illegality of Soft Opt-In via Continued Browsing

Between 2013 and 2019, European websites relied heavily on "soft opt-in" mechanisms. Cookie banners frequently displayed notices such as: "By continuing to browse this website, you accept the use of cookies." In this legacy architecture, JavaScript event listeners attached to the window.scroll, touchmove, or click events intercepted user movement and immediately unblocked advertising trackers.

This mechanism is illegal across the European Union. The European Data Protection Board (EDPB) Guidelines 05/2020 on consent and the French Conseil d'État ruling of June 19, 2020 (confirming CNIL Deliberations No. 2020-091 and 2020-092) established that scroll-based consent violates fundamental GDPR requirements. Scrolling cannot distinguish between intentional agreement and passive navigation. When users scroll down a page to read content, they are consuming text, not signing a legal agreement to be profiled across programmatic ad networks.

Regulatory oversight is automated. European Data Protection Authorities (DPAs), led by the CNIL, employ headless browser automated crawlers. These automated inspection bots navigate to a target landing page, simulate a 500-pixel downward scroll without clicking any banner buttons, and inspect the HTTP network payloads. If an advertising cookie, Meta Pixel PageView, or Google Analytics collect request fires during this scroll, a formal compliance violation is logged automatically.

Architectural Breakdown: Legacy Scroll Listeners vs. Strict Affirmative Opt-In

Legacy Consent Management Platforms (CMPs) and custom in-house consent banners frequently contained legacy JavaScript routines that executed tag dispatchers upon detection of a scroll threshold. Below is an example of the unlawful architecture that triggers enforcement notices:

// UNLAWFUL ARCHITECTURE: Scroll-to-Consent Anti-Pattern
// This pattern violates GDPR Art. 4(11) and CNIL Deliberation 2020-091 ↗
(function() {
  let consented = false;
  
  function triggerImplicitConsent() {
    if (!consented) {
      consented = true;
      document.cookie = "cookie_consent=true; max-age=31536000; path=/";
      
      // Fires tracking pixels without an explicit affirmative click
      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({
        'event': 'implicit_consent_granted',
        'consent_method': 'scroll'
      });
      
      // Cleanup listener
      window.removeEventListener('scroll', handleScroll);
    }
  }

  function handleScroll() {
    if (window.scrollY > 150) {
      triggerImplicitConsent();
    }
  }

  window.addEventListener('scroll', handleScroll, { passive: true });
})();

Compliant Architecture: Unambiguous Action Binding

To comply with GDPR Article 7 and ePrivacy Article 5(3), script injection and consent state mutation must be bound strictly to explicit UI interaction events (e.g., a native pointer click on an "Accept All" or granular "Save Preferences" button). The execution pipeline must remain completely isolated from viewport changes and navigational actions.

// COMPLIANT ARCHITECTURE: Explicit Event-Driven Consent
(function() {
  // Ensure default denial state (e.g., Google Consent Mode v2)
  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'
  });

  document.addEventListener('DOMContentLoaded', function() {
    const acceptButton = document.getElementById('cmp-accept-all-btn');
    const rejectButton = document.getElementById('cmp-reject-all-btn');

    if (!acceptButton || !rejectButton) return;

    // Explicit affirmative action handler
    acceptButton.addEventListener('click', function(e) {
      e.preventDefault();
      
      gtag('consent', 'update', {
        'ad_storage': 'granted',
        'analytics_storage': 'granted',
        'ad_user_data': 'granted',
        'ad_personalization': 'granted'
      });

      dataLayer.push({
        'event': 'explicit_consent_granted',
        'consent_action': 'button_click'
      });

      hideBanner();
    });

    // Explicit rejection action handler
    rejectButton.addEventListener('click', function(e) {
      e.preventDefault();
      
      gtag('consent', 'update', {
        'ad_storage': 'denied',
        'analytics_storage': 'denied',
        'ad_user_data': 'denied',
        'ad_personalization': 'denied'
      });

      dataLayer.push({
        'event': 'explicit_consent_denied',
        'consent_action': 'button_click'
      });

      hideBanner();
    });
  });

  function hideBanner() {
    const banner = document.getElementById('cookie-consent-modal');
    if (banner) banner.style.display = 'none';
  }
})();

Regulatory & Legal Risk Matrix: Consent Modalities Under Judicial Scrutiny

The legal framework governing digital consent in the EU is anchored in four core statutory texts and judicial precedents: GDPR (Regulation (EU) 2016/679), the ePrivacy Directive ↗ (Directive 2002/58/EC as amended), CJEU Case C-673/17 ↗ (Planet49), and CNIL Deliberations 2020-091 / 2020-092. The matrix below contrasts user actions with their statutory validity and enforcement risk.

Interaction / TriggerGDPR Status (Art. 4(11), 7)CNIL / EDPB ComplianceAudit Discovery MechanismRegulatory Exposure
Page Scrolling / SwipeUnlawful (No Affirmative Action)Strictly Forbidden (Deliberation 2020-091 ↗)Headless Crawler (500px scroll test)GDPR Art. 83 Fines (Up to €20M or 4%)
Continued Browsing / Internal ClickUnlawful (Implicit / Presumed Consent)Strictly Forbidden (Conseil d'État 2020)Synthetic Page Path CrawlerFormal Injunction + Daily Penalty
Pre-Ticked Modal CheckboxesUnlawful (CJEU Planet49)Non-CompliantDOM Tree Static AnalysisAdministrative Fine + Rectification Notice
Modal Dismissal (X Button)Unlawful (Equal to Rejection)Requires explicit "Reject All" logicUI Automation TestEnforcement Notice (ePrivacy Art. 5(3))
Explicit Button Click ("Accept")Valid (Clear Affirmative Action)Compliant (if Reject option is symmetric)Event Stream Network InterceptionZero Liability / Compliant

Under GDPR Article 82, controllers using scroll-to-consent also face collective litigation risk from consumer rights groups (such as NOYB), who file automated complaints based on network payload proofs.

Step-by-Step Forensic Verification Protocol: Detecting & Removing Scroll Traps

Engineering teams must conduct rigorous forensic audits of their production environments to ensure no legacy scripts fire tags upon viewport displacement. Follow this four-stage testing protocol:

1. DevTools Network Tab Isolation

  1. Open an Incognito/Private browser window.
  2. Open Chrome DevTools (F12), navigate to the Network tab, and filter by collect, facebook.com/tr/, or doubleclick.net.
  3. Clear all cookies and local storage.
  4. Load the landing page. Observe the Network tab: zero marketing or analytical network requests must appear.
  5. Scroll down 1,000 pixels without clicking on the consent modal.
  6. Verify that the Network tab remains completely empty of non-essential payloads. If requests appear, inspect the Initiator call stack to isolate the script registering the scroll listener.

2. Event Listener DOM Inspection

Run the following snippet in your browser console to audit active window scroll listeners that may be bound to analytics orchestrators:

// Audit active scroll listeners in the global execution context
(function auditScrollListeners() {
  const listeners = getEventListeners(window).scroll || [];
  console.log(`[CookieDetox Forensic Audit] Found ${listeners.length} active scroll listener(s).`);
  
  listeners.forEach((listener, index) => {
    console.log(`Listener #${index + 1}:`, listener.listener.toString());
  });
})();

3. Google Tag Manager Conditioning

If your tags use GTM, audit your Trigger inventory immediately. Delete or unpublish any trigger configured as:

  • Scroll Depth triggers paired with non-essential tags prior to explicit consent.
  • Window Loaded or DOM Ready triggers firing pixels before a validated consent_granted custom event.
  • Custom JavaScript Variables reading consent cookies that were populated by route transitions rather than affirmative button clicks.

Strategic Verdict: Transitioning to Zero-Risk Consent Architecture

Treating user movement as consent represents a structural compliance failure. Relying on scroll or navigation opt-ins generates non-defensible audit logs during DPA inspections and increases litigation exposure under GDPR Article 83.

To establish a zero-penalty consent architecture:

  1. Enforce Hard Script Blocking: Block non-essential tracking libraries at the DOM parser level. Do not rely on CSS hiding or delayed execution. Tags must remain unmounted until an affirmative click event fires.
  2. Implement Equal Visual Symmetry: The CNIL requires that rejecting consent must be as easy as accepting it. Your consent banner must present a "Reject All" button at the same visual layer, size, and prominence as the "Accept All" button.
  3. Persist Strict Rejection States: If the user closes the modal, navigates away, or scrolls past the prompt without clicking "Accept", the CMP must maintain a strict denied state. No tracking parameters may be appended to downstream URL routes or analytics pings.
§

Official Legal Sources & Authoritative Decisions

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

  • Curia / CJUE CJEU Planet49 Judgment (Case C-673/17): Strict ban on pre-ticked consent checkboxes
    View primary text
  • Légifrance Article 82 of French Data Protection Act (Transposition of ePrivacy Directive in France)
    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
Updated 2026-09-19
Share this article:

Frequently Asked Questions (FAQ)

Is scroll-based cookie consent legal in France under CNIL guidelines?

No. CNIL Deliberation No. 2020-091 strictly prohibits scroll-based consent. The French Conseil d'État upheld this rule in June 2020. Valid consent requires an active, unambiguous action, which scrolling does not satisfy.

Can continuing to browse a website count as valid consent under GDPR?

No. Under GDPR Article 4(11), consent must be a clear affirmative action. EDPB Guidelines 05/2020 clarify that continued navigation or browsing cannot be treated as valid opt-in.

How do DPA inspection bots detect illegal scroll consent?

Regulatory crawlers use headless browsers to load a page, simulate a 500px scroll without clicking any buttons, and inspect the HTTP network tab. If tracking calls fire, a violation notice is generated automatically.

What happens if a user scrolls past a cookie banner without clicking anything?

The CMP must keep all non-essential cookies and trackers blocked. Passive scrolling must be treated as a neutral non-consent state, maintaining total tracking suppression.

How do I fix a legacy scroll consent script in my tag manager?

Remove all Scroll Depth triggers linked to marketing tags, delete scroll-event listeners from your CMP, and configure all non-exempt tags to fire exclusively on custom events triggered by affirmative button clicks.