Guide Google Tag Manager : concepts de base

Vous souhaitez comprendre Google Tag Manager et être capable d’en profiter rapidement ?

Vous souhaitez un guide qui vous explique avec des mots simples, de monsieur tout le monde, comment l’utiliser pour améliorer votre marketing ?

Alors vous êtes au bon endroit 🙂

Cet article est le premier de la série. Ici nous traiterons uniquement des concepts de base de GTM.

Ne négligez pas les bases, ce chapitre constitue les fondations. Et c’est incontournable. (C’est comme dans le bâtiment 😁)

Les autres chapitres du guide

Vous pouvez vous rendre directement aux autres articles si vous le souhaitez :

Sommaire de ce chapitre

Google Tag Manager répond à plusieurs problèmes

Concrètement, vous avez votre site web. Il est beau, il marche bien, tout va bien.

Par contre, vous ne savez pas vraiment ce qu’il s’y passe. Et puis il génère peu de visites. 😰

Vous souhaitez donc :

  • utiliser la pleine puissance de Google Analytics et mesurer combien de visiteurs remplissent des formulaires, cliquent sur les boutons d’appels, téléchargent une brochure, etc…
  • tester quelques campagnes avec Google Ads, et/ou Facebook pour amener plus de monde et (hopefully) obtenir plus de business
  • et puis si vous êtes un power ranger user, vous souhaitez peut-être aussi faire de l’ab testing ou utiliser un outil comme Hotjar par encore mieux comprendre le comportement des visiteurs.

Oui mais voila, dans les 3 cas pré-cités, vous devrez ajouter du code à votre site :

  • des événements Google Analytics pour mesurer les interactions sur vos pages (et pas seulement connaitre les pages vues)
  • des balises de suivi des conversion Google Ads pour être capable de comprendre le retour sur investissement de vos campagnes et pouvoir vraiment les optimiser.
  • des scripts tiers tels que la balise Google Optimize ou le script Hotjar sans lesquels ces outils ne peuvent pas fonctionner.

Ce qui entraine 3 problèmes :

  • si vous n’avez pas les compétences techniques pour le faire vous-même, vous êtes donc tributaire de votre développeur/IT.
  • le code mis « en dur » sur un site peut être corrompu ou effacé à un moment ou un autre (mise à jour, ajout de module, customisation, etc…).
  • le code mis « en dur » va augmenter le temps de chargement de vos pages

Et bien bonne nouvelle, Google Tag Manager résout ces différents problèmes (et plus encore).

  • GTM se met en place par l’ajout d’un code sur votre site (appelé container GTM) une seule fois.
  • Tous les autres codes seront à insérer dans l’interface de GTM grâce à une interface user-friendly à la Google (plutôt que mis à la main dans le code du site)
  • Tous les codes ajoutés avec GTM (appelés balises) sont asynchrones, c’est à dire qu’ils se chargent en parallèle et impacteront beaucoup moins le temps de chargement de vos pages.

Création de compte GTM

Pour pouvoir créer un compte, vous devez d’abord vous connecter à votre compte Google.  Idéalement, celui sur lequel vous avez déjà votre Google Ads, analytics, etc…

Une fois connecté à votre compte Google, rendez vous à l’adresse : https://tagmanager.google.com et cliquez sur créer un compte. Vous arrivez ici :

Renseignez le nom de votre entreprise en nom de compte, définissez votre pays et continuez.

Vous devrez ensuite paramétrer votre container avec le nom de votre site puis choisir le type de container (Web pour un site web) et valider la création en cliquant sur Créer. 🙂

Acceptez enfin les conditions d’utilisation de GTM et passons à la suite.

Google Tag Manager : Le container

Maintenant votre compte créé, la première chose que vous obtenez, c’est le code du container à installer sur votre site :

Comme indiqué, vous devez :

  • installer le code du haut dans la partie head (idéalement tout de suite après la balise html <head>)
  • installer le code du bas juste après la balise html <body>

Ce pour toutes les pages de votre site.

Note : je ne m’attarderais pas ici sur l’installation. Je le fais dans les chapitres suivants.

Pour bien comprendre le concept, ce container est un cheval de Troie 🐴.

C’est à dire que toutes les balises que vous déploierez par GTM seront virtuellement contenues dans container, et en sortiront (ou non) selon les pages et les actions réalisées par les visiteurs.

Finalement c’est un peu comme un lapin qui sort d’un chapeau 😄

Une fois votre compte GTM créé et votre container installé, vous verrez sur la gauche les 5 grandes parties de GTM :

« Présentation » correspond à l’écran d’accueil.

« Dossiers » permet de labelliser/grouper ensemble des balises, déclencheurs, variables de même thématique (ex : Analytics, Google Ads, etc…).

Balises, déclencheurs et variables sont plus importants/complexes, c’est pourquoi nous allons expliquer le concept de chacun d’eux en détail. Commençons par les balises. 🙌

Google Tag Manager : Les balises

Les balises ne sont ni plus ni moins que les bouts de code que vous auriez mis avant en dur sur votre site.

Dans GTM on les appelle balises. Mais c’est aussi appelé ailleurs script, pixel, tag, snippet, container, code de suivi.

Exemples :

  • pixel Facebook
  • script de conversion Google Ads
  • container Google Optimize
  • code de suivi Google Analytics
  • etc… c’est tout la même chose. Pour GTM, ce sont des balises.

Les templates de balise

L’un des nombreux intérêts de passer par GTM pour déployer vos balises (vous sentez qu’on commence gentiment à parler comme des pros ? 🤣), c’est que Google nous livre des templates de balise tout prêt.

Concrètement, cela signifie que plutôt que de devoir copier-coller les scripts des 3rd party (un 3rd party étant un tiers comme Facebook, Optimize, Google Ads, etc…), on peut utiliser les templates GTM existants et simplement y ajouter nos identifiants. 👀

Bon ok, procédons par l’exemple 😄.

Vous souhaitez créer une balise. Vous cliquez donc sur Balise > Nouveau

Vous cliquez ensuite sur configuration de balise :

Et vous verrez alors tous les templates proposés par GTM :

Comme vous pourrez le voir, la liste est longue ! Et sans cesse enrichie. Vous pouvez consulter la liste complète et à jour ici.

Imaginons que vous souhaitiez créer une balise de suivi des conversions Google Ads, vous pourrez directement cliquer sur le template en question et simplement renseigner vos identifiants :

Plutôt que de copier tout le code donné par Google :

C’est juste un exemple pour bien comprendre. Le paramétrage des différentes balises pour de nombreuses applications est expliqué dans d’autres tutos spécifiques et pratiques.

Retrouvez-les tous sur la page générique du guide Google Tag Manager.

Important

Utiliser les templates GTM plutôt que de copier-coller les codes tiers (dans une balise HTML personnalisée) garantit la pérennité pour le futur.

En effet, Google met à jour automatiquement ses templates lorsque c’est nécessaire. Si vous copiez-collez, ce sera à vous de le faire. Pourquoi s’embêter ? 😃

Créer des balises pour lesquelles il n’y a pas de template

GTM ne propose pas des templates pour tous les 3rd party existants. L’un des principaux absent notamment, c’est le pixel Facebook.

Pas d’inquiétude, on peut créer des balises pour tout, même s’il n’existe pas (encore) de template dédié.

Pour cela, on utilise des balises HTML personnalisées :

Et la on peut facilement copier-coller n’importe quel code donné par un tiers.

Exemple avec le pixel Facebook. On commence par copier le code du pixel :

Puis on le colle ensuite dans une balise HTML personnalisée :

Autres avantages des balises GTM

Déployer ses balises par GTM présente de nombreux avantages :

  • On l’a dit : ne pas avoir à mettre « les mains dans le code » à chaque fois
  • Moins d’impact sur les temps de chargement
  • Mais aussi : la capacité de gérer finement le déclenchement (on en parle juste après)
  • La capacité de gérer l’ordre dans lequel se déclenchent plusieurs balises sur une même page. (On peut définir des priorités, ce que l’on ne peut pas forcément faire sans GTM).
  • La capacité de définir si une balise doit se déclencher une ou plusieurs fois sur une page (très pratique dans certains cas).

Ces dernières fonctionnalités (un poil avancé) seront expliquées dans d’autres tutos beaucoup plus orientés pratique, ne vous inquiétez pas. 😃

Options de déclenchement des balises

Il s’agit d’un paramètre avancé dont toutes les balises disposent.

Ce paramètre (dont la valeur par défaut est une fois par évenement) permet de définir si :

  • la balise peut se déclencher de manière illimité sur une page donnée
  • la balise peut se déclenchée une fois par évènement (comprendre évènement datalayer). En d’autre terme à chaque fois que le déclencheur s’active, y compris s’il s’active plusieurs fois sur une même page
  • la balise peut se déclencher une seule fois par page, même si son déclencheur est activé plusieurs fois sur la page.

Priorité des balises

Comme vous le verrez au chapitre suivant, les balises se déclenchent à chaque changement d’état du datalayer.

Vous pouvez donc avoir plusieurs balises à déclencher sur un même état du datalayer.

Exemple : déclencher au moment de la page vue la balise de suivi Analytics, la balise Google Optimize, la balise de remarketing Google Ads.

Comment savoir / définir l’ordre dans lequel ces balises vont se déclencher ?

L’une des premières options c’est la priorité des balises.

Pour chaque balise, dans les paramètres avancés, vous pouvez donner un nombre qui va vous aider à prioriser entre les différentes balises.

L’échelle va de 1 à 99, 99 étant la priorité la plus forte. Si aucune valeur n’est indiquée, le paramètre de priorité par défaut est 0.

Ainsi, si je souhaite que la première balise à se déclencher soit la balise de suivi Analytics, il faut lui donner la priorité 99 :

Attention

Ce système de priorité n’est pas parfait. En effet, les balises seront déclenchées de manière asynchrone, c’est-à-dire que les balises se déclencheront même si la balise précédente n’est pas terminée.

Un moyen plus puissant pour s’assurer un ordre de déclenchement c’est d’utiliser la fonction de séquençage des balises.

Séquençage des balises

Le séquençage de balises est une fonctionnalité GTM qui permet de créer (comme son nom l’indique) des séquences de balises, dans un ordre bien défini.

C’est à dire s’assurer que deux ou plus de balises se déclenchent les uns à la suite des autres dans un ordre bien particulier que l’on a déterminé à l’avance.

Si l’un des tags venait à ne pas être déclenché, nous pouvons même définir que tous les suivants ne le soient pas.

Pourquoi c’est important ?

C’est important parce que certaines balises doivent absolument être déclenchées dans un ordre précis.

Comment ça marche ?

Chaque balise possède des paramètres de séquençage :

Pour ceux et celles curieux de comprendre la mécanique sous-jacente (callacks javascript), consultez ceci.

Dans une séquence de balises, les balises se déclenchent les unes après les autres, après s’être assuré que la précédente dans la série ait réussi à être exécutée.

Voyons un exemple pour bien comprendre.

Imaginons 2 balises : Google Analytics suivi de base et Google Optimize.

La balise Google Analytics (le suivi de base) doit être déclenchée sur toutes les pages, le plus tôt possible.

La balise Google Optimize doit aussi être déclenchée le plus tôt possible, sur toutes les pages. Mais pour qu’elle fonctionne, la balise de suivi de base Analytics doit avoir été déclenchée avant elle (car il y a une dépendance d’Optimize à Google Analytics).

Par conséquent, sur chaque page, on veut que la balise Google Analytics se déclenche le plus tôt possible, immédiatement suivie par la balise Google Optimize.

Un cas idéal de séquençage. 🙂

Par conséquent, nous allons 1) Mettre un niveau de priorité maximum à la balise Google Analytics pour s’assurer que la balise Analytics se déclenche le plus tôt possible.

Et 2) définir que la balise Google Optimize doit être déclenchée immédiatement après en créant une séquence.

Important

Lorsque vous utilisez un séquençage de balise,  seule la balise maitre est déclenchée en fonction du déclencheur elle est attachée.

Ainsi, pour reprendre notre exemple, la balise Google Analytics va être déclenchée par son déclencheur « All Pages ».

Mais toute balise déclenchée avant ou après par le paramétrage d’un séquençage l’est par ce paramétrage, et non par leur propre déclencheur.

Autrement dit, les déclencheurs rattachés à des balises ensuite mises dans un séquençage ne s’expriment plus. Le séquençage prend l’ascendant sur le déclencheur.

Je sais pas si c’est clair ? Si ça ne l’est pas n’hésitez pas à poser vos questions en commentaire.

cas particulier des balises HTML personnalisées

Les principes évoqués ci-dessus sont valables pour tous les tags SAUF les tags HTML personnalisés qui sont un poil différents.

En effet, ceux-ci peuvent nécessiter parfois l’ajout d’un code spécifique pour informer la balise d’après qu’elle s’est bien exécutée ou qu’elle a eut un problème d’exécution.

 La mise en place détaillée et les conditions dans lesquelles ce code supplémentaire doit être ajouté est consultable ici.

Conclusion sur les balises

Très bien. Nous avons fait le tour du concept de balises. Pour moi la balise c’est le « quoi ». => code Analytics, conversion Google Ads, pixel Facebook…

Nous allons maintenant parler des déclencheurs, qui sont le « quand ».

Autrement dit, je déclenche « quoi » (balise) « quand » (déclencheur) 👏

Le concept des déclencheurs dans GTM

Le déclencheur va donc être l’outil qui nous permet de définir quand telle balise doit être déclenchée (comprendre injectée) sur telle page.

Par exemple, le pixel Facebook doit être injecté sur toutes les pages.

Le déclencheur c’est la seconde partie lorsque l’on crée une balise. Si l’on reprend notre exemple du pixel Facebook :

On peut déclencher sur une multitude de conditions. J’en expliquerai beaucoup dans les tutos pratiques.

Et la liste complète et à jour est consultable ici.

Quelques exemples de déclencheurs :

  • sur toutes les pages, sur une page en particulier, sur toutes les pages contenant X
  • lorsqu’un lien est cliqué. Ou un bouton.
  • lorsque la page a été consultée depuis X secondes ou que le visiteur a atteint X% de la hauteur de la page
  • lorsqu’un formulaire a été envoyé
  • et bien plus.

Créer un déclencheur

Vous pouvez créer un déclencheur soit par le menu Déclencheur puis le bouton Nouveau,

soit directement lors de la création d’une balise (comme dans l’exemple de la balise de pixel Facebook juste avant).

Pour terminer l’exemple du pixel Facebook, il doit être déclenché sur toutes les pages. Nous attacherons donc un déclencheur « all pages » à la balise.

Pour ça on clique sur la partie déclenchement de la balise :

On choisira dans ce cas le déclencheur « all pages » qui est le seul créé par défaut.

Notez que pour créer un nouveau déclencheur, il vous suffit de cliquer sur le petit + bleu en haut à droite.

Juste pour bien comprendre la logique GTM, ce déclencheur « all pages », c’est un déclencheur pages vues  qui se déclenche pour toutes les pages :

Je vous montrerai exactement comment créer des déclencheurs pour tout un tas de trucs lorsque nous serons dans les tutos pratiques, pour l’instant on cherche simplement à comprendre les concepts. 😉

Déclencheur à condition unique

Autre exemple, imaginez que vous souhaitez déclencher une balise de suivi des conversions Google Ads sur une page de remerciement après formulaire (/merci.html).

Il vous faut créer un déclencheur dont la règle de déclenchement serait « url » contient « /merci.html ».

C’est à dire qu’on ne veut plus déclencher sur toutes les pages. Mais uniquement sur certaines bien spécifiques :

En l’occurence pour finir notre exemple, sur la page dont l’url contient /merci.html :

Ok, alors maintenant, essayons d’être un tout petit peu plus précis par rapport à tout ça.

On crée une balise, on paramètre un déclencheur et la balise apparaît sur la ou les pages visées par le déclencheur.

Et on a dit que la règle du déclencheur c’est un truc du genre « Page URL  » « contient »  « /merci.html ».

Théorisons un tout petit peu (si si c’est nécessaire). 🙃

On peut dire qu’un déclencheur est une condition pour laquelle une balise va se déclencher ou non.

Dans notre cas, la condition serait : si l’url contient à merci.html => déclenchement de la balise suivi des conversions Google Ads.

Si l’url est égale ou quoi que ce soit d’autre, on déclenche pas. L’URL est donc la variable de déclenchement.

Donc en fait, notre déclencheur pourrait se résumer comme ça : [Variable = URL] [contient] [Valeur = merci.html ].

Ce qui se matérialise comme ça (on l’a vu) dans GTM :

Et le « contient » est finalement un opérateur. (du genre opérateur logique, comme dans les languages de développement mais n’ayez pas peur !)

Dans le cas présent, l’opérateur est « contient ». Mais il y en a plein. Et c’est tant mieux, parce que ça nous permet d’être ultra précis.

CQFD :  un déclencheur c’est [Variable] [Opérateur] [Valeur].

Déclencheurs à conditions multiples

En fait, un déclencheur c’est [Variable] [Opérateur] [Valeur] uniquement dans le cas ou l’on a une seule condition. 😅

Mais on peut en avoir plusieurs. 😱

Il va y avoir des moments ou l’on voudra déclencher si l’on vérifie plusieurs conditions : [VariableX] [Opérateur] [ValeurX] MAIS AUSSI [VariableY] [Opérateur] [ValeurY].

Exemple :

Tout ça pour dire que finalement, [Variable] [Opérateur] [Valeur] n’est pas un déclencheur mais plutôt un filtre de déclenchement. Voila, comme ça on a mis les bons mots sur les bonnes choses. 🙂

Cumul des conditions

Attention, cumuler des conditions dans un seul et même déclencheur les cumule avec un opérateur logique ET.

Imaginons que nous voulions créer un déclencheur qui s’active dès qu’un visiteur clique sur le lien d’un fichier téléchargable (.pdf, .ppt, .ppt par exemple).

Si l’on décode les 3 conditions ci-desssus, cela signifie que le déclencheur s’activera si un visiteur clique sur un lien qui contient .pdf ET .ppt ET .docx. (ça risque pas d’arriver souvent 🤣).

Il existe 2 solutions. Celle de niveau 1 c’est de créer trois déclencheurs. Un pour chaque type (un pour .pdf, un pour .ppt et un pour .docx).

Et d’ajouter ces trois déclencheurs à une même balise :

Effectivement, plusieurs déclencheurs accrochés à une même balises se cumulent avec un opérateur OU.

Donc la balise se déclenchera si le click URL contient .pdf OU .ppt OU .docx, ce qui était bien ce que l’on voulait.

Oui mais réfléchissons 30 secondes. Créer 3 déclencheurs pour un tag, c’est pas é-co-lo.

Nous devons faire mieux (pour nos enfants 🙌).

Bonus : condensez vos conditions de déclenchement avec les regex

Alors nous allons créer un seul déclencheur, qui s’activera si le click URL est  égal à .pdf OU .ppt OU .docx.

Et pour faire ça, on va utiliser une regex (mais très simple, rassurez-vous). Voilà à quoi ce déclencheur va ressembler :

En effet, en language regex, le | signifie ou. Et donc .pdf|.ppt|.docx ça nous donne ce que l’on voulait. Dans un seul déclencheur. 😊

*****

Bon allé, je résume pour que l’on puisse bien digérer :

  • Nos balises sont déclenchées à condition que quelque chose.
  • Cette condition s’exprime sous forme d’un filtre [Variable] [Opérateur] [Valeur].
  • On dispose d’une multitude d’opérateurs
  • Il est possible de cumuler plusieurs filtres
  • Et il est possible d’utiliser des regex pour condenser dans une seule condition ce que l’on ferait normalement avec plusieurs déclencheurs.

Le concept de variables dans GTM

Ok, maintenant, essayons d’en voir encore un peu plus. Vous êtes la pour apprendre oui ou non !!!

Pour l’instant on a parlé uniquement de la variable URL.

On déclenche la balise si URL égale X.

Mais on pourrait aussi déclencher la balise si le nom d’hôte de l’URL est égale à X ou que l’URL de provenance contient Y.

NB : le nom d’hôte de https://votresite.com c’est « votresite.com ». L’url de provenance, c’est l’url sur lequel le visiteur était avant d’arriver sur votre site. (Ce que Google Analytics appelle le site référent ou referrer en anglais)

Page URL est donc une variable de la famille Url. Nom d’hôte de l’URL et URL de provenance sont en quelque sorte des variables sœurs de la variable URL au sein de la famille de variables de type URL.

On peut définir des filtres de déclenchement avec l’URL, le nom d’hôte de l’URL ou l’URL de provenance :

Exemple: si le visiteur vient de pinterest.com (alors je lui mets une popup avec une offre exclusive pour les visiteurs pinterest).

Activer toutes les variables GTM

Il existe d’autres familles de variables que l’on va pouvoir utiliser pour créer des déclencheurs. 🙌

Elles ne sont pas activées par défaut mais vous pouvez devez les activer par vous-même.

Pour cela c’est simple, vous allez dans Variables puis cliquez sur Configurer :

Et la c’est Noël !

Vous pouvez activer tout ce qui vous semble utile en cochant les cases :

Pour ma part, les incontournables sont les variables de famille clic, formulaire, visibilité et défilement.

Si vous hébergez de la vidéo Youtube sur votre site et que vous souhaitez tracker les interactions avec vos vidéos, activez les variables vidéo.

Si vous avez un site dont les différentes pages se consultent sans rechargement (sites full javascript ou SPA notamment) activez les variables liées à l’historique.

Une fois activées, vous retrouverez toutes ces variables pour créer des déclencheurs :

Vous pourrez ainsi déclencher une balise lorsque le click URL contient .pdf

NB : click URL correspond à la cible d’un lien, c’est à dire la page sur laquelle on arrive après avoir cliqué sur le lien.

Dans l’exemple, je déclencherais donc une balise à chaque fois qu’un visiteur clique sur un lien qui envoie sur un pdf. Idéal pour traquer les téléchargements de brochure par exemple.

Mais si le click URL contient mailto:, le lien est celui d’une adresse email :

Je le redis, ne vous inquiétez pas, nous reverrons tout ça en détail et de manière très pratique dans les tutos suivants pour tout un tas d’applications.

Pour connaitre la liste des variables et surtout ce qu’elles sont exactement, consultez cette page.

Les variables personnalisées

Comme pour les balises, GTM ne nous limite pas aux variables proposées nativement.

Vous pouvez créer vos propres variables et il en existe de nombreux types :

Chacun des types de variables personnalisées que vous voyez ci-dessus sont décrites ici.

Pour créer vos variables, ça se passe dans le menu Variables :

Il n’est pas exclu que j’écrive prochainement sur toutes les variables personnalisées.

Pour instant, en voici 3.

Variable Javascript « simple »

La valeur correspond à une variable globale de page que vous spécifiez.

Prenons un exemple pour bien comprendre.

Imaginons que l’on souhaite traquer les visiteurs qui arrivent sur une page 404.

La page d’erreur s’appelle souvent page introuvable ce qui permet de l’identifier facilement (titre de la page = Page introuvable).

La première étape consiste donc à aller créer une nouvelle variable personnalisée de type javascript. (puisque document.title est une variable javascript globale de votre page)

Elle aura donc pour nom titre de la page et pour valeur document.title :

article-gtm

Grâce à cette variable, l’on peut ensuite facilement créer un déclencheur dont la condition serait titre de la page contient page introuvable :

article-gtm

Et enfin se servir de ce déclencheur pour déclencheur une balise d’événement Google Analytics à chaque page 404 générée par un visiteur.

Variable Javascript personnalisée

La valeur de cette variable correspondra au résultat d’une fonction JavaScript.

Le code JavaScript doit consister en une fonction anonyme qui retourne une valeur.

Par exemple, vous pouvez créer une variable JavaScript personnalisée appelée « isMobile » qui va exécuter une fonction de détection du type d’appareil utilisé par les visiteurs.

La fonction retournera true si le visiteur est sur mobile est false autrement.

Voyons ça par l’exemple. Créons une variable personnalisée de type javascript personnalisé :

Je n’attends pas de vous que vous sachiez écrire cette fonction mais simplement que vous compreniez le principe 🙂.

Le code de la fonction est ici : isMobile. Collez-le dans le cadre dédié de votre variable comme ceci :

Enregistrez votre variable.

Vous pourrez désormais utiliser cette variable dans vos conditions de déclenchement.

Par exemple déclencher si le visiteur clique sur un numéro cliquable ET est sur un mobile.

Variables de couche de données

NB : il vous sera difficile de comprendre ce type de variable sans avoir lu le chapitre suivant dédié au datalayer.

Mais tentons quand même 🙂.

Comme vous le verrez au chapitre suivant, chaque changement d’état du datalayer peut être accompagné de variables.

Ces variables sont la plupart du temps des informations contextuelles liées au changement d’état du datalayer.

Dans les cas ou l’on pousse des informations dans le datalayer par le biais du code, nous devons trouver un moyen dans GTM de récupérer ces informations.

C’est là qu’interviennent les variables personnalisées de type couche de donnée.

La valeur correspond à « value » si le code dataLayer.push({‘Data Layer Name’: ‘value’}) est exécuté sur votre site Web.

Pour créer une variable de couche de données, on va dans Variables > Variables définies par l’utilisateur > Nouvelle

De là vous choisissez le type variable de couche de données.

Il s’agit ensuite de lui donner le nom de la variable envoyée dans le datalayer.

Prenons un exemple pour bien comprendre.

Lors de l’ajout au panier d’un pantalon, un push est effectué afin 1) d’envoyer un évènement addToCart mais aussi 2) d’envoyer la couleur du pantalon.

Ce qui se matérialiserait comme ceci : window.dataLayer || [] window.dataLayer.push({‘color’: ‘red’,’event’: ‘addToCart’});

Dans GTM, on créera donc une variable color. Et elle aura pour valeur « red » lorsque le datalayer sera à l’état « addToCart ».

Vous pourrez ensuite passer ces informations additionnelles à Google Analytics sous forme de dimension personnalisée et ainsi pouvoir comparer par exemple la performance de vos produits par couleur.

Ou vous pourrez également utiliser cette variable dans vos conditions de déclenchement.

Par contre, j’attire votre attention sur le fait que tant que l’évènement datalayer addToCart n’est pas arrivé, la valeur de cette variable est nulle (undefined pour être précis).

Résumé de cette première partie

Il est l’heure de faire un premier bilan de ce que l’on a appris et de faire une pause.

GTM c’est un container (un code javascript à insérer sur toutes les pages) dans lequel vont venir s’insérer des balises (des bouts de code de tierce parties) dynamiquement en fonctions de règles (déclencheurs) que l’on aura défini.

Ces déclencheurs s’appuient sur des événements eux même constitués de plusieurs variables pré-définies.

Ces variables vont nous permettre de créer des filtres qui serviront de condition pour déclencher ou non nos balises.

Tout ceci est effectué de manière asynchrone pour ne pas trop ralentir le chargement de vos pages.

La partie 1 s’achève ici. C’était très théorique et imagé. Je vous propose la même approche pour la partie 2. Cette fois on parlera des événements GTM et du datalayer.

Le but du jeu est que vous ayez une compréhension théorique globale complète de GTM V2 avant de passer aux parties suivantes, beaucoup plus pratiques, avec de nombreuses mises en place et exemples d’utilisation.

La deuxième partie du guide est ici : Le dataLayer GTM.

En attendant, si vous avez des questions/remarques/recommandations d’amélioration sur cette première partie, n’hésitez pas à laisser vos commentaires 🙂

Auteur : Bruno Guyot

Expert en marketing digital & Générateur de business par des campagnes data-driven. J'aide les agences et les entreprises à accroitre leur business par la mise en place de mécanismes de tracking évolués. La récolte des données va nourrir une stratégie digitale et des campagnes à haute performance. Parmi les leviers technologiques utilisés : Analytics, Tag Management, Adwords, Facebook, LinkedIn, Twitter.

19 réflexions sur « Guide Google Tag Manager : concepts de base »

  1. Bonjour,

    J’avais posté un commentaire pour savoir si le fait de passer à tag manager devait être fait dans un intervalle court après avoir retiré les codes de suivi classiques de google (nous avons peur d’avoir des statistiques en doublon).
    Mais aussi pour savoir si le fait de passer à google tag manager ne faisait pas perdre nos données analytics 🙂

    Mais sauf erreur de notre part le commentaire ne s’est jamais affiché du coup je me permets de re-poster.
    Merci pour votre article très complet!

    1. Bonjour Louis,

      Effectivement, dès lors que vous avez inséré votre balise Google analytics par GTM, il vous faut supprimer le code inséré manuellement pour ne pas avoir de données en double.

      Par contre non, vous ne perdrez pas de données. Par GTM ou par l’insertion manuelle vous obtenez les mêmes données (au niveau du suivi de base). Si vous suiviez des événements, il faudra également créer de nouvelles balises d’événements Google Analytics et supprimer les codes de tracking d’événements que vous aviez inséré auparavant.

    1. Bonjour Michaël,

      Tu n’as pas besoin de connaitre le javascript pour utiliser GTM. Mais c’est sur que ça aide, ne serait-ce qu’à comprendre comment GTM fonctionne sous le capot. Mais aussi pour les utilisations les plus avancées. Typiquement parfois, tu ne peux pas faire certaines choses sans variables javascript personnalisées.

      En résumé, tu peux l’utiliser et profiter de 70-80% des possibilités sans connaitre javascript (ce qui est déjà énorme). Pour ce qui est plus avancé c’est mieux d’avoir des notions au minimum, ne serait-ce que pour trouver sur le net des variables javascript créées par d’autres, les comprendre et les corriger si elles datent un peu.

  2. Bonjour Bruno !

    Est-il possible de paramétrer un déclencheur avec les conditions :
    PAGE URL est égal(e) ) « www.exemple.com »
    OU
    PAGE URL est égal(e) à « www.exemple1.com »

    Car il me semble que le déclencheur est exécuté uniquement lorsque toutes les conditions sont remplies, mais pas lorsque que l’une des conditions est remplie ?

    Merci !

  3. Bonjour,

    Je me permets de venir vers vous car tout cela est bien confus pour moi.
    Je souhaite configurer GTM dans le cas où j’ai un bouton devis sur toutes mes pages et j’aimerais pouvoir ressortir par quelles pages je reçois le plus de devis.

    Que dois-je faire et comment je dois configurer cela ? J’ai beau chercher sur internet et cela fait plusieurs jours que je tourne un peu en rond.

    Merci d’avance pour votre aide qui me sera précieuse.

    Cordialement.

    1. Bonjour,

      Il vous faut créer un événement Google Analytics qui va être déclenché à l’envoi du formulaire de devis, peu importe la page. Et dans la case de libellé de l’événement, récupérer l’url de page (la variable {{Page URL}}) depuis laquelle le devis a été envoyé.

      Notez que si cela est vraiment confus, c’est quelques chose que je peux vous faire en une heure de travail. Ça + checker la configuration de votre Analytics et de votre Tag Manager.

  4. hello bruno,

    D’abord, merci pour ce tuto détaillé. Tu dis : « GTM donne deux avantages sympa. D’abord, dans nos bouts de code à insérer (Adwords, Facebook, AB Tasty), il est possible que l’un d’eux (ou plusieurs!) soient bloquants. C’est à dire qu’ils bloquent le chargement de la page tant qu’ils ne sont pas exécutés intégralement. Du coup, ça ralentit votre site » et c’est, je pense, un problème sur le mien, qui met du temps à charger.

    Lors d’une analyse sur Dareboost, l’on me mentionne le rapport suivant : »174.5 Ko du code JavaScript sont analysés lors du chargement initial de la page. Différez l’analyse de ce code pour éviter de bloquer l’affichage de la page.

    tropgentillefille.[…].12.4 (87.0 Ko)
    staticxx.facebook.[…]on=42 (36.0 Ko de code JavaScript intégré)
    staticxx.facebook.[…]n=42 (36.0 Ko de code JavaScript intégré)
    tropgentillefille.[…]1.4.1 (7.7 Ko)
    apis.google.com/_/[…]J5mQ (4.9 Ko de code JavaScript intégré)
    http://tropgentillefille.com/ (2.9 Ko de code JavaScript intégré)

    Est-ce que tu penses que cela a un lien avec ce que tu dis précédement ? As- tu une idée de ce qu’une débutante peut faire pour régler ce problème ?

    Je te remercie d’avance !

  5. Bonjour Bruno,
    J’essaie de créer un événement pour tracker un de mes formulaires de demande de devis, je crée un libellé {{Form ID}} mais lorsque je renseigne l’identifiant du formulaire rien ne remonte.
    Pourriez-vous svp revenir vers moi par mail afin d’échanger ? En effet, lorsque je vérifie dans Analytics, il devrait me faire remonter des datas sur les 7 derniers jours…
    Merci par avance

    1. Bonjour Mathieu,

      Merci d’avoir pris quelques minutes pour laisser un message. Ravi que cela puisse t’aider. Ce que tu fais sur ton site a l’air vraiment super aussi. Bonne continuation 🙂

  6. Bonjour
    Vous me sembler être un expert du tracking, ce que je ne suis assurément pas…
    J’ai une question qui me taraude depuis longtemps :
    pensez-vous qu’il soit possible de tracker les ventes réalisées sur un site tiers ?
    Pour faire simple : admettons qu’un site internet A fasse la promotion d’une entreprise B, via du rédactionnel, mais ne vende aucun de ses produits. Est-il possible de connaître les achats effectués par les lecteurs du site A sur le site marchand de l’entreprise B, après bien sûr que lesdits lecteurs aient accédé à B via A ?

    1. Bonsoir Rv,

      Oui est la réponse à votre question. Si X vient du site A au site B et achète sur le site B alors sa commande sera attribuée à la source référente A. Dans Google Analytics, vous pouvez consulter dans les rapports d’acquisition > Sites reférents et voir les sites tiers qui vous ont envoyé du trafic et le chiffre d’affaires et commandes générées 🙂

      1. Bonjour Bruno et merci pour votre rapide retour.
        Donc c’est parfait du point de vue de B, qui peut savoir exactement qui lui rapporte quoi. Mais pour ce qui est de A : celui-ci peut-il savoir ce qu’il a apporté à B ? Est-ce que Google Analytics peut lui permettre d’avoir ce genre d’informations pour pouvoir ensuite se faire rémunérer par B pour le CA qu’il lui a apporté — avec l’accord de B bien sûr… ? Dans le cas que vous décrivez, il faut en effet, premièrement, que B paramètre Google Analytics — ce qui n’est pas forcément évident pour tout le monde — et, deuxièmement, qu’il soit soit « honnête et transparent » et qu’il ne dissimule rien a A. Or ces deux qualités ne sont pas forcément très répandues lorsqu’il s’agit d’éventuelles commissions ; le plus simple serait donc que A puisse disposer de ces infos, sans compter sur B. Possible, pas possible ? Je ne sais pas si je suis très clair…
        Merci d’avance en tout cas

        1. Re,

          Je comprends mieux, c’est très clair :-). Sur le principe oui, bien sûr c’est possible. Il suffit de tracker les clics sur les liens dont le click URL contient le nom de domaine du site B et d’en faire un objectif dans Analytics.

          1. Super, merci !
            Je vais donc essayer de comprendre et d’apprivoiser Google Analytics… Je suis sûr que votre site/blog va m’être d’un précieux secours.
            Merci encore pour votre temps et vos explications.

Laisser un commentaire

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