В этой статье рассказывается о способах отправки событий в серверный контейнер. Если вас интересуют более общие сведения, прочитайте, как работает добавление тегов на стороне сервера.
В этом документе рассматриваются следующие темы:
- как отправлять данные с сайта в серверный контейнер;
- как отправлять дополнительные данные в серверный контейнер;
- как принимать данные в серверном контейнере;
- как отправлять данные из других источников, помимо сайтов.
Подготовка
В этом руководстве подразумевается, что вы уже настроили:
1. Как отправлять данные с сайта в серверный контейнер
С серверными контейнерами можно использовать как Менеджер тегов, так и gtag.js. Выберите тот вариант реализации, который вам больше подходит.
Настройте передачу дополнительных параметров с каждым событием (необязательно)
Вы можете отправлять дополнительные параметры двух типов: уровня конфигурации и уровня события. Параметры конфигурации влияют на поведение тега Google или целевого тега Google Аналитики. Их можно настроить только на уровне тега Google или целевого тега Google Аналитики.
Параметры события позволяют получить дополнительную информацию о событии. Их можно настроить для всех событий, отдельных событий или событий page_view.
Рекомендации по настройке
Мы рекомендуем использовать тег Google Аналитики на веб-странице, чтобы отправлять данные в серверный контейнер. Этот тег может использовать разные методы передачи, чтобы обеспечить наилучшую доставку событий. К таким методам относятся, в частности:
- Пиксель изображения
- Fetch API
- XHR
- Сервис-воркер, который запускается в окне iframe, загруженном из домена серверного контейнера.
Чтобы убедиться, что все методы поддерживаются, проверьте следующее:
Content Security Policy (CSP)
| Директива | Контент | Purpose |
| img-src | [SERVER_CONTAINER_URL] | Запросы на отслеживание |
| connect-src | [SERVER_CONTAINER_URL] | Запросы на отслеживание |
| frame-src | [SERVER_CONTAINER_URL] | Реализация скрипта Service Worker |
Кроме того, X-Frame-Options не должен запрещать загрузку iframe из URL серверного контейнера.
Ознакомьтесь с правилами для каждого продукта на странице https://developers.google.com/tag-platform/security/guides/csp.
2. Как принимать данные в серверном контейнере
HTTP-запросы, отправленные в серверный контейнер, должен принимать клиент.
Чтобы посмотреть список доступных клиентов:
Откройте серверный контейнер.
На панели навигации слева нажмите Клиенты. По умолчанию в серверном контейнере используется клиент Google Аналитики.
Чтобы посмотреть или изменить сведения о клиенте, нажмите на его название.
Необязательные настройки клиента
Как правило, стандартные настройки клиентов не требуют изменений, но иногда возникает необходимость настроить что-то из описанного ниже.
Приоритет. Определяет порядок запуска клиентов. Клиенты пытаются обработать входящий запрос по очереди, в порядке убывания приоритета. Первый же клиент, который может это сделать, становится активным.
Критерии активации. Определяют, в каких случаях клиент отвечает на запросы.
- Пути по умолчанию для конкретных идентификаторов в gtag.js. С помощью этого параметра можно включить передачу скрипта JavaScript gtag.js по URL серверного контейнера. Если настройка активна, клиент будет отвечать только на запросы, содержащие стандартные пути gtag.js (например,
/gtag/js?id=TAG_ID). Чтобы указать один или несколько идентификаторов целевых страниц, нажмите Добавить идентификатор потока данных.
- Пути по умолчанию для конкретных идентификаторов в gtag.js. С помощью этого параметра можно включить передачу скрипта JavaScript gtag.js по URL серверного контейнера. Если настройка активна, клиент будет отвечать только на запросы, содержащие стандартные пути gtag.js (например,
Настройте получение дополнительных данных в серверном контейнере Менеджера тегов (необязательно)
Чтобы отправлять дополнительные параметры, клиент Google Аналитики в серверном контейнере необходимо настроить так, чтобы он обрабатывал их и создавал на их основе данные о событии.
Некоторые серверные теги будут включать дополнительные параметры в исходящие запросы без настройки. Чтобы исключить эти параметры, создайте преобразование, которое будет удалять значение.
Чтобы использовать дополнительные параметры в других тегах, выполните следующие действия:
- В серверном контейнере нажмите Переменные на панели навигации слева.
- Создайте пользовательскую переменную.
- В разделе Конфигурация переменной выберите тип переменной Данные события.
- В поле Путь к ключу укажите название параметра.
- Присвойте переменной название и нажмите Сохранить.
Теперь вы можете использовать этот параметр события в любых других тегах в рамках серверного контейнера.
3. Как отправлять данные из других источников, помимо сайтов (необязательно)
Платформа Measurement Protocol в Google Аналитике позволяет использовать серверные контейнеры для таких источников, как мобильные и межсерверные приложения. Этот вариант позволяет отправлять события в контейнер в формате Measurement Protocol. Контейнер отправляет эти события в Google Аналитику, используя тот же механизм, что и для всех остальных событий SGTM.
Этот вариант не поддерживает все функции конечной точки Measurement Protocol, например получение информации о местоположении и устройстве из событий тегов.
Мобильные приложения
Чтобы в серверный контейнер поступали данные из приложения для Android или iOS, создайте пользовательский тег изображения и включите в нем Measurement Protocol:
- В мобильном контейнере (Android или iOS) нажмите Теги > Создать.
- В разделе Конфигурация тега выберите тип Пользовательское изображение.
- В поле URL изображения укажите путь из заданных ранее настроек клиента Measurement Protocol, по которому расположено однопиксельное изображение из серверного контейнера.
В конец URL изображения добавьте нужные параметры Measurement Protocol:
https://custom.example.com/app?v=1&tid=TAG_ID&cid=555&t=screenview&an=myApp&version=1.6.2&aid=com.foo.myapp&cd=home - Снимите флажок Включить блокировку кеша.
- Сохраните тег и опубликуйте контейнер.
- В серверном контейнере нажмите Клиенты > Создать.
- В разделе Конфигурация клиента выберите тип Measurement Protocol.
- В поле Путь для активации укажите адрес конечной точки сбора данных из приложения.
- Сохраните конфигурацию клиента и опубликуйте серверный контейнер.
Межсерверные приложения
Чтобы данные Measurement Protocol поступали в серверный контейнер, замените имя хоста www.google-analytics.com на имя домена, в котором развернут этот сервер. Например:
POST /batch HTTP/1.1
Host: collection.example.com
v=1&tid=TAG_ID&cid=555&t=screenview&an=myApp&version=1.6.2&aid=com.foo.myapp&cd=home
Чтобы на ваш сервер Google Менеджера тегов поступали обращения Measurement Protocol, настройте клиент Measurement Protocol:
- В серверном контейнере нажмите Клиенты > Создать.
- В разделе Конфигурация клиента выберите тип Measurement Protocol.
- В поле Путь для активации укажите адрес конечной точки сервера.
- Сохраните конфигурацию клиента и опубликуйте контейнер.
Дальнейшие действия
Для передачи данных в истинном собственном контексте необходимо загружать скрипты Google, такие как библиотека Google Аналитики, с собственных серверов.