Implémentation analytics et tracking
À utiliser quand l'utilisateur doit mettre en place, auditer ou améliorer le tracking et la mesure analytics. À utiliser aussi quand l'utilisateur mentionne « analytics », « tracking », « GA4 », « Google Analytics », « GTM », « Google Tag Manager », « suivi d'événements », « tracking des conversions », « paramètres UTM » ou « plan de tracking ». Cette compétence couvre l'implémentation, le débogage et la stratégie de tracking.
---name: implementation-analytics-et-trackingdescription: "À utiliser quand l'utilisateur doit mettre en place, auditer ou améliorer le tracking et la mesure analytics. À utiliser aussi quand l'utilisateur mentionne « analytics », « tracking », « GA4 », « Google Analytics », « GTM », « Google Tag Manager », « suivi d'événements », « tracking des conversions », « paramètres UTM » ou « plan de tracking ». Cette compétence couvre l'implémentation, le débogage et la stratégie de tracking."---# Implémentation Analytics & TrackingTu es un expert en implémentation analytics qui comprend que la qualité des données compte plus que leur quantité. Un mauvais tracking mène à de mauvaises décisions.## La vérité sur l'analytics**La plupart des implémentations analytics échouent parce que :**- Elles tentent de tout tracker, sans stratégie- Les conventions de nommage sont incohérentes- Personne ne maintient ni ne valide les données- Les décisions ne sont pas reliées aux métriques**Un bon analytics :**- Track ce qui compte pour la prise de décision- Maintient une rigueur stricte sur la qualité des données- Utilise des conventions de nommage cohérentes- Se relie clairement aux questions business---## La stratégie analytics avant tout### Avant d'implémenter quoi que ce soit**Réponds à ces questions :**1. **Quelles décisions ces données vont-elles éclairer ?**- Pas « ce qui serait sympa de savoir », mais ce que tu vas réellement FAIRE différemment2. **Quelles questions faut-il répondre ?**- « Quels canaux génèrent le plus de conversions ? »- « Où les utilisateurs abandonnent-ils ? »- « Quel contenu engage les visiteurs ? »3. **Quel est le tracking minimum nécessaire pour répondre à ces questions ?**- Commence petit, élargis selon les besoins### Le cadre de mesure**Pour chaque question business :**```Question : « Quels canaux marketing ont le meilleur ROI ? »Métriques nécessaires :- Dépenses par canal (plateformes publicitaires)- Conversions par canal (analytics)- Chiffre d'affaires par canal (CRM/backend)Événements à tracker :- Pages vues (avec attribution de la source)- Conversions (inscription, achat, demande de démo)- Événements de revenu (achat avec valeur)```---## Stratégie de tracking des événements### Conventions de nommage des événements**Choisis une convention et respecte-la :****Objet_Action (recommandé) :**```inscription_demarreeinscription_termineebouton_cliqueformulaire_soumisvideo_lue```**Action_Objet :**```demarre_inscriptiontermine_inscriptionclique_boutonsoumis_formulaire```**Catégorie_Objet_Action (pour les produits complexes) :**```paiement_checkout_termineetape_onboarding_termineearticle_blog_consulte```**Règles :**- Toujours en minuscules- Underscores entre les mots- Sois précis : `cta_hero_clique` plutôt que juste `clique`- Pas d'espaces ni de caractères spéciaux- Documente chaque événement### Types d'événements**1. Pages vues (généralement automatique)**- Track tous les chargements de page- Enrichis avec les métadonnées de page (catégorie, auteur, etc.)**2. Actions utilisateur (à tracker explicitement)**- Clics sur boutons- Interactions avec les formulaires- Utilisation de fonctionnalités- Engagement avec le contenu**3. Événements système (déclenchés côté serveur)**- Inscription terminée- Achat terminé- Changement d'abonnement- Montée en gamme de plan**4. Conversions (sous-ensemble des précédents)**- Actions représentant une valeur business- À marquer comme conversions dans l'outil analytics---## Événements essentiels à tracker### Événements du site marketing**Navigation :**```page_vue (enrichi avec : titre_page, type_page, groupe_contenu)profondeur_scroll (25 %, 50 %, 75 %, 100 %)lien_externe_clique (url_destination)```**Engagement :**```cta_clique (texte_bouton, emplacement_bouton, page)video_lue (id_video, titre_video, duree)formulaire_demarre (nom_formulaire, emplacement_formulaire)formulaire_soumis (nom_formulaire, emplacement_formulaire)ressource_telechargee (nom_ressource, type_ressource)```**Conversion :**```inscription_demarree (source, medium, campagne)inscription_terminee (methode, plan_selectionne)demo_demandee (source, taille_entreprise)essai_demarre (plan, source)achat_termine (plan, valeur, devise)```### Événements produit/app**Onboarding :**```onboarding_demarreetape_onboarding_terminee (numero_etape, nom_etape)onboarding_termine (temps_ecoule)palier_activation_atteint (nom_palier)```**Usage principal :**```fonctionnalite_utilisee (nom_fonctionnalite)action_terminee (type_action, contexte)projet_creemembre_equipe_inviteintegration_connectee (nom_integration)```**Monétisation :**```page_tarifs_consulteeplan_selectionne (nom_plan)checkout_demarre (plan, prix)paiement_termine (plan, valeur, devise)abonnement_upgrade (ancien_plan, nouveau_plan)abonnement_annule (plan, raison)```### Événements e-commerce**Navigation produit :**```produit_consulte (id_produit, nom_produit, categorie, prix)liste_produits_consultee (nom_liste, produits[])recherche_effectuee (requete, nombre_resultats)```**Panier :**```produit_ajoute_panier (id_produit, quantite, prix)produit_retire_panier (id_produit, quantite)panier_consulte (articles[], valeur_totale)```**Checkout :**```checkout_demarre (articles[], valeur)info_livraison_saisieinfo_paiement_saisieachat_termine (id_commande, valeur, articles[], devise)```---## Propriétés des événements (paramètres)### Propriétés standard**À inclure avec chaque événement :**```javascript{timestamp: "2024-01-15T10:30:00Z",page_url: "/tarifs",page_title: "Tarifs",user_id: "12345", // si connectésession_id: "abc123"}```**À inclure avec les événements pertinents :**```javascript// Propriétés utilisateuruser_type: "gratuit" | "essai" | "payant",user_plan: "starter" | "pro" | "entreprise",account_id: "entreprise_123", // pour le B2B// Propriétés de campagneutm_source: "google",utm_medium: "cpc",utm_campaign: "marque_2024",// Propriétés produitproduct_id: "SKU123",product_name: "Widget Pro",category: "Widgets",price: 49.99,currency: "EUR"```### Bonnes pratiques sur les propriétés- Utilise des noms cohérents entre les événements- Utilise des types de données cohérents (texte, nombre, booléen)- N'inclus pas de données personnelles (PII) dans les propriétés- Documente les valeurs attendues pour chaque propriété- Garde un nombre de propriétés raisonnable (GA4 a des limites)---## Implémentation GA4### Configuration de base**1. Créer une propriété GA4**- Créer dans l'admin Google Analytics- Récupérer l'ID de mesure (G-XXXXXXXXXX)**2. Installer GA4**```html<!-- Balise Google (gtag.js) --><script async src="https://www.googletagmanager.com/gtag/js?id=G-XXXXXXXXXX"></script><script>window.dataLayer = window.dataLayer || [];function gtag(){dataLayer.push(arguments);}gtag('js', new Date());gtag('config', 'G-XXXXXXXXXX');</script>```**3. Ou installer via GTM (recommandé)**- Créer une balise de configuration GA4- Déclencheur sur toutes les pages- Ajouter l'ID de mesure### Suivi d'événements GA4**Via gtag.js :**```javascriptgtag('event', 'inscription_terminee', {method: 'email',plan: 'essai_gratuit'});```**Via dataLayer (pour GTM) :**```javascriptdataLayer.push({event: 'inscription_terminee',method: 'email',plan: 'essai_gratuit'});```### Conversions GA4**Configurer les conversions :**1. Les événements apparaissent automatiquement dans GA4 dès qu'ils sont trackés2. Aller dans Admin > Événements3. Activer « Marquer comme conversion » pour les événements de conversion4. Ou créer via Admin > Conversions > Nouvel événement de conversion### Dimensions personnalisées GA4**Quand les utiliser :**- Pour des propriétés que tu veux segmenter dans les rapports- Au-delà des paramètres automatiques de GA4**Configuration :**1. Admin > Définitions personnalisées > Créer une dimension personnalisée2. Choisir la portée : Événement, Utilisateur ou Article3. Mapper avec le nom du paramètre de tes événements---## Implémentation Google Tag Manager### Structure du conteneur GTM**Balises (ce qui se déclenche) :**- Configuration GA4 (balise de base)- Balises d'événements GA4- Meta Pixel- LinkedIn Insight- HTML personnalisé (pour les autres outils)**Déclencheurs (quand ça se déclenche) :**- Vue de page (DOM Ready, Window Loaded)- Déclencheurs de clic (tous les éléments, liens uniquement)- Soumission de formulaire- Événements personnalisés (depuis le dataLayer)- Profondeur de scroll- Minuteur**Variables (valeurs dynamiques) :**- Intégrées : texte du clic, URL du clic, chemin de page, etc.- Variables de couche de données (Data Layer)- Variables JavaScript- Tables de correspondance### Bonnes pratiques GTM**Convention de nommage :**```Balises : [Type de balise] - [Description]GA4 - Vue de pageGA4 - Inscription terminéeFB - AchatDéclencheurs : [Type de déclencheur] - [Description]Clic - Boutons CTAFormulaire - Soumission contactPersonnalisé - Inscription terminéeVariables : [Type de variable] - [Nom]DLV - Nom du formulaireJS - Domaine email utilisateur```**Organisation :**- Utilise des dossiers pour regrouper les éléments liés- Ajoute des notes décrivant l'objectif- Note de version à chaque publication### Modèle DataLayer**Pousser des événements depuis ton code :**```javascript// À la fin de l'inscriptiondataLayer.push({event: 'inscription_terminee',user_id: '12345',signup_method: 'google',plan_selected: 'essai_gratuit'});// À l'achatdataLayer.push({event: 'purchase',ecommerce: {transaction_id: 'T12345',value: 99.99,currency: 'EUR',items: [{item_id: 'SKU123',item_name: 'Nom du produit',price: 99.99,quantity: 1}]}});```---## Paramètres UTM### Paramètres UTM standard| Paramètre | Objectif | Exemple ||-----------|---------|---------|| utm_source | Origine du trafic | google, facebook, newsletter || utm_medium | Support marketing | cpc, email, social || utm_campaign | Nom de la campagne | soldes_printemps_2024 || utm_content | Variante de contenu | hero_cta, lien_sidebar || utm_term | Mot-clé payant | chaussures+running |### Bonnes pratiques UTM**Règles de nommage :**- Tout en minuscules (Google ≠ google)- Utilise des underscores ou des tirets de façon cohérente- Sois précis mais concis- Tiens un tableau maître des UTM**Hiérarchie :**```Source : où (google, facebook, newsletter)Medium : comment (cpc, email, social, referral)Campaign : quoi (lancement_produit, black_friday)Content : quelle variante (cta_v1, banniere_a)```**Exemples d'URL :**```// Google Adsexemple.fr/landing?utm_source=google&utm_medium=cpc&utm_campaign=marque_2024// Campagne emailexemple.fr/soldes?utm_source=newsletter&utm_medium=email&utm_campaign=digest_hebdo&utm_content=bouton_hero// Post socialexemple.fr/blog?utm_source=linkedin&utm_medium=social&utm_campaign=thought_leadership```---## Débogage et validation### Outils de test**GA4 DebugView :**- Flux d'événements en temps réel- Activable via extension navigateur ou paramètre d'URL (?debug_mode=true)- Voir les événements, paramètres, propriétés utilisateur**Mode aperçu GTM (Preview) :**- Tester avant de publier- Voir quelles balises se déclenchent- Consulter l'état du dataLayer- Valider les déclencheurs**Extensions navigateur :**- GA Debugger- Tag Assistant- dataLayer Inspector+- Omnibug### Liste de contrôle de validation**Pour chaque événement :**- [ ] L'événement se déclenche à la bonne action- [ ] Le nom de l'événement correspond à la spec- [ ] Tous les paramètres requis sont présents- [ ] Les valeurs de paramètres ont le bon type- [ ] Pas d'événements en double- [ ] Fonctionne sur mobile et desktop- [ ] Fonctionne sur tous les navigateurs### Problèmes courants| Problème | Cause | Correctif ||-------|-------|-----|| Événements absents | Balise qui ne se déclenche pas | Vérifier la configuration du déclencheur || Valeurs de paramètre erronées | Variable mal configurée | Vérifier la configuration de la variable || Événements en double | Balises ou listeners multiples | Vérifier le code en doublon || Événements manquants sur mobile | Problème de viewport ou de timing | Tester sur de vrais appareils || Valeurs de conversion erronées | Problème de devise ou de format | Vérifier l'extraction de la valeur |---## Tracking des conversions pour les Ads### GA4 vers Google Ads**Configuration :**1. Lier les comptes GA4 et Google Ads2. Dans GA4 : Admin > Liens de produits > Liaison Google Ads3. Dans GA4 : marquer les événements comme conversions4. Dans GA4 : Admin > Événements > Activer « Inclure dans les conversions Google Ads »5. Dans Google Ads : importer les conversions depuis GA4### Meta (Facebook) Pixel**Pixel de base :**```html<!-- Code Meta Pixel --><script>!function(f,b,e,v,n,t,s){...}(window,document,'script','https://connect.facebook.net/en_US/fbevents.js');fbq('init', 'YOUR_PIXEL_ID');fbq('track', 'PageView');</script>```**Événements standard :**```javascriptfbq('track', 'Lead');fbq('track', 'CompleteRegistration');fbq('track', 'Purchase', {value: 99.99, currency: 'EUR'});```### LinkedIn Insight Tag**Balise de base :**```html<script type="text/javascript">_linkedin_partner_id = "YOUR_PARTNER_ID";// ... reste de la balise</script>```**Tracking des conversions :**```javascriptwindow.lintrk('track', { conversion_id: CONVERSION_ID });```---## Documentation du plan de tracking### Modèle de plan de tracking```markdown# Plan de tracking : [Nom du site/produit]## Vue d'ensemble- Outils : GA4, GTM, Meta Pixel- Dernière mise à jour : [Date]- Responsable : [Nom]## Événements### Événements marketing| Nom de l'événement | Description | Déclencheur | Propriétés ||------------|-------------|---------|------------|| inscription_demarree | L'utilisateur commence l'inscription | Clic sur le CTA d'inscription | source, medium, campagne || inscription_terminee | L'utilisateur termine l'inscription | Inscription réussie | methode, plan |### Événements produit| Nom de l'événement | Description | Déclencheur | Propriétés ||------------|-------------|---------|------------|| projet_cree | L'utilisateur crée son premier projet | Enregistrement du projet | type_projet |## Dimensions personnalisées| Nom | Portée | Paramètre | Description ||------|-------|-----------|-------------|| user_type | Utilisateur | user_type | gratuit, essai, payant |## Conversions| Conversion | Événement | Comptage | Google Ads ||------------|-------|----------|------------|| Inscription | inscription_terminee | Une fois par utilisateur | Oui || Achat | achat_termine | À chaque événement | Oui |## Conventions UTM| Source | Quand l'utiliser ||--------|-------------|| google | Google Ads, organique || facebook | Publicités Meta || linkedin | Publicités LinkedIn ou organique |```---## Confidentialité et conformité### Consentement aux cookies**Obligatoire dans l'UE/au Royaume-Uni/en Californie (et de plus en plus ailleurs) :**- Ne pas déclencher de tracking avant le consentement- Mettre en place une plateforme de gestion du consentement (CMP)- Utiliser le GA4 Consent Mode pour un tracking partiel### GA4 Consent Mode```javascript// Avant le consentementgtag('consent', 'default', {analytics_storage: 'denied',ad_storage: 'denied'});// Après octroi du consentementgtag('consent', 'update', {analytics_storage: 'granted',ad_storage: 'granted'});```### Minimisation des données- Ne collecte que ce dont tu as besoin- Ne stocke pas de données personnelles dans l'analytics- Configure une durée de rétention adaptée- Active l'anonymisation IP quand c'est requis- Documente ce que tu collectes et pourquoi---## Format de sortie### Livrable : plan de tracking```# Plan de tracking : [Nom du site]## Événements à implémenter### Priorité haute1. [Événement] : [Description] : [Déclencheur]Propriétés : [Liste]### Priorité moyenne...## Code d'implémentation### Événements GA4[Extraits de code]### Configuration GTM[Spécifications balises/déclencheurs/variables]## Liste de contrôle de test- [ ] [Étape de validation 1]- [ ] [Étape de validation 2]## Documentation[Lien vers le plan de tracking complet]```---## Questions à poserSi tu as besoin de plus de contexte :1. Quels outils analytics utilises-tu (GA4, Mixpanel, Amplitude) ?2. Quelles actions/conversions clés dois-tu tracker ?3. As-tu Google Tag Manager ?4. Quelles plateformes publicitaires utilises-tu ?5. As-tu des exigences de consentement ?6. À quoi ressemble ton tracking actuel ?7. Quelles questions business faut-il éclairer ?---## Compétences liées- **ab-test-designer** : pour le tracking des expériences- **attribution-model-auditor** : pour l'attribution des conversions- **seo-audit** : pour l'analyse du trafic organique- **page-cro** : pour l'optimisation de la conversion (utilise ces données)- **ltv-cac-ratio-optimizer** : pour le suivi du chiffre d'affaires---*Compétence adaptée en français depuis le dépôt open source [anthropics/skills](https://github.com/anthropics/skills) (licence Apache 2.0).*
Questions
Questions fréquentes
GA4 seul suffit-il ou faut-il aussi passer par Google Tag Manager ?
GA4 peut se poser en direct avec la balise gtag.js, mais dès que vous avez plus de 5 à 10 événements à suivre (CTA, formulaires, achats), GTM devient indispensable : vous ajoutez ou modifiez un tracking sans redéployer le site, et vous centralisez GA4, Meta Pixel et LinkedIn Insight dans un seul conteneur. La bonne pratique est GTM en interface, avec une balise de configuration GA4 qui se déclenche sur toutes les pages. Pour une PME qui tourne aussi des campagnes payantes, GTM fait gagner un temps considérable dès le deuxième outil ajouté.
Quels événements dois-je vraiment tracker en priorité, sans noyer mon compte GA4 ?
Commencez par les seuls événements qui déclenchent une décision : inscription_terminee, demo_demandee, achat_termine ou formulaire_soumis, chacun marqué comme conversion dans GA4. Ajoutez ensuite cta_clique et profondeur_scroll pour comprendre l'engagement avant conversion. Tout tracker dès le départ, sans lien avec une question business précise, est l'erreur numéro un : vous finissez avec des données que personne ne consulte ni ne maintient.
À quelle fréquence dois-je vérifier que mon tracking fonctionne toujours ?
Un contrôle mensuel minimum, et systématiquement après toute refonte de page ou changement de formulaire, car un tracking cassé ne prévient jamais : les chiffres baissent silencieusement sans erreur visible. Utilisez le DebugView de GA4 (paramètre ?debug_mode=true) et le mode Aperçu de GTM avant chaque publication pour vérifier que les bonnes balises se déclenchent avec les bons paramètres. Les pannes les plus fréquentes viennent d'un déclencheur mal configuré ou d'événements en double, souvent après l'ajout d'un nouveau bouton ou d'un plugin sur le site.
Comment gérer le consentement RGPD sans perdre toute ma mesure ?
Le tracking analytics et publicitaire ne doit jamais se déclencher avant le consentement, sous peine de sanction CNIL. La solution technique est le GA4 Consent Mode : vous posez un état par défaut analytics_storage et ad_storage sur denied, puis vous le passez à granted uniquement quand l'utilisateur accepte via votre bandeau de consentement. Bien implémenté, ce mode permet à GA4 de modéliser une partie du comportement des utilisateurs qui refusent, réduisant la perte de données par rapport à un tracking simplement coupé.
Comment savoir si mon budget publicitaire est bien attribué au bon canal ?
Il faut relier trois sources : les dépenses par canal dans les plateformes pub, les conversions par canal dans GA4, et le chiffre d'affaires réel dans votre CRM ou back-office, car GA4 seul ne suffit jamais à juger la rentabilité. Liez votre compte GA4 à Google Ads (Admin > Liens de produits) pour importer les conversions, et posez des UTM cohérents et systématiques sur chaque lien sortant (utm_source, utm_medium, utm_campaign en minuscules). Sans tableau maître des UTM tenu à jour, vous perdez la comparabilité d'un mois sur l'autre et l'attribution devient inexploitable.