Отправка данных в серверные контейнеры Google Менеджера тегов

В этой статье рассказывается о способах отправки событий в серверный контейнер. Прежде чем воспользоваться приведенными инструкциями, настройте серверный контейнер.

Из этой статьи вы узнаете, как:

  • отправлять данные из сайта в серверный контейнер;
  • принимать данные в серверном контейнере;
  • загружать скрипты Google Аналитики из собственной конечной точки;
  • отправлять дополнительные данные в серверный контейнер с помощью тега Google Аналитики 4;
  • отправлять данные из других источников, а не только сайтов.

Настройка сайта

С серверными контейнерами можно использовать как Менеджер тегов, так и gtag.js.

Менеджер тегов

Чтобы теги передавали информацию в серверный контейнер, задайте в настройке Указать URL отправки адрес конечной точки в своем домене.

Добавьте в тег URL отправки для серверной обработки данных.

Google Аналитика 4

  1. Добавьте в веб-контейнер тег конфигурации Google Аналитики 4 или измените существующий.
  2. Нажмите Дополнительные настройки > Поля, которые необходимо задать.
  3. Добавьте поле с такими параметрами:
  4. Название поля: transport_url
  5. Значение: https://<DOMAIN_NAME> (где DOMAIN_NAME – имя домена, в котором развернут ваш сервер тегов)
  6. Сохраните тег и настройте триггер так, чтобы он срабатывал на всех страницах.
  7. Опубликуйте контейнер.

Universal Analytics

  1. Если у вас ещё нет готовой конфигурации Universal Analytics, добавьте в веб-контейнер тег Universal Analytics с переменной настроек Google Аналитики.
  2. Выберите Дополнительные настройки > Расширенная конфигурация.
  3. Установите флажок Указать URL отправки.
  4. Укажите в поле URL отправки адрес сервера тегов. Пример: https://<DOMAIN_NAME> (где DOMAIN_NAME – имя домена, в котором развернут ваш сервер тегов).
  5. Сохраните тег и настройте триггер так, чтобы он срабатывал на всех страницах.
  6. Опубликуйте контейнер.

gtag.js

Если на сайте используется gtag.js, настройте команду config в теге Universal Analytics или Google Аналитики 4 так, чтобы события отправлялись на сервер тегов.

В обоих случаях нужно добавить в тег параметр transport_url:

gtag('config', '<MEASUREMENT_ID>', {
  transport_url: 'https://analytics.example.com'
});

Замените <MEASUREMENT_ID> на идентификатор Universal Analytics или Google Аналитики 4, а https://analytics.example.com – на URL сервера тегов.

Настройка серверного клиента

Когда вы укажете URL отправки, данные начнут поступать клиенту в серверном контейнере Менеджера тегов. Такие контейнеры по умолчанию содержат клиенты Universal Analytics и Google Аналитики 4.

Чтобы посмотреть список клиентов в серверном контейнере Менеджера тегов, нажмите слева Клиенты. Для просмотра или редактирования информации о клиенте нажмите его название. Как правило, стандартные настройки клиентов не требуют изменений, но есть ряд исключений:

  • Приоритет определяет порядок запуска клиентов. Вначале срабатывает клиент с самым высоким приоритетом, и так далее. Они по очереди проверяют, способны ли обработать входящий запрос. Первый же клиент, который может это сделать, становится активным.

  • Критерии активации определяют, в каких случаях клиент отвечает на запросы.

    • Пути по умолчанию в Universal Analytics: клиент активируется, если запрос содержит пути, которые файлы JavaScript используют для передачи данных в Google Аналитику (/collect, /r/collect и т. д.). Эта настройка активна по умолчанию.

    • Пути по умолчанию для конкретных идентификаторов в gtag.js: с помощью этой настройки можно включить передачу скрипта JavaScript gtag.js по URL добавления тегов на стороне сервера. Если настройка активна, клиент будет отвечать только на запросы, содержащие стандартные пути gtag.js (например, /gtag/js?id=<MEASUREMENT_ID>). Чтобы добавить идентификаторы отслеживания Google Аналитики, нажмите Добавить идентификатор показателя.

Загрузка скриптов Google

Чтобы воспользоваться дополнительными возможностями добавления тегов на стороне сервера, можно загружать поддерживаемые скрипты. Это снижает зависимость от сторонних доменов.

Изменение исходного домена в настройках gtag.js

По умолчанию тег gtag.js на сайтах загружает библиотеки Google Аналитики из домена www.googletagmanager.com. Чтобы загружать код Analytics с помощью серверных тегов, замените это доменное имя на домен, в котором развернут ваш сервер тегов.

<!-- Global site tag (gtag.js) - Google Analytics -->
<script async src="https://<DOMAIN NAME>/gtag/js?id=<GA_MEASUREMENT_ID>"></script>
<script>
  window.dataLayer = window.dataLayer || [];
  function gtag(){dataLayer.push(arguments);}
  gtag('js', new Date());

  gtag('config', '<GA_MEASUREMENT_ID>');
</script>

Настройка клиента

Чтобы серверный контейнер отвечал на запросы по загрузке скриптов Google Аналитики, в клиенты нужно внести несколько незначительных изменений.

  1. В серверном контейнере нажмите Клиенты. Откроется список клиентов.
  2. Нажмите на название нужного клиента.
  3. Выберите Заданные по умолчанию пути gtag.js для определенных идентификаторов.
  4. Нажмите Добавить идентификатор показателя и введите нужный идентификатор.
  5. Сохраните конфигурацию клиента и опубликуйте контейнер.

Изменение исходного домена в настройках gtm.js

По умолчанию тег gtm.js на сайтах загружает библиотеки Google Менеджера тегов из домена www.googletagmanager.com. Чтобы загружать код Google Менеджера тегов с помощью серверных тегов, замените в скрипте gtm.js и в файле ns.html это доменное имя на домен, в котором развернут ваш сервер тегов.

Скриншот фрагмента Google Менеджера тегов для вставки gtm.js и ns.html

Конфигурация клиента

Чтобы серверный контейнер отвечал на запросы по загрузке скриптов Google Менеджера тегов, добавьте клиента Google Менеджер тегов: веб-контейнер и внесите изменения в конфигурацию:

  1. В серверном контейнере нажмите Клиенты. Откроется список клиентов.
  2. В разделе Клиенты нажмите Создать.
  3. Чтобы выбрать тип клиента, нажмите на раздел Настройка клиента.
  4. В списке доступных клиентов выберите Google Менеджер тегов: веб-контейнер.
  5. Нажмите Добавить идентификатор контейнера и введите идентификатор веб-контейнера Google Менеджера тегов. Он должен совпадать с идентификатором, который использовался в приведенном выше фрагменте HTML.
  6. Сохраните конфигурацию клиента и опубликуйте контейнер.

Включение дополнительных данных для других тегов

На странице можно установить несколько тегов, которые будут отправлять на сервер однотипные данные. Вместо этого рекомендуем отправлять эти данные в серверный контейнер, добавив теги Google Аналитики 4 с помощью Менеджера тегов или gtag.js. В теге можно указывать дополнительные параметры события, а затем извлекать их с помощью переменных в серверном контейнере. Так вы сократите код JavaScript на странице, минимизируете количество HTTP-запросов, и в результате повысите производительность сайта.

Менеджер тегов

Если определенный параметр (например, уникальный идентификатор) необходимо передавать для всех событий, добавьте его в разделе "Поля, которые необходимо задать" тега конфигурации Google Аналитики 4.

  1. Добавьте в веб-контейнер тег конфигурации Google Аналитики 4 или измените существующий.
  2. Нажмите Поля, которые необходимо задать > Добавить строку.
  3. Добавьте параметр, который необходимо передавать в каждом событии, в таблицу названий и значений параметров.
  4. Настройте активацию триггера на всех страницах и сохраните тег.

Если определенный параметр необходимо передавать только для некоторых событий, добавьте его в разделе "Параметры события" тега события Google Аналитики 4.

  1. Добавьте в веб-контейнер тег события Google Аналитики 4 или измените существующий.
  2. Нажмите Параметры события > Добавить строку.
  3. Добавьте параметр в таблицу названий и значений параметров.
  4. Настройте триггер и сохраните тег.

gtag.js

С помощью API gtag можно указать дополнительные параметры, добавив их как параметры команд. Подробная информация приведена в документации по API gtag.js.

Настройка параметров, которые необходимо передавать для всех событий:

gtag('config', '<GA_MEASUREMENT_ID>', {
  'transport_url': 'https://analytics.example.com'
  'custom_parameter': 'value',
});

Настройка параметров, которые необходимо передавать для определенных событий:

gtag('event', 'event_name', {
  'custom_parameter': 'value',
});

Чтобы настроить параметры, которые необходимо передавать только для событий page_view, добавьте параметр send_page_view со значением false в команду конфигурации и создайте отдельное событие page_view.

gtag('config', 'G-123456789', {
  'transport_url': 'https://analytics.example.com'
  'send_page_view': false,
});
gtag('event', 'page_view', {
  'custom_parameter': 'value',
});

Получение дополнительных данных серверными контейнерами Google Менеджера тегов

Клиент Google Аналитики 4 в серверном контейнере обрабатывает дополнительные параметры и добавляет их в данные о событии. Чтобы использовать эту информацию в других тегах, создадите переменную Данные события и укажите название параметра в пути к ключу. Вы сможете использовать эту переменную в любом теге, которому требуется этот параметр.

Отправка данных из других источников

Платформа Measurement Protocol в Google Аналитике позволяет использовать серверные контейнеры для таких источников, как мобильные и межсерверные приложения.

Мобильные приложения

Чтобы в серверный контейнер поступали данные из приложения для Android или iOS, создайте пользовательский тег изображения и включите в нем Measurement Protocol:

  1. В мобильном контейнере (Android или iOS) нажмите Теги > Создать.
  2. В разделе Конфигурация тега выберите тип Пользовательское изображение.
  3. В поле URL изображения укажите путь из заданных ранее настроек клиента Measurement Protocol, по которому расположено однопиксельное изображение из серверного контейнера. В конец URL изображения добавьте нужные параметры Measurement Protocol:
    https://custom.example.com/app?v=1&tid=UA-XXXXX-Y&cid=555&t=screenview&an=myApp&version=1.6.2&aid=com.foo.myapp&cd=home
  4. Снимите флажок Включить блокировку кеша.
  5. Сохраните тег и опубликуйте контейнер.
  6. В серверном контейнере нажмите Клиенты > Создать.
  7. В разделе Конфигурация клиента выберите тип Measurement Protocol.
  8. В поле Путь для активации укажите адрес конечной точки сбора данных из приложения.
  9. Сохраните конфигурацию клиента и опубликуйте серверный контейнер.

Межсерверные приложения

Чтобы данные Measurement Protocol поступали на сервер тегов, замените имя хоста www.google-analytics.com на имя домена, в котором развернут этот сервер. Пример:

POST /batch HTTP/1.1
Host: collection.example.com

v=1&tid=UA-XXXXX-Y&cid=555&t=screenview&an=myApp&version=1.6.2&aid=com.foo.myapp&cd=home

Чтобы на ваш сервер Google Менеджера тегов поступали обращения Measurement Protocol, настройте клиент Measurement Protocol:

  1. В серверном контейнере нажмите Клиенты > Создать.
  2. В разделе Конфигурация клиента выберите тип Measurement Protocol.
  3. В поле Путь для активации укажите адрес конечной точки сервера.
  4. Сохраните конфигурацию клиента и опубликуйте контейнер.