Настройка контейнера "Server" в Google Tag Manager для Universal Analytics

18 ноября, 2022

После того, как вы настроили конфигурацию пользовательского домена, вы можете перейти к первичной настройке контейнера Google Tag Manager типа Server для отслеживания просмотров страницы тега Universal Analytics.

Примечание: процесс создания серверного контейнера диспетчера тегов Google подробно описан в этой статье.

Вы можете отправлять данные в контейнер на стороне сервера следующими способами:

  • использовать диспетчер тегов Google на стороне клиента;
  • использовать глобальный тег сайта gtag.js;
  • написать свой собственный код для отправки данных.

Самый простой способ - использовать обычный контейнер Google Tag Manager на стороне клиента. Его мы и рассмотрим в рамках данной публикации.

Настройка контейнера для Universal Analytics (на стороне клиента)

Чтобы отправлять данные в Google Analytics 3 на стороне сервера, необходимо перейти в обычный контейнер Google Tag Manager (не Server!) и в зависимости от того типа управления тегами, который вы используете, сделать следующее:

- если для тегов Universal Analytics вы используете пользовательскую переменную типа Настройки Google Аналитики, то вам необходимо перейти в раздел Переменные, выбрать вашу переменную и отредактировать ее.

Откройте Дополнительные настройки – Расширенная конфигурация:

Дополнительные настройки – Расширенная конфигурация

В поле URL отправки (Set Transport URL) вам необходимо вставить URL серверного контейнера, который вы ранее добавляли в настройках контейнера sGTM:

URL серверных контейнеров

URL отправки - это строка URL-адреса, которая начинается с http:// или https:// и не заканчивается на / Скопируйте этот URL из серверного контейнера GTM и вставьте в URL отправки контейнера на стороне клиента.

URL отправки

Сохраните изменения. Теперь создайте обычный тег Universal Analytics (если этого не делали раньше) с типом отслеживания Просмотр страницы, который будет активироваться на всех страницах. Его конфигурация будет выглядеть следующим образом:

Конфигурация тега Universal Analytics (All Pages)

- если вы не используете пользовательскую переменную типа Настройки Google Аналитики, а для каждого тега Universal Analytics всегда переопределяете настройки через простановку галочки Включить переопределение настроек в этом теге, тогда вам в каждом отдельно взятом теге нужно сделать то же самое – в расширенной конфигурации добавить URL серверного контейнера в поле URL отправки:

Переопределение настроек в теге – URL отправки

Сохраните настройки тега и опубликуйте его.

Настройка контейнера для Universal Analytics (на стороне сервера)

После того, как вы создали самый простой тег Universal Analytics с отслеживанием просмотров страниц, и указали URL отправки в обычном контейнере GTM, пришло время вернуться в контейнер типа Server и создать для него тег на стороне сервера.

Перейдите в раздел Теги и создайте тег типа Google Аналитика: Universal Analytics.

Тег "Google Аналитика: Universal Analytics"

В настройках тега у вас есть возможность установить флажок Включить переопределение настроек в этом теге. Это делать необязательно, поскольку по умолчанию контейнер на стороне сервера наследует идентификатор счетчика аналитики от контейнера на стороне клиента.

Расширенные настройки

В теге присутствует настройка, которой нет в стандартном контейнере Google Tag Manager на стороне клиента – Удалить IP-адрес посетителя.

Удалить IP-адрес посетителя

Если ее поставить, IP-адрес посетителя будет удален из события, и тогда отчеты на основе этого события не будут включать географические данные.

К конфигурации тега также присутствует опция Расширенные настройки, которая есть и в настройках тега Universal Analytics.

Включить переопределение настроек в этом теге

Для созданного тега на стороне сервера необходимо задать триггер активации. В отличие от стандартного контейнера Google Tag Manager, где доступно 16 различных триггеров, в серверном контейнере можно создать только три типа триггеров:

  1. Просмотр страницы;
  2. Специальное событие;
  3. Специальные.

Триггеры

Поскольку в контейнере Google Tag Manager на стороне клиента в качестве примера был настроен тег Universal Analytics с типом отслеживания Просмотр страницы, который активируется на всех страницах веб-сайта, вы можете выбрать тип триггера – All Pages (Просмотр страницы).

Конфигурация серверного тега Universal Analytics

В завершение задайте название тегу и сохраните его.

Некоторое время назад в серверном контейнере Google Tag Manager был доступен только один тип триггера – Специальные. Поэтому настройка даже для самого простого отслеживания на стороне сервера была сложнее.

Например, чтобы передавать данные в Universal Analytics, необходимо было конкретизировать какой при этом клиент будет использоваться с помощью пользовательской переменной Название клиента и дополнительным условием – содержит Universal Analytics (по имени клиента):

Дополнительное условие – Название клиента содержит Universal Analytics

Предварительный просмотр и отладка запросов сервера

После всех выполненных настроек рекомендуется запустить режим предварительного просмотра и провести отладку системы. Перейдите в контейнер Google Tag Manager на стороне клиента и активируйте режим отладки:

Предварительный просмотр на стороне клиента

Введите URL-адрес своего сайта и подключитесь. В окне предварительного просмотра вы увидите, как загрузится тег Universal Analytics:

Активированный тег Universal Analytics (контейнер "Веб-сайт")

Несмотря на то, что тег активировался на странице и имеет статус Succeeded, данные о просмотренной странице в Google Analytics 3 отправлены не будут, поскольку тег сначала отправляет данные в контейнер на стороне сервера, а не напрямую в Google Analytics. Помните про дополнительную настройку, связанную с URL отправки, которую мы выполняли?

Нажав на сам тег, вы увидите его детали. Если вы используете пользовательскую переменную Настройки Google Аналитики, тогда в этом разделе будет строка transportUrl с добавленным вами URL отправки:

transportUrl

Если вы переопределяли настройки в теге, тогда URL отправки будет отображаться отдельной строкой:

URL отправки

Теперь перейдите в серверный контейнер Google Tag Manager и там активируйте режим предварительного просмотра:

Предварительный просмотр на стороне сервера

В вашем браузере должна открыться отдельная вкладка с режимом отладки без каких-либо данных:

Режим отладки серверного контейнера

Откройте свой сайт и перейдите на какую-нибудь страницу (или просто обновите существующую), находясь при этом на вкладке режима отладки на стороне клиента и не закрывая вкладку режим предварительного просмотра на стороне сервера:

Отдельная вкладка

Вернитесь к окну предварительного просмотра серверного контейнера. Вы должны увидеть новый хит (обращений) просмотра страницы page_view, полученный из контейнера на стороне клиента, а также наш активированный тег Universal Analytics.

Событие page_view

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

Поделиться режим отладки (обычный контейнер GTM)

В серверном контейнере такого функционала нет. Вы не сможете поделиться предварительным просмотром с другими.

Если вы откроете вкладку Request (Запрос), то сможете проверить тег Universal Analytics. Вы также увидите данные клиента (Client), входящий HTTP-запрос (Incoming HTTP Request) и исходящий HTTP-запрос к серверу Google Analytics (Outgoing HTTP Requests from Server).

Вкладка "Request"

Вы можете нажать на каждый из них поочередно и увидеть детальную информацию. В этом примере:

  • Client – Universal Analytics;

Клиент (Client Details)

  • Incoming HTTP Request (Входящий HTTP-запрос)

Это запрос, сделанный контейнеру на стороне сервера от контейнера на стороне клиента. Метод запроса — это метод GET, а код ответа 200 означает, что запрос был успешно принят.

Incoming HTTP Request

  • Outgoing HTTP Requests from Server (Исходящий HTTP-запрос)

После обработки входящего запроса в соответствии с вашей конфигурации тега данные отправляются на сервер Google Analytics или в другой сторонний инструмент. Он содержит информацию о об отслеживаемых событиях - просмотр страницы, транзакция, пользовательское событие и т.д.

Outgoing HTTP Requests

Чтобы посмотреть данные об активированном теге Universal Analytics, перейдите на вкладку Тags (Теги) и нажмите на него:

Активированный тег

В нем будет представлена информация о некоторых настройках тега (удаление IP-адреса посетителя), об исходящем HTTP-запросе и условии активации:

Детали тега

На вкладке Variables (Переменные) будет представлен список включенных переменных с их текущими значениями (все как в обычном контейнере Google Tag Manager):

Вкладка "Variables"

На вкладке Event Data (Данные о событии) представлена информация, которая собирается и передается в инструмент конечной точки, например, в Google Analytics 3.

Вкладка "Event Data"

Например, вместе с просмотром страницы в Universal Analytics могут передаваться следующие данные о событии:

  • client_id – уникальный идентификатор пользователя;
  • event_name – название события;
  • ip_override – IP-адрес посетителя в формате IPv4 или IPv6;
  • language - язык в формате ISO 639-1;
  • page_encoding – кодировка текста страницы;
  • page_location – полный URL-адрес страницы документа;
  • page_title – заголовок страницы;
  • screen_resolution - разрешение экрана для устройства пользователя (width x height);
  • user_agent – User agent, идентификационная строка клиентского приложения.

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

Таблица по данным о событиях

После того, как на шкале событий серверного контейнера вы увидите свой первый запрос, вы можете перейти в сам счетчик Universal Analytics и проверить передачу данных в режиме реального времени:

В режиме реального времени

А если вы откроете консоль разработчика и перейдете на вкладку Network (Google Chrome), то увидите, как HTTP-запрос отправляет данные не как раньше на конечную точку по https://www.google-analytics.com/j/collect, а сначала на ваш серверный контейнер https://serverside.osipenkov.ru/collect:

Request URL вашего серверного домена

Именно таким способом (на примере простого события просмотра страницы и тега Universal Analytics) данные с вашего веб-сайта отправляются сначала в серверный контейнер, там обрабатываются, затем преобразовываются в событие, а после отправляются в конечный инструмент (Google Analytics).

Примечание: подробнее о том, что такое отслеживание на стороне клиента (Client-Side Tracking) и отслеживание на стороне сервера (Server-Side Tracking), читайте в этой статье.

Вы можете проверить активность вашего серверного контейнера можно и в интерфейсе Google Cloud Platform. Перейдите по ссылке https://console.cloud.google.com/appengine . Как только в App Engine данные начнут поступать, на вкладке Dashboard вы увидите динамику собственных HTTP-запросов с нужной разбивкой (1 час, 6 часов, 12 часов, 1 день и т.д.):

Запросы в App Engine

Под графиком также будет отображена таблица с текущей нагрузкой:

Таблица с нагрузкой

Напротив нужного запроса вы можете нажать на View Traces, чтобы узнать о нем подробную информацию и произвести диагностику.

View Traces

Например, выбрав запрос /collect, вам откроется отдельная страница, на которой вы сможете детально изучить конкретный запрос, отправленный на ваш облачный сервер.

Запросы

Выбрав его из списка (если запросов было несколько), чуть ниже станет доступна информация о нем:

Подробная информация о запросе

Ее легко сопоставить с HTTP-запросом, который был отображен в режиме отладки серверного контейнера Google Tag Manager. Сравните строку /http/url (в Google Cloud) и Incoming HTTP Request (в Google Tag Manager):

Сравнение запросов (Google Tag Manager и Google Cloud)

Они одинаковые.

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике