Importer ses données CRM dans Google Analytics

Imaginez le cas suivant : dans Google Analytics, vous avez un identifiant unique par visiteur. Et dans votre CRM, vous avez le même identifiant.
Vous souhaitez donc importer les données issues de votre CRM (qualité du lead, ventes, lifetime value) afin d'analyser la vraie valeur apportée par vos campagnes de marketing digital. C'est ce que nous allons voir dans cet article.

Exemple de données

Cet article peut être vu comme la suite de l'article : Synchroniser ses données client (first party) avec Google Ads et Facebook AdsSynchroniser ses données client (first party) avec Google Ads et Facebook Ads
Dans cet article, nous avons :
  • Créé un identifiant unique (nous l'avons appelé "RUID") pour chaque utilisateur du site web
  • Stocké notre identifiant unique dans une "custom dimension"
  • Poussé le même identifiant unique dans le CRM (Hubspot ici)
Nous avons donc une clé qui nous permet de relier nos données de visites analytics et le comportement des clients dans le CRM.
Imaginons que dans Hubspot, mes contacts ont les informations suivantes :
  • Un "lead status", qui me permet de mesurer la qualité du lead
  • Une "lifetime value"
Image without caption
Dans Google Analytics, j'ai une custom dimension qui contient le même ID :
Image without caption
Mon objectif est d'importer les données du CRM dans Google Analytics, afin de pouvoir ensuite utiliser ces données de manière combinée.
Dans cet exemple, nous utilisons Hubspot, mais l'idée est surtout de comprendre comment fonctionne l'import dans Google Analytics. Cela pourrait se faire avec n'importe quelle source de données, pour peu que vous ayez une clé unique pour lier les données.

Créer les custom dimensions et custom values dans Google Analytics

Dans Google Analytics, je dois créer les champs qui vont recevoir les informations présentes dans Hubspot. Nous allons importer le "Lead status". Nous allons donc créer une "custom dimension" :
Aller dans Admin → Property → Custom definitions :
Image without caption
Je crée d'abord ma "custom dimension". Elle a un scope "user", car cette information s'applique à toutes les interactions de cet utilisateur :
Image without caption

Importer les données depuis mon CRM vers Google Analytics

Télécharger les données depuis Hubspot

Dans Hubspot, depuis la vue "contacts", cliquer sur "Download". Bien entendu, nous chercherons à automatiser tout cela plus tard.
Ici, mon fichier ressemble simplement à cela :
Image without caption
Et nous allons le simplifier pour arriver au format demandé par Google Analytics (un csv séparé par des virgules, UTF-8) :
Image without caption

Importer les données dans Google Analytics

Dans Admin → Property → Data Import
Image without caption
Choisir "User data" :
Image without caption
Choisir la clé (ici, notre identifiant unique) et la donnée à Importer :
Image without caption
Ma propriété d'import est prête :
Image without caption
Maintenant, il me faut encore importer le fichier csv. Cliquez sur "Upload file" pour télécharger votre fichier. Vous aurez ensuite accès à la liste de vos dernier téléchargements :
Image without caption

Visualiser la donnée

Selon la taille du fichier, il faut attendre entre 12h et 48 h pour que les données soient accessibles dans l'interface Google Analytics. Le principe est que vous avez maintenant, en plus des données classique de Google Analytics, accès aux données issues de votre CRM sur la qualité des leads.
Sur mon exemple très simple :
Image without caption
Il est donc possible de connaître la qualité des leads générés par canal par exemple, ou encore de calculer un taux de conversion offline par canal ou par campagne.

Les limites : Analytics vs Analytics 360

Que se passe-t-il si je mets à jour la donnée dans mon CRM ?

Imaginons que votre lead évolue. Il passe de lead en cours (In Progress), à "lead converti". Lors de votre prochain import, et sachant que la dimension est à la maille "user", alors les données seront mises jour avec le dernier statut du lead.
A la limite près que nous allons voir juste après, qui dépend de la version de Google Analytics que vous avez (standard ou Analytics 360)

La limite de l'import de donnée dans Google Analytics standard

La très grosse limite de l'import de donnée avec Google Analytics "standard" (sa version gratuite), est qu'elle n'est pas rétroactive.
Dans mon exemple, si j'importe la donnée sur un lead : au moment de l'import il ne se passe rien. La donnée passée n'est pas mise à jour.
Ce n'est que lorsqu'il revient sur le site que la donnée "Hubspot Lead Status" est mise à jour. Cela signifie donc que, pour tous les utilisateurs qui ne reviennent pas sur le site, la donnée ne va pas remonter.
Cela rend la fonctionnalité quasiment inutile. C'est la raison pour laquelle, dans le cas de Google Analytics, nous conseillons de faire les croisements de donnée en dehors de Google Analytics. Par exemple directement dans Google Data Studio, ou alors via des exports dans Google Big Query (ou un autre data warehouse).
Et si vous souhaitez vraiment pousser les données dans Google Analytics (par exemple pour faire des segments pour Google Ads), alors il faut "forcer" la mise à jour de l'information. En quelque sorte en "simulant" périodiquement une visite des leads dans Google Analytics. Nous ferons un article sur le sujet, mais en attendant c'est bien expliqué ici : https://www.upbuild.io/blog/crm-data-google-analytics-measurement-protocol/

Import dans Google Analytics 360 avec "Query Time Data Import"

Seulement pour Google Analytics 360 (la version payante donc), on peut choisir d'impacter les données historiques au moment de l'import.
Il suffit de cocher la case "Query time" au moment de définir le type d'import :
Image without caption