Envoyer une conversion de Leads à Google Ads via GTM server side

Sommaire

  1. Qu’est-ce que le tracking server side ?
  2. Envoyer une conversion à Google Ads : les étapes à suivre 
    1. La dataLayer encore et toujours
    2. Récupérer cette information via des tags GA4, côté navigateur
    3. Paramétrer les tags Google Ads dans GTM, côté serveur
    4. La recette

Conclusion

#1 Qu’est-ce que le tracking server side ?

Une tendance de fond dans l’analytics est le passage au tracking server side. 

Le tracking consiste à collecter et envoyer des informations sur les actions effectuées sur votre site par vos utilisateurs à différentes solutions de mesure d’audience, de plateforme publicitaire, de personnalisation et d’autres comme Google Analytics, Facebook Ads, Google Ads, Hotjar etc.

Historiquement, cette technique se fait dans le navigateur de l’utilisateur. Mais depuis quelques années et notamment depuis la sortie de Google Tag Manager (GTM) Server Side en Août 2022, on assiste à un déplacement progressif du tracking dans le navigateur à un tracking côté serveur. 

Les différences entre un tracking côté client et côté serveur :

Le tracking côté client (comprendre au sein du navigateur) envoie des données depuis le navigateur vers solutions externes

Le tracking côté serveur envoie des informations du navigateur à un serveur que vous possédez et contrôlez. Depuis ce serveur vous transférez ces informations vers les solutions externes.

Les avantages à passer à une configuration côté serveur sont nombreux, parfois complexes à saisir et peuvent dépendre de la qualité de votre implémentation. Mais si je devais les résumer synthétiquement :

  • Amélioration du temps de chargement de votre site
  • Meilleur contrôle des données envoyées aux outils tiers
  • Réduction de l’impact des adblockers
  • Possibilité d’allonger de la durée de vie de cookies, qui est limitée sur certains navigateurs comme Safari par exemple.

Je vous recommande ce très bon article d’Analytics Mania pour en savoir plus sur les avantages du tracking server side

Puisqu’on est dans le partage, voici plusieurs sources dont je me suis inspiré pour ma formation et pour écrire cet article : 

Enfin, pour la suite de cet article je vais considérer que vous avez déjà déployé un conteneur GTM Server Side hébergé sur un serveur. Si ce n’est pas le cas, je vous invite à regarder la documentation Google sur comment créer son conteneur GTM et l’héberger et lire les ressources citées juste au-dessus.

#2 Envoyer une conversion à Google Ads : les étapes à suivre

Pour cet exemple, nous allons prendre le cas d’un événement de lead que nous allons envoyer à deux endroits : vers Google Analytics et vers Google Ads, via un tracking server side. 

La démarche est assez simple et consiste en 4 étapes :

  • avoir l’information disponible dans la dataLayer
  • récupérer l’information dans des tags GA4 côté navigateur
  • déclencher des tags Google Ads côté serveur
  • faire la recette de sa configuration

Étape 1: la dataLayer encore et toujours

Cette étape est assez classique. La manière la plus robuste et la plus fiable dans le temps de suivre une action de vos utilisateurs sur votre site et d’implémenter un événement dans la dataLayer. Pour cela, demandez à votre développeur d’envoyer un event dans la dataLayer à la création du lead.

Exemple d’event dans la dataLayer :

  • Code à implémenter : 
dataLayer.push({'event': 'formStep3});
  • Vérification dans la console chrome, en tapant ‘dataLayer’ dans l’onglet Console :
Aucun texte alternatif pour cette image

Étape 2: Récupérer cette information via des tags GA4, côté navigateur 

Pour récupérer l’information envoyée dans la dataLayer, il faut configurer deux tags GA4 dans votre conteneur GTM web :

  • Un tag de configuration GA4 déclenché sur toutes les pages
  • Un tag event qui se déclenche à la création du lead. 

Le tag de configuration GA4

Pour activer le tag de configuration GA4, il faut aller dans la partie “Balises”, cliquer sur “Nouvelle” et sélectionner la balise Google Analytics : Configuration GA4.

Dans ce tag il faut remplir deux champs :

  • L’ID de mesure, il correspond à l’identifiant du flux de données qui abreuve votre propriété GA4. Vous pouvez récupérer cet ID dans votre compte GA4 > Propriété > Flux de données > Web. L’ID de mesure est de type G-XXXXXXXXXX

La procédure pour trouver son ID de mesure est expliquée plus en détail dans cette vidéo.  

  • Cocher la case ‘Envoyer au conteneur de serveur’ et y renseigner l’URL de conteneur de son serveur. Pour trouver cette URL il faut aller dans les paramètres de son conteneur server side. Si vous hébergez votre conteneur via GCP, l’URL par défaut est de type gtm-xxxxxx.uc.r.appspot.com

En plus de ces deux champs on ajoute le déclencheur ‘All pages’ à ce tag, pour qu’il soit bien activé à chaque nouvelle page vue.

Le tag d’événement GA4

Pour récupérer l’information qu’un lead a été créé, il nous faut déclencher un tag d’événement. Il faut créer une nouvelle balise Google Analytics : Événement GA4

GA4 a une liste d’événements recommandés pour lesquels il faut respecter la nomenclature des événements attendu par GA4, afin que les rapports pré conçus dans l’outil soient alimentés correctement. 

Dans notre exemple pour la création d’un lead le nom de l’événement attendu est : generate_lead. On peut également renseigner une valeur et devise rattachée à l’événement avec les paramètres value et currency.

Enfin, il faut ajouter un déclencheur à ce tag. Nous nous basons ici sur un déclencheur de type “Événement personnalisé” dans lequel nous allons renseigner l’event poussé dans la dataLayer à l’étape 1 : formStep3.

Étape 3: Paramétrer les tags Google Ads dans GTM côté serveur.

Pour faire remonter les données de conversion dans Google Ads, il faut activer 2 tags dans votre conteneur GTM côté serveur :

  • Un tag Conversion Linker
  • Un tag Google Ads Conversion Tracking

Le tag Conversion Linker sert à identifier les landing pages sur lesquelles vos utilisateurs arrivent après avoir cliqué sur une de vos annonces Google Ads. Il permet de matcher un clic à une visite sur votre site et à de futurs conversions. Il faut le déclencher sur toutes les pages, c’est-à-dire mettre le déclencheur ‘All Pages’ à ce tag.

Le tag Google Ads Conversion Tracking a pour but de faire remonter les conversions. Pour l’activer il faut aller sélectionner le tag ‘Suivi des conversions Google Ads’ et renseigner l’ID et le libellé de conversion de l’action qu’on veut tracker, ces informations sont à récupérer dans votre compte Google Ads.

Il faut également un déclencheur pour le tag spécifique à l’événement qu’on veut faire remonter comme conversion. Dans notre exemple, on se base sur l’événement generate_lead qu’on a envoyé avec le tag d’événement GA4 déclenché dans le navigateur. On note que côté serveur, on ne peut plus se baser sur les événements de la dataLayer car celle-ci n’est présente que côté web. On se base alors sur les événements récupérés par les clients. 

Étape 4: La recette

Une fois vos tags implémentés, il est temps de vérifier que votre configuration fonctionne et que les informations sont bien envoyées. 

1- Vérifier l’envoie d’information vers votre serveur.

Dans l’onglet Network de la console Chrome, on vérifie que les hits de GA sont bien envoyés vers l’URL de votre serveur en gtm.XXXXXX.uc.r.appspot.com, en filtrant sur ‘collect?v’.

2 – Utiliser le preview mode de GTM côté serveur

Dans le preview mode de GTM, dans l’onglet Request on peut voir que l’événement generate_lead est bien récupéré par le client GA4. On retrouve l’Incoming HTTP Request au statut 200, tel qu’on l’a vu dans la console chrome juste avant.

On remarque aussi l’Outgoing HTTP Request from Server qui envoie les données de l’événement vers les serveurs Google Analytics pour alimenter notre compte GA4.

Enfin, l’Outgoing HTTP Requests from Browser nous indique que suite à cet événement generate_lead envoyé depuis le navigateur, le client GA4 a bien réceptionné cette information et envoie une requête en réponse du serveur vers le navigateur. Cette réponse renvoie à son tour des données depuis le navigateur vers les serveurs Google Ads pour leur indiquer qu’il y a eu une conversion. 

Pour mieux comprendre ce flux de données navigateur => serveur => navigateur => serveur Google, je vous invite à lire l’article détaillé de Simo Ahava. L’important ici est de voir apparaître cette requête sortante vers le navigateur.

Dans l’onglet Tags, on vérifie également que le tag Google Ads Conversion Tracking est bien déclenché suite à l’événement generate_lead. Si vous voyez bien les requêtes vues juste avant, cela signifie que le tag a bien fonctionné. 

3 – Checker les hits envoyés depuis votre navigateur vers les serveurs Google

Dans l’onglet Network de la console Chrome vérifier qu’on retrouve bien des requêtes envoyées vers les serveurs Google, en filtrant sur ‘random’.

Si vous voyez des informations similaires, cela confirme que le tag côté serveur à bien renvoyer une réponse au navigateur et celui-ci à envoyer à son tour une requête aux serveurs Google pour indiquer qu’une conversion a bien été effectuée. 

Enfin, vous pouvez regarder dans votre compte Google Ads pour vérifier que la conversion remonte bien dans l’outil.

  • Quelques notes pour optimiser son tracking server side

Et voilà, en suivant la démarche décrite dans cet article vous avez pû déployer un tracking des conversions Google Ads via server-side.

Mais pour aller plus loin dans le tracking server-side et en tirer tous les avantages comme décrit en début de l’article, vous pouvez effectuer les améliorations suivantes à votre configuration : 

  • Héberger votre conteneur GTM côté serveur sur un sous-domaine personnalisé. 

Cela vous permettra d’envoyer des requêtes de votre site monsite.fr par exemple vers un sous domaine type analytics.monsite.fr plutôt que vers un domaine en appspot.com. Avec cette démarche on passe d’un contexte 3rd party à un contexte 1st party et on diminue ainsi les risques de se faire bloquer par les adblockers ou les protections mis en place par les différents navigateurs. Je vous recommande cette vidéo pour voir comment héberger votre conteneur sur un sous-domaine et/ou la documentation de Google.

  • Charger la librairie GTM depuis votre conteneur serveur pour rester dans un contexte 1st party. 

Sur votre site, vous avez dû poser initialement le javascript nécessaire au fonctionnement de GTM. Ce javascript va chercher la librairie requise sur le domaine www.googletagmanager.com. Or il est possible de charger cette librairie depuis votre serveur pour rester dans un contexte 1st party, si votre serveur est hébergé sur un sous-domaine. Dans votre conteneur GTM côté serveur il faut activer le client GTM et y indiquer l’ID de votre conteneur web. Puis dans le script GTM posé sur votre site, il faut remplacer l’URL appelée par celle de votre sous-domaine.

Je vous partage deux ressources : la documentation officielle et un descriptif avec vidéos.

Le script GTM tel que fourni depuis le conteneur web

  • Utiliser une URL alternative pour appeler votre librairie GTM

Si vous avez fait les deux points précédents, votre script GTM appelle maintenant une URL type https://analytics.monsite.fr/gtm.js. Vous pouvez utiliser une URL alternative dans le but de cacher aux navigateurs la partie /gtm.js et ainsi éviter encore plus les adblockers.    

Conclusion

Félicitations, vous êtes arrivés au bout de cet article sur le server side et le suivi des conversion Google Ads !

Si le sujet du server side est assez complexe et un gros morceau d’apprentissage même pour nous autres web analysts, l’envoi de données vers GA4 et Google Ads est relativement simple.

Et la question finale : est-ce que c’est le bon moment de passer à un tracking server-side ? 

Mon avis est que c’est effectivement le bon moment mais que la transition doit être progressive. 

Tous les éditeurs n’ont pas encore de tags disponibles côté serveur. Mais pour ceux qui en ont, comme Google Analytics, Google Ads, Facebook Ads et quelques autres, alors je pense qu’il y a un intérêt à les basculer côté serveur dès à présent. Cela aura pour conséquence d’améliorer le temps de chargement de votre site, mieux contrôler les données envoyées à ces éditeurs et améliorer la qualité de la donnée.

N’hésitez pas à me contacter si vous avez un retour sur l’article ou un projet de tracking server side, ce sera un plaisir d’échanger avec vous 🙂

Keep learning !

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Les derniers articles

Le 20/07/2022

Sommaire Conclusion Tous les éléments d’une propriété GA4 #1 L’assistant de configuration Bien que ce soit le premier lien de la propriété, l’assistant de configuration n’est pas vraiment une rubrique […]

Le 23/06/2022

Avec la fin annoncée d’Universal Analytics (UA) à l’été 2023, le passage à GA4 se concrètise pour de nombreuses entreprises.  Dans un article précédent j’évoquais les questions à se poser […]