Bloquer Google Analytics 4 avant consentement
Google Analytics 4 se charge souvent avant que vos visiteurs aient pu répondre au bandeau. Voici pourquoi c'est un écart, et comment le corriger — avec le code.
Pourquoi c'est un écart
Mesure d'audience et analyse du comportement des visiteurs. Dans sa configuration standard, l'outil attribue un identifiant unique à chaque visiteur et permet le rapprochement avec les activités publicitaires de Google.
Google Ireland Limited est le contractant européen, mais les données relèvent en dernier ressort d'Alphabet Inc. aux États-Unis. Plusieurs autorités européennes ont considéré, avant la décision d'adéquation de 2023, que l'usage de Google Analytics posait des difficultés au regard du chapitre V du RGPD. La configuration par défaut ne remplit pas les conditions de l'exemption de consentement prévue par la CNIL.
Le point de droit est simple : l'article 82 de la loi n° 78-17 subordonne le dépôt ou la lecture d'informations dans le terminal de votre visiteur à son consentement préalable, sauf si l'opération est strictement nécessaire au service qu'il a demandé. Un service chargé dès l'ouverture de la page, avant toute action, ne remplit pas cette condition.
Comment corriger
- 01Déclarer un état de consentement par défaut « denied » AVANT tout script Google.
- 02Émettre une mise à jour du consentement au moment où le visiteur valide son choix.
- 03Vérifier que les signaux ad_user_data et ad_personalization sont bien transmis.
- 04Neutraliser la balise tant que le consentement publicitaire n'est pas donné.
- 05Vérifier qu'aucune requête ne part vers ce domaine au premier chargement de la page.
- 06Contrôler qu'après un refus, plus aucune requête n'est émise — c'est le manquement le plus lourd.
- 07Documenter le transfert hors Espace économique européen : garanties applicables et analyse d'impact.
Le code
État de consentement par défaut, avant tout script Google
<!-- À placer AVANT le chargement de gtag.js ou du conteneur GTM -->
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){ dataLayer.push(arguments); }
gtag('consent', 'default', {
ad_storage: 'denied',
ad_user_data: 'denied',
ad_personalization: 'denied',
analytics_storage: 'denied',
functionality_storage: 'granted',
security_storage: 'granted',
wait_for_update: 2000
});
</script>Les quatre premiers signaux doivent être « denied ». Sans cet appel préalable, les outils Google partent du principe que le consentement est acquis.
Mise à jour au moment du choix de l'utilisateur
// À appeler quand le visiteur valide son choix dans votre bandeau.
function appliquerChoix(accepte) {
gtag('consent', 'update', {
ad_storage: accepte ? 'granted' : 'denied',
ad_user_data: accepte ? 'granted' : 'denied',
ad_personalization: accepte ? 'granted' : 'denied',
analytics_storage: accepte ? 'granted' : 'denied'
});
}Neutraliser le script tant que le consentement n'est pas donné
<!-- Le navigateur n'exécute pas un script de type "text/plain". -->
<script type="text/plain" data-categorie="marketing"
src="https://google-analytics.com/…"></script>
<script>
// Appelé uniquement après acceptation de la catégorie concernée.
function activerCategorie(categorie) {
document
.querySelectorAll('script[type="text/plain"][data-categorie="' + categorie + '"]')
.forEach(function (balise) {
var actif = document.createElement('script');
for (var i = 0; i < balise.attributes.length; i++) {
var a = balise.attributes[i];
if (a.name !== 'type' && a.name !== 'data-categorie') {
actif.setAttribute(a.name, a.value);
}
}
actif.text = balise.text;
balise.parentNode.replaceChild(actif, balise);
});
}
</script>Technique universelle, indépendante de toute plateforme de consentement : le script existe dans la page mais n'est jamais exécuté avant l'accord.
Alternatives européennes
Matomo (auto-hébergé) · Piano Analytics · Plausible · Wide Angle Analytics
Remplacer le service supprime la question du transfert. Ce n'est pas toujours possible ni souhaitable — mais quand ça l'est, c'est la correction la plus durable.
Les cookies concernés
Qui reçoit les données
Google Ireland Limited
Société mère ultime : Alphabet Inc. (US)
États-Unis — sous réserve d'une certification DPF valide
Fiche complèteRègles du référentiel concernées
- KZC-CMV2-001Aucun état de consentement par défaut avant le chargement de gtag
- KZC-CMV2-002ad_storage ou analytics_storage en « granted » par défaut
- KZC-CMV2-003ad_user_data et ad_personalization non gérés
- KZC-DEPOT-004Requête sortante vers un domaine publicitaire avant consentement
- KZC-DEPOT-005Script tiers de tracking chargé avant consentement
- KZC-REFUS-001Traceur non exempté présent après un refus explicite
- KZC-TRANSFER-001Requête avant consentement vers un destinataire hors EEE
Google Analytics 4 se charge-t-il avant consentement chez vous ?
L'audit vous répond en quelques secondes, avec la preuve : l'URL exacte appelée, dans quel ordre, et par quel élément de votre page.
Vérifier gratuitementCe guide est une information technique. Il ne constitue ni une consultation juridique ni une garantie de conformité : la configuration réelle de votre site et l'usage effectif du service déterminent l'analyse.