Ce qui se passe probablement
Les propriétés UTM sont absentes ou mal associées
Pour enregistrer utm_source, utm_medium ou utm_campaign dans la fiche du contact, les propriétés correspondantes doivent exister. Leur nom interne doit également correspondre au paramètre transmis ou au mapping utilisé par l’implémentation.
Les champs masqués ne figurent pas dans le formulaire publié
Les champs ont parfois été ajoutés à un formulaire différent de celui présent sur la page : ancienne version, autre intégration, formulaire autonome, fenêtre modale ou parcours externe. La configuration correcte n’a alors aucun effet sur l’envoi réel.
Les paramètres disparaissent avant l’envoi
Les UTM peuvent être visibles sur la page d’arrivée, puis se perdre lors d’un changement de page, d’un changement de langue, d’une redirection, de l’ouverture d’un calendrier ou d’un clic vers un autre domaine.
Le code de suivi HubSpot ne couvre pas tout le parcours
Sur un site externe, le code HubSpot et la configuration des domaines permettent de relier les visites, les pages et les formulaires. Une page, un sous-domaine ou une étape non couverte peut fragmenter la source du contact.
Le consentement ou les protections du navigateur limitent la mesure
Une CMP, des bloqueurs, les restrictions de certains navigateurs ou les réglages de confidentialité peuvent empêcher le chargement de scripts ou l’utilisation de cookies. Une architecture reposant uniquement sur la reconnaissance du visiteur devient alors fragile.
Le site fonctionne comme une application monopage
Avec React, Next.js ou une autre SPA, un changement de route ne provoque pas toujours un nouveau chargement de page. Si HubSpot ne reçoit pas correctement ces pages vues virtuelles, le contexte de navigation et l’attribution peuvent être incomplets.
Le contact existait déjà dans HubSpot
Un contact connu peut conserver une ancienne valeur, ne mettre à jour que certaines propriétés ou présenter des différences entre source d’origine, dernière source et UTM personnalisées. Le seul affichage actuel ne suffit pas pour comprendre ce qui s’est passé.
Cas que l'on retrouve sur des comptes réels
Compare chaque scénario au comportement observé dans Tracking et conserve une preuve vérifiable avant de retenir la cause.
L’événement apparaît dans une seule couche
Navigateur, serveur, analytics et CRM peuvent recevoir des versions différentes de la même action.
Une action est comptée plusieurs fois
Duplication browser/server, déclencheurs répétés ou identifiants absents peuvent gonfler les résultats.
Le consentement modifie le chemin observable
Le timing, les refus et les mises à jour tardives changent les identifiants et événements transmis.
Les totaux ne correspondent pas au business
Un événement analytics ne prouve pas qu’un lead, une commande ou une réservation valide atteint le backend.
Comment vérifier sans casser la configuration
Ouvrez en navigation privée une URL de test contenant des valeurs faciles à reconnaître, par exemple ?utm_source=qa&utm_medium=test&utm_campaign=hubspot_utm_debug.
Vérifiez que les paramètres sont encore présents sur l’URL exacte qui contient le formulaire au moment de l’envoi. S’ils ont déjà disparu, examinez d’abord les redirections, boutons et changements de page.
Confirmez l’existence des propriétés de contact destinées à utm_source, utm_medium, utm_campaign, utm_content et utm_term, puis relevez leurs noms internes exacts.
Contrôlez que ces propriétés sont ajoutées comme champs masqués dans le formulaire réellement utilisé en production, et non dans une copie ou une ancienne version.
Envoyez le formulaire avec une nouvelle adresse électronique, puis examinez l’envoi, la fiche du contact, l’historique des propriétés, la page de conversion et les sources native d’origine et récente.
Répétez le test avec un contact existant afin d’identifier les règles d’écrasement, de conservation du premier point de contact ou de mise à jour du dernier point de contact.
Dans les outils de développement du navigateur, vérifiez que le code de suivi HubSpot se charge sur les pages et sous-domaines concernés, sans installation multiple inutile.
Si le site est une SPA, vérifiez que les changements de route sont transmis à HubSpot ou que la conservation des UTM ne dépend pas exclusivement des pages vues virtuelles.
Comparez un test avec consentement accepté et un autre avec consentement refusé. Si les valeurs UTM personnalisées disparaissent, déterminez si leur enregistrement dépend excessivement des cookies ou des scripts bloqués.
Comparez les propriétés UTM personnalisées avec les rapports de trafic et d’attribution publicitaire de HubSpot. Ces données ne doivent pas nécessairement être identiques, car elles répondent à des questions différentes.
Signaux qui décident la prochaine action
Ces signaux séparent le symptôme visible, le premier passage cassé et le résultat final à valider dans Tracking.
Chemin de l’événement
Suivez un événement contrôlé dans dataLayer, requête navigateur, serveur, analytics et CRM/backend.
Consentement et identifiants
Consignez état du consentement, identifiants, horodatages et diagnostics de destination.
Déduplication
Vérifiez event IDs, transaction IDs, reprises et règles de rapprochement browser/server.
Réconciliation business
Comparez leads, commandes ou réservations acceptés avec les événements déclarés sur la même période.
Comment je le résoudrais étape par étape
Définir les données à conserver
Précisez si vous avez besoin des UTM du premier point de contact, du dernier point de contact, du dernier formulaire, de la page d’arrivée, du référent ou des identifiants GCLID, GBRAID et WBRAID. Cette règle évite d’écraser une information utile avec une donnée plus récente.
Configurer les propriétés et champs masqués
Créez les propriétés de contact nécessaires, utilisez des noms internes cohérents et ajoutez-les comme champs masqués dans chaque formulaire concerné. Documentez les propriétés qui peuvent être mises à jour et celles qui doivent conserver leur première valeur.
Maintenir les UTM pendant la navigation
Lorsque le formulaire ne se trouve pas sur la première page, transmettez les paramètres dans les liens internes ou conservez-les temporairement pour renseigner les champs masqués à l’envoi. Cette logique doit respecter le consentement et les règles de confidentialité applicables.
Vérifier le code HubSpot et les domaines
Assurez-vous que le code de suivi est présent sur les pages externes nécessaires, qu’il ne se charge pas plusieurs fois et que les domaines ou sous-domaines du parcours sont correctement pris en compte.
Séparer premier et dernier point de contact
Pour les contacts existants, conservez distinctement l’origine initiale et l’origine récente. La première ne devrait pas disparaître à chaque nouvelle visite, tandis que la dernière peut être actualisée si elle répond à un besoin commercial défini.
Relier l’attribution aux données commerciales
Une fois les UTM et identifiants de clic correctement enregistrés dans le CRM, comparez campagne, prospect, opportunité et vente. Cette base permet ensuite d’évaluer les écarts avec GA4 ou Google Ads et de décider quelles données peuvent être réutilisées pour l’optimisation.
Si cela devient technique
Tu peux suivre cette démarche seul. Si le diagnostic de Tracking révèle un écart entre systèmes, une implémentation délicate ou un blocage qui exige plus de contexte, Lia conserve les vérifications et les transmet à CreatikLab sans repartir de zéro.
Transmettre ce contexte à LiaCe que je ne ferais pas
Confondre la source d’origine calculée par HubSpot avec des propriétés UTM personnalisées.
Créer les propriétés UTM sans les ajouter comme champs masqués au formulaire concerné.
Utiliser le libellé visible d’une propriété au lieu de son nom interne exact.
Tester uniquement la page d’arrivée sans contrôler l’URL au moment précis de l’envoi.
Oublier les pertes de paramètres provoquées par une redirection, un changement de langue, un calendrier ou un passage vers un autre domaine.
Effectuer tous les tests avec un contact existant et ignorer les différences de comportement avec un nouveau contact.
Dépendre uniquement des cookies alors que certaines valeurs peuvent être transmises avec l’envoi du formulaire, dans le respect du consentement.
Conserver les UTM dans HubSpot sans prévoir l’enregistrement des identifiants GCLID, GBRAID ou WBRAID utiles à l’analyse publicitaire.
Questions fréquentes
HubSpot capture-t-il automatiquement les paramètres UTM ?
HubSpot peut analyser les sources de trafic et préremplir des champs à partir des paramètres d’URL. Pour afficher utm_source ou utm_campaign dans des propriétés précises du contact, il faut toutefois créer et associer ces propriétés, utiliser des champs masqués ou mettre en place une transmission adaptée.
Pourquoi les UTM sont-elles visibles sur la page, mais absentes dans HubSpot ?
Le formulaire peut se trouver sur une autre URL, une redirection peut avoir supprimé les paramètres ou les champs masqués peuvent manquer. Il faut vérifier l’URL et les données du formulaire au moment exact de l’envoi, pas seulement lors de l’arrivée sur le site.
Faut-il remplacer les anciennes UTM à chaque nouvel envoi ?
Pas systématiquement. Il est généralement plus lisible de distinguer l’origine initiale, l’origine récente et les UTM du dernier formulaire. Un écrasement permanent ferait perdre l’historique de l’acquisition.
Que se passe-t-il si le visiteur refuse les cookies ?
Il ne faut pas contourner son choix. Enregistrez uniquement les données que l’implémentation et le consentement permettent de transmettre de manière transparente, puis acceptez que certaines informations de session ou d’attribution restent incomplètes.
Cette correction suffit-elle pour fiabiliser Google Ads ?
Elle améliore la continuité des données, mais ne remplace pas le suivi des conversions Google Ads. L’optimisation par qualité ou par ventes réelles nécessite également une configuration cohérente des conversions, des conversions améliorées pour les prospects ou des conversions hors ligne, selon le parcours.