Интеграция Google Tag Manager с 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 setting in Discourse when using GTM, to avoid duplicate tracking.

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 @MarkDoerr 2026-05-12T01:58:41Z

Check documentPerform check on document:
47 лайков

Как отмечалось, тег конфигурации GA4 был удалён, и теперь вам нужно выбрать Google Tag. Шаги настройки остались прежними, но я обновил документацию.

Для тех, кто ранее настроил тег GA4, он должен был быть автоматически обновлён, и никаких изменений с вашей стороны не требуется.

Стоит отметить, что это не оптимальная настройка с точки зрения текущих лучших практик GA4/GTM, и шаг №2 в разделе «Триггеры» кажется неверным.

Вместо триггера «Просмотр страницы» здесь должен быть триггер «Пользовательское событие» с именем virtualPageView.

Параметр cookieDomain = auto кажется пережитком Universal Analytics и не требуется. GA4 автоматически обрабатывает навигацию по поддоменам.

Еще одна лучшая практика — настроить запуск тега Google при инициализации, установить send_page_view в значение false и вместо этого создать отдельный тег события GA4 для page_view.

При нашей реализации мы также добавили переопределение page_location с полным URL сайта + виртуальным путем страницы. Это обеспечит корректное заполнение стандартных отчетов GA4.

1 лайк

Привет, Стефан,

Спасибо за эти заметки.

Я обновил шаг №2 в разделе «Триггеры», так как у меня уже были соответствующие скриншоты, а остальное мы обновим как можно скорее.

2 лайка

Описание:

У меня возникла проблема с Google Tag Manager (GTM) на моём форуме Discourse. Позвольте подробно описать мою конфигурацию и проблему:

  1. Настройка GTM:

• Я создал контейнер Google Tag Manager (ID: GTM-…MZV).

• Для тестирования добавил в GTM тег Google Analytics 4, настроенный на срабатывание на всех страницах при инициализации.

• Я не настраивал сложные триггеры, пользовательский слой или слой данных. Это базовая конфигурация для проверки работоспособности GTM.

  1. Интеграция GTM с Discourse:

• В настройках моего форума Discourse я настроил GTM, введя ID контейнера (GTM-W…MZV) в настройках администратора.

• При проверке сайта я вижу, что:

• Скрипт GTM (https://www.googletagmanager.com/gtm.js?id=GTM-W...MZV) загружается в секции .

• В консоли браузера и во вкладке Network нет ошибок, связанных с GTM или gtm.js.

  1. Проблема:

• После публикации контейнера GTM я перешёл в режим предварительного просмотра (Preview Mode) в Google Tag Manager и ввёл URL моего сайта (https://forum.hobiguru.com).

• Однако отладчик предварительного просмотра GTM сообщает, что на моём сайте не найден тег GTM.

• Несмотря на загрузку gtm.js и отсутствие видимых ошибок, отладчик не распознаёт настройку GTM.

Скриншоты:

• Скриншот 1: Настройка контейнера GTM в Google Tag Manager (показывает тег GA4 и триггеры).

• Скриншот 2: Настройки администратора Discourse с отображением ID контейнера GTM (GTM-W…MZV).

• Скриншот 3: Инструменты разработчика браузера, подтверждающие успешную загрузку библиотеки gtm.js на моём сайте.

• Скриншот 4: Режим предварительного просмотра GTM с сообщением об ошибке: На вашем сайте не найден тег GTM.



Что я уже попробовал:

• Подтвердил, что gtm.js загружается во вкладке Network.
• Проверил консоль браузера на наличие ошибок политики безопасности контента (CSP) или других ошибок JavaScript.
• Очистил кэш на сайте и в браузере, чтобы исключить проблемы с кэшированием.
• Повторно опубликовал контейнер GTM, чтобы убедиться в его актуальности.

Запрос:

Может ли кто-нибудь помочь понять, почему режим предварительного просмотра GTM не обнаруживает мою настройку GTM, хотя скрипт gtm.js загружается корректно? Что-то ли я упускаю в процессе настройки или интеграции?