Intégrations : Google Analytics
Les analyses web sont optionnelles et minimales : fournissez un identifiant Google Analytics ou Tag Manager dans Settings → Integrations, et chaque page construite reçoit le script Google correspondant : rien de plus, et rien du tout tant que votre visiteur n'a pas interagi avec la page. Il n'y a pas d'analytique par page, pas de données entrant dans le CMS, et (en mode air-gap) aucun appel externe du tout.
Quels identifiants définir
Deux champs, coordonnés :
- GA4 measurement ID (
G-XXXXXXXXXX) : la route directe Google Analytics 4 : le gtag.js standard est ajouté à chaque page. - GTM container ID (
GTM-XXXXXXX) : route à la place le site à travers Google Tag Manager, où les tags que vous gérez vivent dans le conteneur.
Ils fonctionnent sur la même page mais ne se chargent pas tous les deux : GTM l'emporte quand les deux sont remplis (le chargeur gtag de GA4 est intentionnellement ignoré pour que le suivi ne soit pas dupliqué par deux voies). Choisissez-en un : l'ID GA4 si vous suivez directement dans Google Analytics, ou GTM si le conteneur est là où vit votre suivi.
Comment le script arrive sur la page
Chaque build injecte le snippet chargeur dans chaque page construite une fois, et le chargeur lui-même est délibérément poli :
- Il ne se déclenche qu'après que le visiteur interagit : clic, défilement, keydown, ou le premier toucher.
- Si l'avis cookies de votre site est actif, l'analytique ne s'exécute qu'après que le visiteur a accepté le cookie : le cookie est utilisé directement, et les refus (
cookie_consent=0) sont honorés par le chargeur même sans outillage. - GA4/GTM configurés : exactement un des deux se charge : GA4 seul charge gtag.js ; GTM charge le chargeur GTM standard (contrôle complet du conteneur), avec ceci pour que le site ne puisse pas télécharger deux fois le suivi.
Les tags apparaissent au moment du build dans les pages générées, donc l'effet est instantané à chaque reconstruction de page et aucune configuration dynamique n'est nécessaire.
Mode air-gap
Activer le mode air-gap de l'environnement éteint tout le panneau :
- Les deux champs deviennent en lecture seule et un avis en ligne le dit : « External analytics scripts (GA4, GTM) are disabled and will not be emitted in builds. »
- Le build lui-même retire les identifiants, pour qu'une valeur périmée ne puisse pas faire téléphoner le site à Google ; le nettoyage de snippets également vérifié garde aussi les URL hors site à l'écart des pages émises.
- Activer l'air-gap plus tard désarme automatiquement ces identifiants ; les valeurs restent dans les réglages pour plus tard.
Champ associé sur le même onglet
- X / Twitter handle (avec le
@) : pas de l'analytique, construit la balise metatwitter:sitesur chaque page construite pour de plus jolies cartes de liens. Même panneau Integrations, autre système, listé par souci d'exhaustivité.
Notes pratiques
- Laissez les champs vides pour n'avoir aucune analytique du tout : le CMS sert des pages propres, sans script, ce qui est le comportement par défaut du projet.
- Comme ce sont des champs texte sans validation côté client, un collage qui rate un caractère (par exemple oublier le préfixe
G-) donne un script inutilisé plutôt qu'une erreur ; vérifiez le code source d'une page construite pour confirmer que le measurement ID apparaît correctement. - Si vous utilisez GTM, rappelez-vous que les tags GA4 que vous créez dans le conteneur sont gérés chez le fournisseur ; laissez
ga4_idvide dans Chinaski pour éviter une seconde voie à double tête. - Les traqueurs personnalisés au-delà de GA4/GTM (Piwik, Plausible, Meta pixel…) appartiennent au système Snippets, le mécanisme standard d'injection head/body, avec le même chargement tenant compte du consentement et (en mode air-gap) les règles de suppression d'URL externes.
La version courte
Collez un identifiant GA4 ou GTM sous Settings → Integrations et le chargeur Google correspondant est cuit dans chaque build (tenant compte du consentement si votre bannière de cookies est active, seulement après une première interaction, doublement sécurisé en mode air-gap) et rien de tout cela ne transite par votre serveur.