GTM GA callbacks

GTM eventCallback et GA hitCallback / event_callback

  • 31 janvier 2019

Le hitCallback de Google Analytics et l’eventCallback de Google Tag Manager sont des fonctions de retours à connaitre dès lors qu’une action doit être réalisée respectivement après un appel (« hit ») Google Analytics ou le déclenchement d’un évènement (« event ») via le dataLayer de Google Tag Manager. Cette action peut être de différente nature comme une insertion en base de données, un changement de status au niveau interface, la soumission d’un formulaire, etc … en définitive tout ce que vous souhaitez exécuter après avoir réalisé un appel ou un envoi d’évènement. Vous comprenez mieux également pourquoi on appelle cela « fonction de retour » (« callback »).

Bien qu’il est préférable (ce n’est que mon point de vue) d’utiliser systématiquement Google Tag Manager, démarrons par le hitCallback. Celui-ci est valable pour les implémentations de analytics.js, pour celles et ceux qui ont migrés vers gtag.js il faut utiliser event_callback, le détails ci-dessous.

Le hitCallback (et event_callback) de Google Analytics

Il est donc possible pour chaque appel Google Analytics d’être notifié en retour que l’appel a été réalisé grâce aux fonctions de retours hitCallback et event_callback.

hitCallback avec analytics.js

En définitive tout est dans le nom : « hitCallback ». Cette fonction de retour est appelée après chacun des hit (« appel ») réalisé. Son utilisation que vous retrouvez dans la documentation officielle est illustrée ci-dessous : 

hitCallback

event_callback avec gtag.js

Pour ceux qui ont migré vers gtag.js à partir de 2018 l’implémentation a changé puisque que celle-ci se rapproche maintenant de Google Tag Manager avec l’introduction du dataLayer. La fonction de retour s’appelle alors « event_callback », notez bien que tout est écris en minuscule et qu’il y a un underscore, je vous dis cela pour ne pas confondre avec « eventCallback » que nous allons voir juste après.

event_callback

Le eventCallback de google Tag Manager

Nous sommes maintenant dans le vif du sujet avec cette fonction retour eventCallback qui est déclarée dans le dataLayer.

A chaque fois qu’un event sera déclenchée (parce qu’ajoutée au le dataLayer) alors le callback sera appelé et le paramètre de la fonction contiendra alors automatiquement l’identifiant du conteneur déclenché. Houla, c’est quoi cette histoire ? j’y reviens juste après cette illustration :

eventCallback

Concernant le paramètre de la fonction qui est illustrée sur l’image ci-dessous. 

eventCallback ContainerId

Google tend à homogénéiser ses outils et c’est entre autre pour cette raison que l’on a vu apparaitre gtag,js. Quoi qu’il en soit, cela signifie aussi que certains outils utilisent TagManager comme support technique. C’est typiquement le cas de Google Optimize et c’est pour cette raison que vous pouvez constater plusieurs appels à la fonction eventCallback alors que vous n’avez déclenché qu’une seule fois l’évènement (« formSubmitCompleteEvent » sur l’exemple ci-dessous). La source de cette article vient de Shimo. Il y a un appel provenant du déclenchement de l’évènement du dataLayer et un autre provenant de Optimize.

En conclusion, si vous mettez en place eventCallback avec Google Tag Manager pensez à réaliser cette vérification en fonction des scénarios que vous souhaitez mettre en oeuvre. Car il n’est pas non plus interdis que vous souhaitiez exploiter cet appel avec Google Optimize.