CookieDetox L'Observatoire Legal-Tech
Sanctions & Amendes 2026-09-19

Le Scrolling vaut-il consentement ? Pourquoi la poursuite de navigation est formellement interdite par la CNIL

CD

Par Cellule Investigation CookieDetox

Expertise Juridique & Conformité

🔗
T

L'essentiel à retenir (En bref)

Non. En vertu de l'article 4(11) du RGPD et des délibérations CNIL n° 2020-091 et 2020-092, le scrolling, le balayage ou la simple poursuite de navigation ne constituent aucunement un consentement valable. Le consentement exige un acte positif univoque, libre, spécifique et éclairé. Interpréter le défilement comme un accord tacite viole l'article 5(3) d'ePrivacy et expose à des sanctions financières allant jusqu'à 20 millions d'euros ou 4 % du chiffre d'affaires mondial.

Synthèse technique : l'illégalité du consentement implicite par poursuite de navigation

Entre 2013 et 2019, de nombreux sites web européens s'appuyaient sur des mécanismes dits d'« opt-in implicite » (ou soft opt-in). Les bandeaux cookies affichaient fréquemment la mention : « En poursuivant votre navigation sur ce site, vous acceptez l'utilisation de traceurs. » Dans cette architecture obsolète, des écouteurs d'événements JavaScript attachés aux événements window.scroll, touchmove ou aux clics interceptaient les actions de l'internaute et déclenchaient immédiatement le dépôt des traceurs publicitaires.

Ce mécanisme est formellement illégal dans toute l'Union européenne. Les lignes directrices 05/2020 du Comité européen de la protection des données (CEPD) ainsi que la décision du Conseil d'État du 19 juin 2020 (confirmant les délibérations de la CNIL n° 2020-091 et 2020-092) ont gravé dans le marbre que le consentement au défilement contrevient aux exigences fondamentales du RGPD. Le scrolling ne permet pas de distinguer un accord intentionnel d'une simple navigation passive. Lorsqu'un utilisateur fait défiler une page pour lire un article, il consulte un contenu éditorial, il ne souscrit aucunement à un profilage publicitaire programmatique.

Le contrôle réglementaire est désormais automatisé. Les autorités de protection des données (notamment la CNIL en France) déploient des robots d'audit automatisés basés sur des navigateurs sans interface graphique (headless crawlers). Ces robots inspectent la page cible, simulent un défilement de 500 pixels vers le bas sans cliquer sur le bandeau de consentement, puis analysent les charges utiles des requêtes réseau HTTP. Si un cookie publicitaire, un événement PageView du pixel Meta ou un appel collect Google Analytics est émis lors de ce scroll, un procès-verbal de non-conformité est généré automatiquement.

Analyse d'architecture : écouteurs de scroll obsolètes vs consentement positif explicite

Les anciennes plateformes de gestion du consentement (CMP) et les scripts développés en interne contenaient fréquemment des routines JavaScript exécutant les balises dès l'atteinte d'un seuil de défilement. Voici un exemple d'architecture non conforme provoquant des mises en demeure :

// ARCHITECTURE NON CONFORME : Anti-pattern du consentement au scroll
// Ce modèle viole l'art. 4(11) du RGPD et la délibération CNIL n° 2020-091
(function() {
  let consented = false;
  
  function triggerImplicitConsent() {
    if (!consented) {
      consented = true;
      document.cookie = "cookie_consent=true; max-age=31536000; path=/";
      
      // Déclenche les pixels de tracking sans clic positif explicite
      window.dataLayer = window.dataLayer || [];
      window.dataLayer.push({
        'event': 'implicit_consent_granted',
        'consent_method': 'scroll'
      });
      
      // Nettoyage de l'écouteur
      window.removeEventListener('scroll', handleScroll);
    }
  }

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

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

Architecture conforme : liaison stricte aux actions affirmatives

Pour se conformer à l'article 7 du RGPD ↗ et à l'article 5(3) de la directive ePrivacy ↗, l'injection des scripts et la mutation de l'état du consentement doivent être strictement conditionnées à des événements d'interaction explicites dans l'interface utilisateur (par exemple, un clic natif sur un bouton « Tout accepter » ou « Enregistrer mes préférences »). Le pipeline d'exécution doit rester totalement isolé des changements de viewport et des mouvements de navigation.

// ARCHITECTURE CONFORME : Consentement explicite déclenché par événement
(function() {
  // Définition de l'état de refus par défaut (ex. 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;

    // Gestionnaire d'action positive explicite
    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();
    });

    // Gestionnaire d'action de refus explicite
    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';
  }
})();

Matrice des risques réglementaires et juridiques : examen des modalités de consentement

Le cadre légal régissant le consentement numérique au sein de l'UE repose sur quatre piliers juridiques et jurisprudentiels majeurs : le RGPD (Règlement UE 2016/679), la directive ePrivacy ↗ (2002/58/CE modifiée), l'arrêt Planet49 de la CJUE (C-673/17) et les délibérations CNIL 2020-091 / 2020-092. Le tableau ci-dessous confronte les interactions utilisateurs courantes avec leur validité légale et leur niveau d'exposition aux sanctions.

Interaction / DéclencheurStatut RGPD (Art. 4(11), 7)Conformité CNIL / CEPDMécanisme de détection en auditExposition juridique
Défilement de page / SwipeIllégal (Absence d'acte positif)Strictement interdit (Délibération 2020-091 ↗)Robot d'audit headless (test de scroll 500px)Amendes RGPD Art. 83 (Jusqu'à 20M€ ou 4%)
Poursuite de navigation / Clic interneIllégal (Consentement implicite / présumé)Strictement interdit (Conseil d'État 2020)Parcours de navigation synthétiqueMise en demeure + Astreinte journalière
Cases pré-cochées dans la modaleIllégal (CJUE Planet49)Non conformeAnalyse statique de l'arbre DOMAmende administrative + Injonction de mise en conformité
Fermeture du bandeau (Croix X)Illégal (Équivaut à un refus)Exige une logique de refus équivalenteTest d'automatisation UISanction ePrivacy (Art. 5(3)) / Art. 82 Loi Informatique et Libertés
Clic explicite sur bouton (« Tout accepter »)Valide (Acte positif univoque)Conforme (si l'option « Tout refuser » est symétrique)Interception réseau du flux d'événementsExonération de risque / Pleine conformité

En application de l'article 82 du RGPD, les responsables du traitement persistant à utiliser le consentement au défilement s'exposent également à des actions de groupe menées par des associations de défense des droits numériques (telles que NOYB), qui documentent les violations via des captures de flux réseau.

Protocole d'audit technique pas à pas : détecter et neutraliser les pièges de défilement

Les équipes d'ingénierie logicielle doivent réaliser des audits rigoureux de leurs environnements de production afin de garantir qu'aucun script n'active de balises lors du déplacement du viewport. Appliquez ce protocole en quatre étapes :

1. Isolation dans l'onglet Réseau des DevTools

  1. Ouvrez une fenêtre de navigation privée.
  2. Lancez les outils de développement Chrome (F12), rendez-vous dans l'onglet Network (Réseau) et appliquez un filtre sur les expressions collect, facebook.com/tr/ ou doubleclick.net.
  3. Supprimez l'ensemble des cookies et du stockage local (Local Storage).
  4. Chargez la page cible. Analysez l'onglet Réseau : aucune requête marketing ou analytique non exemptée ne doit être émise.
  5. Faites défiler la page de 1 000 pixels vers le bas sans interagir avec la modale de consentement.
  6. Vérifiez que le moniteur réseau demeure totalement vierge de requêtes tierces. Si des requêtes apparaissent, inspectez la pile d'appels de l'Initiator pour isoler le script responsable de l'écouteur de scroll.

2. Inspection des écouteurs d'événements dans le DOM

Exécutez l'extrait de code suivant dans la console de votre navigateur pour identifier les écouteurs de scroll actifs attachés à la fenêtre globale :

// Audit des écouteurs d'événements de scroll dans le contexte d'exécution global
(function auditScrollListeners() {
  const listeners = getEventListeners(window).scroll || [];
  console.log(`[Audit CookieDetox] ${listeners.length} écouteur(s) de défilement actif(s) détecté(s).`);
  
  listeners.forEach((listener, index) => {
    console.log(`Écouteur n°${index + 1} :`, listener.listener.toString());
  });
})();

3. Reconfiguration des déclencheurs Google Tag Manager

Si vos balises sont administrées via GTM, auditez sans délai votre catalogue de déclencheurs. Désactivez ou supprimez tout déclencheur configuré de la manière suivante :

  • Déclencheurs de type Profondeur de défilement (Scroll Depth) associés à des balises non essentielles avant obtention du consentement explicite.
  • Déclencheurs Fenêtre chargée (Window Loaded) ou DOM Ready déclenchant des pixels marketing avant l'émission d'un événement personnalisé consent_granted validé.
  • Variables JavaScript personnalisées lisant des cookies de consentement qui auraient été renseignés par des changements de route plutôt que par un clic d'acceptation franc.

Verdict stratégique : transitionner vers une architecture de consentement à risque zéro

Assimiler le mouvement de navigation d'un utilisateur à un consentement légal constitue un vice de conformité structurel. Les mécanismes d'opt-in par défilement ne produisent aucune preuve opposable lors des contrôles de la CNIL et augmentent considérablement le risque de sanctions au titre de l'article 83 du RGPD ↗.

Pour établir une architecture de conformité sans faille :

  1. Appliquez un blocage dur des scripts (Hard Blocking) : Interceptez les bibliothèques de tracking tierces dès l'analyse du DOM par le navigateur. Ne vous contentez pas de masquer des éléments en CSS ou de différer l'exécution. Les traceurs doivent rester non chargés jusqu'à la survenance d'un clic affirmatif.
  2. Respectez une symétrie visuelle parfaite : La CNIL impose que refuser les traceurs soit aussi facile que de les accepter. Le bandeau de consentement doit obligatoirement proposer un bouton « Tout refuser » situé au même niveau visuel, avec une typographie, une taille et un contraste identiques au bouton « Tout accepter ».
  3. Conservez un état de refus strict : Si l'internaute ferme le bandeau, navigue sur une autre page ou fait défiler le contenu sans cliquer sur « Tout accepter », la CMP doit maintenir un statut de refus strict (denied). Aucun identifiant ou paramètre de suivi ne doit être transmis aux routes analytiques en aval.
§

Sources Officielles & Jurisprudence de Référence

Textes réglementaires primaires, délibérations officielles de la CNIL et arrêts de la CJUE cités dans cette analyse.

  • Curia / CJUE Arrêt CJUE Planet49 (Affaire C-673/17 du 1er octobre 2019) : Invalidité absolue des cases pré-cochées pour le consentement cookies
    Consulter le texte officiel
  • Légifrance Article 82 de la Loi n° 78-17 du 6 janvier 1978 modifiée (Régime légal des cookies et traceurs en France)
    Consulter le texte officiel
  • EUR-Lex Article 83 du Règlement (UE) 2016/679 (RGPD) — Conditions générales pour imposer des amendes administratives (plafonds de 20 M€ ou 4 % du CA mondial)
    Consulter le texte officiel
  • EUR-Lex Article 7 du Règlement (UE) 2016/679 (RGPD) — Conditions applicables au consentement et preuve du retrait
    Consulter le texte officiel
  • EUR-Lex Directive 2002/58/CE modifiée (Directive ePrivacy relative au traitement des données et à la protection de la vie privée dans le secteur des communications électroniques)
    Consulter le texte officiel
  • Légifrance / CNIL Délibération CNIL n° 2020-091 du 17 septembre 2020 portant adoption de lignes directrices relatives à l'application de l'article 82
    Consulter le texte officiel
Mis à jour le 2026-09-19
Partager cet article:

Questions Fréquentes (FAQ)

Le consentement aux cookies par défilement (scrolling) est-il légal selon la CNIL ?

Non. La délibération CNIL n° 2020-091 interdit formellement le consentement par défilement, décision confirmée par le Conseil d'État en juin 2020. Un consentement valide exige un acte positif clair et univoque, ce que le simple défilement d'une page ne garantit pas.

La poursuite de navigation peut-elle être considérée comme un accord sous le RGPD ?

Non. L'article 4(11) du RGPD et les lignes directrices du CEPD précisent que le consentement ne peut être implicite ou présumé. Poursuivre la navigation ou naviguer entre les pages sans cliquer sur un bouton d'acceptation ne vaut pas consentement légal.

Comment les robots d'inspection de la CNIL détectent-ils le consentement au scroll ?

La CNIL utilise des navigateurs headless qui chargent la page, simulent un défilement de 500 pixels sans cliquer sur le bandeau et inspectent les requêtes réseau HTTP. Si des traceurs s'exécutent, la non-conformité est immédiatement constatée et tracée.

Que doit faire le site si un utilisateur fait défiler la page sans cliquer sur le bandeau ?

La plateforme de gestion du consentement (CMP) doit maintenir l'ensemble des traceurs non essentiels bloqués. Le défilement passif doit être traité comme une absence de consentement, garantissant l'inhibition totale du dépôt de cookies et de l'envoi de requêtes.

Comment corriger un script de consentement au scroll dans Google Tag Manager ?

Supprimez tous les déclencheurs de profondeur de défilement liés à des balises publicitaires ou analytiques, éliminez les écouteurs scroll dans votre code et conditionnez l'activation des balises à un événement personnalisé déclenché exclusivement par un clic explicite d'acceptation.