Tracking Cross-Domain avec Google Tag Manager et Google Analytics

Dans cet article, nous allons voir comment mettre en place le "cross-domain tracking" avec Google Tag Manager et Google Analytics. Cette méthode ne s'applique pas si vous utilisez le taggage gtag.js, ou GA4.
La source se trouve ici : https://support.google.com/tagmanager/answer/6164469?visit_id=637400125458547451-1941035303&rd=1, mais elle n'est pas très détaillée, et peut générer des erreurs.

Pourquoi vouloir faire du tracking cross-domain ?

Il existe trois situations assez classiques pour lesquelles vous souhaiterez faire cela :
  • Le paiement se fait sur un domaine externe, et vous souhaitez avoir la continuité du tracking.
  • Votre acquisition se fait sur une landing page hébergée sur un domaine externe (cela arrive lorsque l'on utilise des "page builder" par exemple).
  • Vous disposez de plusieurs domaines internationaux, et souhaitez compter les sessions qui passent de l'un à l'autre comme une unique session.
Pour faire simple, il y a deux choses à faire :
  1. Configurer Google Tag Manager
  1. Mettre à jour la "referral exclusion list" dans Google Analytics.
Voici schématiquement les 3 situations :
Image without caption
Attention : si vous souhaitez suivre votre trafic entre sous-domaines, ce n'est pas la marche à suivre. Voir à la fin de cet article.
Il existe un cas particulier, pour le cas où vous avez plusieurs trackers GA sur la même page : https://www.simoahava.com/gtm-tips/cross-domain-tracking-with-multiple-ga-trackers/

1- Configuration Google Tag Manager

Modifier votre variable "Google Analytics Settings"

Dans la configuration de votre variable Google Analytics Setting, modifiez le champ "cross-domain tracking" pour y ajouter les domaines concernés.
Si vous souhaitez uniquement un sous-domaine, par exemple : landing.externaldomain.com, alors renseignez le sous-domaine, et non pas le domaine principal :
Image without caption
Puis dans "Fields to set", ajouter la ligne allowLinker=true
Image without caption
Sauvegarder et publier les modifications.

Tester et debuguer

Dans GTM, passez en mode "preview". Supprimez tous les cookies liés à vos domaines, puis entrez votre URL externe dans le debuguer, en y ajoutant des paramètres : https://externaldomain.com/?utm_source=cd_test&utm_medium=cd_test
Image without caption
Test 1 : cliquer sur un lien menant vers l'autre domaine. Cela doit vous amener vers une URL à paramètre, du type : https://www.mydomain.com/url?_ga=2.133006542.1706639712.1604507088-190127317.1604507088
Cela signifie que les informations d'identifiant et de session sont bien passées d'un domaine à l'autre.
Test 2 : ouvrir la console dévelopeur. Vous devez voir quelque chose comme cela :
Image without caption
Cela signifie que les informations gid et client id ont bien été prises en compte.
Test 3 : aller dans Google analytics → real time view. Et regarder si vous avez bien une visite avec comme source "cd_test"
Pour aller plus loin dans les tests, voir cet article pour référence : https://www.simoahava.com/analytics/troubleshooting-cross-domain-tracking-in-google-analytics/

2- Configuration Google Analytics

Mettre à jour la "Referral exclusion list"

Dans Google analytics, aller dans Admin → Referral exclusion list (au niveau de la propriété)
Image without caption
Puis ajouter les domaines qui ne doivent pas être considérés comme des domaines externes.

En option : ajouter le "hostname" par défaut dans la vue

Par défaut, Google Analytics ne montre que le "page Path". Ainsi, une vue sur https://externaldomain.com/ ou https://mydomain.com/ afficheront toutes les deux la page "/". Pas très pratique.
Il est donc possible de faire en sorte que Google Analytics concatène le hostname avec l'URL. Pour cela, aller dans : Admin → "view" → Filters. Et créer un nouveau filtre
Image without caption
Et remplir le filtre de la manière suivante : "Hostname" : (.*). Request URL : (.*). Output : request URL : $A1$B1
Image without caption
Attention : comme tous les filtres, cela n'est pas rétro-actif. Cela signifie qu'il peut être complexe de retracer l'historique. Aussi, si vous utilisez les URLs dans d'autres configurations (par exemple les objectifs), il faudra les mettre à jour

Bonus : tracking des sous-domaines

Comme indiqué plus haut, le tracking cross sous-domaines est plus simple, et il est par défaut dans la plupart des configurations analytics et GTM. Mais dans le doute, voici comment faire :

Dans GTM

Il suffit de s'assurer que sa variable "Google Analytics Setting" a bien la propriété "Cookie Domain" "auto". C'est la version par défaut
Image without caption

Dans Google Analytics

Il suffit de s'assurer que votre nom de domaine est bien dans la "Referral Exclusion list", ce qui est aussi la configuration par défaut lorsque vous créez votre propriété :
Image without caption
Il peut être aussi utile d'ajouter le "hostname" à votre URL par défaut dans Google Analytics (voir plus haut).