Analytics sans bandeau permanent : Umami + GTM en campagne

🇬🇧 Read in English : Analytics without a permanent banner: Umami plus GTM
Peut-on profiter de Google Ads sans imposer Google Analytics, et son bandeau, à tous ses visiteurs toute l’année ? Oui. Notre montage : Umami assure la mesure permanente, sans cookie ni consentement, et Google Tag Manager n’est chargé que pendant les campagnes payantes, branché sur les mêmes déclencheurs d’événement qu’Umami. Le bandeau de consentement devient saisonnier : il n’apparaît que lorsque la publicité tourne.
Points clés
- Umami assure la mesure permanente, sans cookie ni consentement ; la couche GTM/GA4 ne se charge que pendant les campagnes Google Ads.
- Une seule instrumentation dans le HTML : les mêmes attributs d’événement alimentent Umami et GTM, quel que soit l’outil arrivé en premier.
- Le Consent Mode v2 est obligatoire pour la publicité Google dans l’EEE depuis mars 2024 ; le bandeau n’apparaît que quand la couche Google est active.
- Campagne terminée : conteneur coupé, cookies disparus, bandeau retiré. Umami, lui, n’a jamais cessé de mesurer.
Pour comparer ou corréler les mesures entre les outils, il est impératif d’utiliser les mêmes déclencheurs d’événement. Deux instrumentations parallèles finissent toujours par diverger, et on ne sait plus ce qu’on compare.
— Olivier Watté, dit Oliver · fondateur de Kimoun
Cet article prolonge Google Analytics est-il conforme au RGPD ?, qui pose le constat ; ici, la mise en œuvre.
Pourquoi séparer la mesure permanente de la mesure publicitaire ?
Astuce
La mesure d’audience quotidienne n’a pas besoin de cookies ; seule la publicité en a besoin. Séparer les deux couches évite de payer toute l’année le prix du consentement pour quelques semaines de campagne.
Un site professionnel a deux besoins de mesure très différents. Au quotidien : savoir quelles pages travaillent, d’où viennent les visites, quels boutons convertissent. Ce besoin est couvert par Umami, exempté de consentement dans sa configuration sans cookie. Ponctuellement : relier des conversions à une campagne Google Ads, ce qui exige la balise Ads et souvent GA4, des traceurs soumis à consentement.
Le réflexe courant consiste à charger GA4 et Google Tag Manager en permanence « au cas où ». C’est ce que nous trouvons sur la plupart des sites d’entreprises guadeloupéennes que nous reprenons en infogérance, y compris ceux qui n’ont jamais lancé la moindre campagne. Résultat : un bandeau de consentement 365 jours par an, une perte importante de données de navigation, et 100 Ko de scripts pour des campagnes qui ne tournent que quelques semaines. Nous faisons l’inverse : la couche Google est éteinte par défaut, et ne s’allume qu’avec la campagne.
Comment brancher une seule instrumentation pour Umami et GTM ?
Le point clé du montage : ne jamais instrumenter le site deux fois. Chaque événement, clic sur un CTA, envoi de formulaire, clic WhatsApp, est déclaré une seule fois dans le HTML, et lu par les deux outils. Peu importe lequel est arrivé le premier : les deux situations ci-dessous tournent en production, sur kimoun.com et sur i-administration, la solution SPIP éditée par IPEOS.
Cas 1 : GTM était là d’abord, Umami se branche sur l’existant (Hugo, kimoun.com)
Sur kimoun.com, généré avec Hugo (le principe est identique sous Astro), l’intégration de Google Tag Manager précède l’adoption d’Umami. Les boutons portaient déjà un attribut data-event, lu par les déclencheurs de clic GTM :
<!-- Bouton existant, instrumenté pour GTM dès l'origine -->
<a class="btn btn-primary" href="/devis/"
data-event="cta_devis_from_blog_umami">Demander un devis</a>Plutôt que de réécrire chaque gabarit, un pont de quelques lignes fait remonter ces mêmes attributs vers Umami :
// Pont : les data-event existants (lus par GTM) alimentent aussi Umami
document.addEventListener('click', function (e) {
var el = e.target.closest('[data-event]');
if (el && window.umami) umami.track(el.dataset.event);
});Aucun gabarit modifié, aucun événement renommé : Umami hérite de la taxonomie GTM historique, et les séries se comparent d’une période à l’autre.
Cas 2 : Umami était là d’abord, GTM récupère ses événements (SPIP, i-administration)
Sur i-administration, la solution SPIP éditée par IPEOS, c’est l’inverse : les squelettes sont instrumentés nativement pour Umami avec l’attribut standard data-umami-event :
[(#REM) Squelette SPIP — bouton instrumenté pour Umami ]
<button type="submit" class="btn btn-primary"
data-umami-event="form_demarche_envoi"
data-umami-event-service="#TITRE">Envoyer ma demande</button>Quand une campagne impose d’activer GTM, aucun code n’est ajouté côté site : dans GTM, un déclencheur de clic filtre les éléments porteurs de data-umami-event, et une variable d’élément cliqué lit la valeur de l’attribut pour la transmettre telle quelle à GA4 comme nom d’événement. GTM se calque sur la taxonomie Umami, pas l’inverse.
Dans les deux cas, la règle est la même : un seul attribut dans le HTML, un seul nom par événement, deux consommateurs. Une conversion s’appelle pareil des deux côtés, sans quoi toute corrélation entre Umami et GA4 devient un exercice d’interprétation.
Comment activer GA4 uniquement pendant une campagne SEA ?
Astuce
La couche Google s’active par un simple interrupteur de configuration du site : GTM, Consent Mode et bandeau apparaissent ensemble au lancement de la campagne, et disparaissent ensemble à la fin.
Le chargement de GTM est conditionné par un paramètre de configuration du site : sur un site Hugo ou Astro, un booléen dans le fichier de configuration ; sur SPIP, une variable de configuration du plugin. Campagne lancée, on passe l’interrupteur à on et on déploie. Le gabarit injecte alors, dans l’ordre : l’initialisation du Consent Mode v2 (état « refusé » par défaut), le bandeau de consentement, puis le conteneur GTM.
Dans GTM, le conteneur contient la balise Google (configuration GA4), la balise de conversion Google Ads, et des déclencheurs alignés sur les attributs d’événement décrits plus haut. Le Consent Mode v2 est obligatoire pour la publicité Google dans l’Espace économique européen depuis mars 2024, et Google conditionne désormais le suivi des conversions Ads à sa présence : le montage l’intègre d’office.
Campagne terminée : interrupteur à off, redéploiement. Plus de conteneur, plus de cookie, plus de bandeau. Umami n’a rien remarqué : il mesurait avant, pendant, après.
Remarque
Sur kimoun.com, le conteneur GTM restait chargé en permanence pour une poignée d’événements, avec un bandeau affiché à chaque visiteur. La bascule décrite ici a supprimé le bandeau hors campagne et allégé le chargement de toutes les pages, sans perdre une seule donnée de mesure, désormais portée par Umami.
Que faire du bandeau de consentement ?
Important
Dès que la couche Google est active, le consentement préalable redevient obligatoire : GA4 et la balise Ads déposent des cookies qui ne bénéficient d’aucune exemption. Bandeau conforme exigé, refus aussi simple que l’acceptation, aucun tag avant le choix.
Le bandeau suit la couche Google, dans les deux sens. Il apparaît avec elle, configuré proprement : boutons « Accepter » et « Refuser » au même niveau, déclenchement des balises uniquement après consentement, Consent Mode v2 pour transmettre l’état du choix à Google. Il disparaît avec elle, puisque plus aucun traceur soumis à consentement n’existe sur le site.
Pendant la campagne, il faut accepter une réalité : GA4 ne verra que les visiteurs consentants, soit à peine plus de la moitié du trafic. Ce n’est pas un problème si les rôles sont clairs : Umami donne les volumes réels, GA4 et Google Ads donnent l’attribution publicitaire sur la population consentante. Les deux chiffres ne se comparent pas entre eux ; chacun répond à sa question.
Quels pièges éviter ?
Trois erreurs reviennent dans ce type de montage.
- Le double comptage. Si un événement est envoyé à GA4 à la fois par un déclencheur d’attribut et par une balise de clic automatique, les conversions doublent. Un seul chemin d’envoi par événement.
- L’oubli de coupure. Une campagne se termine, le conteneur reste, le bandeau aussi. Inscrire la désactivation dans la checklist de fin de campagne, au même titre que la coupure du budget Ads.
- La comparaison naïve. Conclure que « le trafic a chuté » en lisant GA4 pendant une campagne, alors qu’il ne voit que les consentants. Le volume de référence, c’est Umami.
Un dernier réflexe utile : tester le montage en préproduction avec le mode aperçu de GTM avant chaque campagne. Cinq minutes de vérification évitent de payer des clics dont les conversions ne remontent pas. Sur les campagnes que nous pilotons pour des entreprises guadeloupéennes, c’est la vérification qui revient le moins cher.