Intégration de Google Tag Manager avec Google Analytics

:bookmark: This guide will help you set up Google Tag Manager and use it with Google Analytics on your Discourse site. Additionally, it covers configuring variables, triggers, and tags in Google Tag Manager to track page views.

:information_source: This guide covers setting up Google Tag Manager. If you only want to enable Google Analytics for your site, set the G-Tag in the ga universal tracking code site setting. Our settings may still refer to all analytics as universal, but this is a legacy field naming artifact. The following instructions use, and work for, Google Tags.

:person_raising_hand: Required user level: Administrator

Integrating Google Tag Manager (GTM) with Google Analytics (GA) allows you to manage and track events on your Discourse site effectively. This guide covers the full setup process, from creating a GA account to configuring GTM with the necessary tags and triggers.

Summary

  1. Create a Google Analytics account and property.
  2. Set up Google Tag Manager.
  3. Configure GTM variables, triggers, and tags.
  4. Integrate GTM with your Discourse site.

Create a Google Analytics account

  1. Visit Google Analytics and sign in with your Google account.

  2. If you don’t have an account yet, follow the guided steps to create one.

  3. Create a property by clicking on “Admin” and then “Create Property”.

  4. Fill in the required details on the “Property creation” screen.

  5. Enter your business details on the next screen.

  6. Select your business objectives appropriately.

:information_source: Info: Selecting the four sections will most closely match the reports Analytics has typically provided:


7. Choose “Web” as the platform for data collection.

  1. Set up a data stream by entering your site’s URL and a stream name.

:information_source: After successfully creating your web stream, make a note of your Measurement ID. You’ll need this for GTM setup.

Set up Google Tag Manager

  1. Visit Google Tag Manager and create an account.
  2. Set up a container by following the guided steps, and choose “Web” as the platform.

Configure GTM

Variables

  1. Go to the “Variables” tab in GTM and click “New” in the User-Defined Variables section.
  2. Create two Data Layer Variables:
  • Title: DL-page-title
    Type: Data Layer Variable
    Data Layer Variable Name: page.title
    Data Layer Version: 2

  • Title: DL-page-url
    Type: Data Layer Variable
    Data Layer Variable Name: page.url
    Data Layer Version: 2

As an example, choose the variable type:

Then configure the variables, as in this example:

Triggers

  1. Go to the “Triggers” tab and click “New”.

  2. Choose “Custom Event” as the type.

  3. Name the trigger virtualPageView and Save it.

    The end result should look like this:

Tags

  1. Go to the “Tags” tab and create a new tag.

  2. Choose Google Analytics: Google Tag as the tag type.

  3. Configure the tag with the following details:

  • Measurement ID: Enter your Measurement ID from GA.
  • Required Fields to Set:
    • title: {{DL-page-title}}
    • page: {{DL-page-url}}
    • send_page_view: true
    • page_path: {{Page Path}}

When finished it should look like this (note that you can add a userID parameter in addition to the parameters above, but you will need to add an additional variable like DL-page-url.):

  1. Choose the virtualPageView trigger for this tag.
  2. Name your tag and Save it.

Publish your GTM workspace

Publish your container in GTM by clicking the blue “Submit” button in the upper-right corner of the page.

:warning: Important: If you encounter 404 errors from googletagmanager.com, ensure your GTM container changes have been published.

Integrate GTM with Discourse

  1. Go to your Discourse Admin settings and search for gtm container id.
  2. Enter your GTM Container ID (format: GTM-XXXXXX) in the corresponding field.

:warning: Note: Remove any existing Analytics tracking code from the ga universal tracking code and ga tracking code settings in Discourse.

Reload your site and check the Real-Time content view in GA to confirm that data is flowing through GTM.

Additional Uses

With GTM, you can add more tags to track additional events such as:

Related Links

Last edited by @jessii 2024-08-03T01:04:37Z

Check documentPerform check on document:
46 « J'aime »

Comme indiqué, la balise de configuration GA4 a été supprimée et vous choisirez désormais la balise Google. Les étapes de configuration restent les mêmes, mais j’ai mis à jour la documentation.

Pour tous ceux qui avaient précédemment configuré la balise GA4, elle aurait dû être mise à jour automatiquement et ne nécessiter aucune modification de votre part.

Il convient de mentionner que cette configuration n’est pas optimale en termes de meilleures pratiques actuelles de GA4/GTM et que l’étape n° 2 dans la section Déclencheurs semble incorrecte.

Au lieu d’un déclencheur de vue de page, il devrait s’agir d’un déclencheur d’événement personnalisé nommé virtualPageView.

cookieDomain = auto semble être un vestige d’Universal Analytics et n’est pas nécessaire. GA4 gère automatiquement la navigation entre les sous-domaines.

Une autre meilleure pratique consiste à faire en sorte que la balise Google se déclenche à l’initialisation, avec send_page_view défini sur false et, à la place, une balise d’événement GA4 distincte pour page_view.

Lorsque nous l’avons implémenté, nous avons également ajouté un remplacement pour page_location avec l’URL complète du site + le chemin de la page virtuelle. Cela remplira correctement les rapports GA4 standard.

1 « J'aime »

Salut Stefan,

Merci pour ces notes.

J’ai mis à jour l’étape n° 2 de la section Déclencheurs car j’avais déjà des captures d’écran correspondantes, et nous mettrons le reste à jour dès que possible.

2 « J'aime »

Description :

Je rencontre un problème avec Google Tag Manager (GTM) sur mon forum Discourse. Voici ma configuration et le problème en détail :

  1. Configuration GTM :

    • J’ai configuré un conteneur Google Tag Manager (ID : GTM-…MZV).
    • À des fins de test, j’ai ajouté une balise Google Analytics 4 dans GTM, configurée pour se déclencher sur toutes les pages lors de l’initialisation.
    • Je n’ai ajouté aucun déclencheur complexe, couche utilisateur ou couche de données. Il s’agit simplement d’une configuration de base pour vérifier que GTM fonctionne.
  2. Intégration GTM avec Discourse :

    • Dans mon forum Discourse, j’ai configuré GTM en saisissant l’ID du conteneur (GTM-W…MZV) dans les paramètres d’administration.
    • Lorsque j’inspecte mon site web, je peux constater que :
  3. Le Problème :

    • Après avoir publié mon conteneur GTM, je suis allé en Mode Aperçu dans Google Tag Manager et j’ai saisi l’URL de mon site web (https://forum.hobiguru.com).
    • Cependant, le débogueur d’aperçu GTM indique qu’aucune balise GTM n’a été trouvée sur mon site.
    • Bien que gtm.js se charge et qu’aucune erreur ne soit visible, le débogueur ne reconnaît pas la configuration GTM.

Captures d’écran :

  • Capture d’écran 1 : Configuration du conteneur GTM dans Google Tag Manager (montrant la balise GA4 et les déclencheurs).
  • Capture d’écran 2 : Paramètres d’administration Discourse montrant l’ID du conteneur GTM (GTM-W…MZV) configuré.
  • Capture d’écran 3 : Outils de développement du navigateur montrant que la bibliothèque gtm.js est chargée avec succès sur mon site web.
  • Capture d’écran 4 : Mode Aperçu GTM montrant le message d’erreur : Aucune balise GTM trouvée sur votre site web.



Ce que j’ai essayé jusqu’à présent :

  • J’ai confirmé que gtm.js se charge dans l’onglet Réseau.
  • J’ai vérifié la console du navigateur pour toute erreur de politique de sécurité de contenu (CSP) ou autre erreur JavaScript.
  • J’ai vidé le cache de mon site et de mon navigateur pour m’assurer qu’il n’y a pas de problème de mise en cache.
  • J’ai republié le conteneur GTM pour m’assurer qu’il est à jour.

Demande :

Quelqu’un peut-il m’aider à comprendre pourquoi le mode Aperçu GTM ne détecte pas ma configuration GTM, alors que le script gtm.js se charge correctement ? Y a-t-il quelque chose que j’ai manqué dans le processus de configuration ou d’intégration ?