Integrando Google Tag Manager con 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 Me gusta

Como se señaló, se ha eliminado la etiqueta de configuración de GA4 y ahora elegirá la etiqueta de Google. Los pasos de configuración siguen siendo los mismos, pero he actualizado la documentación.

Para cualquiera que haya configurado previamente la etiqueta de GA4, debería haberse actualizado automáticamente y no requerir ningún cambio de su parte.

Vale la pena mencionar que esta no es una configuración óptima en términos de las mejores prácticas actuales de GA4/GTM y el paso n.º 2 en la sección Disparadores parece ser incorrecto.

En lugar de un disparador de Vista de Página, debería ser un disparador de Evento Personalizado con el nombre virtualPageView.

cookieDomain = auto parece ser una remanencia de Universal Analytics y no es necesario. GA4 se encarga automáticamente de la navegación entre subdominios.

Otra buena práctica es que la etiqueta de Google se active al inicializar, que send_page_view se establezca en false y, en su lugar, tener una etiqueta de Evento de GA4 separada para page_view.

Cuando lo implementamos, también agregamos una anulación para page_location con la URL completa del sitio + la ruta de la página virtual. Esto poblará correctamente los informes estándar de GA4.

1 me gusta

Hola Stefan,

Gracias por estas notas.

He actualizado el paso n.º 2 de la sección Disparadores, ya que ya tenía capturas de pantalla que coincidían, y actualizaremos el resto lo antes posible.

2 Me gusta

Descripción:

Tengo un problema con Google Tag Manager (GTM) en mi foro de Discourse. Permítanme explicar mi configuración y el problema en detalle:

  1. Configuración de GTM:

    • He configurado un contenedor de Google Tag Manager (ID: GTM-…MZV).
    • Para fines de prueba, he agregado una etiqueta de Google Analytics 4 en GTM, configurada para activarse en todas las páginas durante la inicialización.
    • No he agregado activadores complejos, capa de usuario ni capa de datos. Es solo una configuración básica para verificar que GTM esté funcionando.
  2. Integración de GTM con Discourse:

    • En mi foro de Discourse, he configurado GTM ingresando el ID del contenedor (GTM-W…MZV) en la Configuración de administrador.
    • Cuando inspecciono mi sitio web, puedo ver que:
  3. El Problema:

    • Después de publicar mi contenedor de GTM, fui al Modo de vista previa en Google Tag Manager e ingresé la URL de mi sitio web (https://forum.hobiguru.com).
    • Sin embargo, el depurador de vista previa de GTM dice que no se encontró ninguna etiqueta de GTM en mi sitio.
    • A pesar de que gtm.js se carga y no hay errores visibles, el depurador no reconoce la configuración de GTM.

Capturas de pantalla:

  • Captura de pantalla 1: Configuración del contenedor de GTM en Google Tag Manager (mostrando la etiqueta GA4 y los activadores).
  • Captura de pantalla 2: Configuración de administrador de Discourse que muestra el ID del contenedor de GTM (GTM-W…MZV) configurado.
  • Captura de pantalla 3: Herramientas de desarrollador del navegador que muestran que la biblioteca gtm.js se carga correctamente en mi sitio web.
  • Captura de pantalla 4: Modo de vista previa de GTM que muestra el mensaje de error: No se encontró ninguna etiqueta de GTM en su sitio web.



Lo que he intentado hasta ahora:

  • Confirmé que gtm.js se carga en la pestaña Network.
  • Verifiqué la consola del navegador en busca de errores de Content Security Policy (CSP) u otros errores de JavaScript.
  • Borré la caché de mi sitio y navegador para asegurarme de que no haya problemas de caché.
  • Volví a publicar el contenedor de GTM para asegurarme de que esté actualizado.

Solicitud:

¿Alguien puede ayudarme a entender por qué el Modo de vista previa de GTM no detecta mi configuración de GTM, a pesar de que el script gtm.js se carga correctamente? ¿Hay algo que me esté perdiendo en el proceso de configuración o integración?