Le WordPress d'aujourd'hui, décodé pour les développeurs

SEO & GEO

Consentement cookie et Google Analytics : ce que la recommandation CNIL impose

Avant de coder un bandeau, il faut savoir précisément quels scripts attendent quoi. Voici ce que la mise en conformité change concrètement côté développement.

Par WordPress Développement • 25 janvier 2020 • 4 min de lecture • Aucun commentaire
Consentement cookie et Google Analytics : ce que la recommandation CNIL impose

Qu’est-ce qu’un cookie de mesure d’audience exempté de consentement, exactement ? La question revient sur chaque projet où l’on installe Google Analytics, et la réponse tient en une poignée de critères précis que beaucoup de développeurs découvrent trop tard, une fois le tracking déjà en place.

La CNIL distingue les cookies strictement nécessaires au fonctionnement du site, exemptés de consentement, des cookies de mesure d’audience, qui peuvent l’être eux aussi mais seulement sous conditions strictes. Google Analytics, dans sa configuration par défaut, ne remplit pas ces conditions.

Les catégories de cookies concernées

Trois grandes familles de cookies coexistent sur un site WordPress classique : les cookies techniques (session, panier, préférences d’affichage), les cookies de mesure d’audience (Google Analytics, Matomo), et les cookies publicitaires ou de partage social (Facebook Pixel, boutons de partage tiers). Seule la première catégorie est systématiquement exemptée.

Pour qu’un outil de mesure d’audience échappe lui aussi au recueil de consentement, il doit répondre à des critères cumulatifs : finalité strictement limitée à la mesure d’audience, données exclusivement utilisées pour le compte de l’éditeur du site, absence de croisement avec d’autres traitements, et durée de conservation limitée dans le temps. Google Analytics, dans son fonctionnement standard, transmet des données à Google pour des finalités qui dépassent ce périmètre : il ne peut donc pas se contenter d’un simple bandeau informatif.

Le déclenchement conditionnel des scripts

L'essentiel à retenir : Les cookies de mesure d'audience ne sont pas tous logés à la même enseigne ; Le déclenchement conditionnel se joue avant le chargement du script ; Un refus doit être aussi simple qu'un consentement

Techniquement, la contrainte se résout en amont du chargement du script, pas après. Le piège classique consiste à charger gtag.js dans le <head> puis à masquer une bannière par-dessus : le cookie est déjà déposé au moment où le visiteur voit la question. Le bon réflexe est d’attacher le chargement du script à un événement de consentement explicite.

function chargerScriptSiConsentement() {
    if ( getConsentement( 'mesure_audience' ) === true ) {
        var script = document.createElement( 'script' );
        script.src = 'https://www.googletagmanager.com/gtag/js?id=G-XXXXXXX';
        script.async = true;
        document.head.appendChild( script );
    }
}
document.addEventListener( 'consentementMisAJour', chargerScriptSiConsentement );

Ce découplage entre affichage de la bannière et exécution du script est le point que les audits techniques vérifient en premier, généralement via l’onglet réseau du navigateur ouvert avant tout clic.

Refus aussi simple que l’acceptation

La recommandation impose également une symétrie de traitement entre acceptation et refus. Un bouton « Tout accepter » bien visible accompagné d’un lien discret « Paramétrer » qui, lui, cache le refus global derrière trois clics, ne respecte pas cette exigence. Les deux actions doivent demander un effort équivalent à l’utilisateur.

  • Un bouton de refus au même niveau visuel que le bouton d’acceptation.
  • Aucune case pré-cochée pour une finalité qui n’est pas strictement nécessaire.
  • Une possibilité de retirer son consentement aussi facilement qu’il a été donné, via un lien permanent en pied de page.

Durée de vie et preuve du consentement

Le consentement recueilli n’est pas éternel. Une durée de conservation raisonnable, généralement autour de treize mois, est recommandée avant de redemander l’accord du visiteur. Sur le plan technique, cela implique de stocker, en plus du choix lui-même, un horodatage exploitable par le script de gestion du consentement pour déclencher une nouvelle demande automatiquement.

Sur nos projets, on stocke systématiquement trois informations dans le cookie de préférence : la version des catégories proposées, le choix par catégorie, et la date du recueil. Cela évite de redemander un consentement à chaque changement mineur de texte du bandeau.

Notre verdict

La mise en conformité d’un tracking existant n’est pas qu’une question d’affichage : elle demande de repenser l’ordre d’exécution des scripts, pas seulement leur habillage visuel. Un développeur qui se contente d’ajouter une bannière par-dessus un gtag.js déjà chargé au premier rendu de page n’a rien résolu, il a seulement ajouté une couche cosmétique au-dessus d’un problème qui reste entier.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Partager :

À propos de l'auteur

WordPress Développement

Développeur WordPress, passionné par Elementor, le FSE et l’automatisation par IA.

Voir tous ses articles

Dans la même veine

À lire aussi