Как использовать Measurement Protocol

0
68

Как использовать Measurement Protocol

Протокол передачи данных Measurement Protocol – это базовый инструмент для разработчиков. Он активен на любом сайте, где стоит код счетчика Google Analytics.

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

В этой статье вы узнаете, как работает Measurement Protocol, как его применять и что при этом учитывать.

Для чего нужен Measurement Protocol

Протокол помогает решать следующие задачи:

  • Отслеживать в разных средах (устройствах, источников), как пользователи взаимодействуют с компанией.

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

  • Связывать онлайн- и офлайн-действия аудитории, чтобы проследить весь путь пользователя к конверсии (звонка / заявки / заказа).

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

Дело в том, что мы не всегда получаем оплату сразу же по факту. Поэтому если передавать данные о покупке, когда платеж еще не состоялся, есть риск, что статистика будет некорректной. На этапе, когда заказ оформлен, не факт, что пользователь дойдет до оплаты – он может и отменить заказ.

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

  • Отправлять данные с прокси-сервера, если необходимо.

Некоторые среды не могут отправлять данные сразу в Google Аналитику. Например, устаревшие мобильные устройства, на которых нельзя запускать JavaScript, или корпоративный интранет. Брандмауэр блокирует такие запросы.

В таких случаях можно настроить промежуточное звено – прокси-сервер, чтобы отправлять сперва на него. Затем уже он передает данные в Google Analytics с помощью Measurement Protocol.

Чтобы получать данные об IP-адресе и агенте пользователя с клиентского устройства, а не прокси-сервера, укажите оба эти значения в протоколе. Они будут использоваться вместо тех, которые Google обычно получает из заголовков запроса.

Общая схема работы Measurement Protocol

  • Какие данные передает протокол?

Необработанные статистические данные о пользовательских взаимодействиях – событиях и обращениях.

  • Откуда можно их передавать?

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

Также с любых источников – например, CRM-системы, Google Таблиц, базы данных, платежного терминала и других. Условие то же – подключение к глобальной сети.

  • В каком виде эти данные передаются?

В виде HTTP-запросов. Можно использовать для этого POST-запросы, чтобы отправлять данные, и GET-запросы, чтобы их получать данные. Технически оба вида работают одинаково.

  • Куда они поступают?

На серверы Google Аналитики. У протокола единая точка входа: www.google-analytics.com/collect.

  • Когда происходит передача данных?

Каждый раз, когда кто-либо просматривает страницу или совершает событие, запрос поступает в Google Analytics.

Как он выглядит и из чего состоит – разберем далее.

Как формируется запрос

Где посмотреть адрес конкретного запроса

1) Зайдите на сайт;

2) Откройте инструменты разработчика:

Как использовать Measurement Protocol

3) Выберите вкладку «Network»:

Как использовать Measurement Protocol

4) В строке поиска наберите «collect» и обновите страницу:

Как использовать Measurement Protocol

5) Выберите запрос, например:

Как использовать Measurement Protocol

Структура запроса

Как правило, запрос включает 3 строки:

1) Пользовательский агент (user-agent) – это то, что браузер пользователя отправляет в Google Аналитику. Выглядит примерно так:

Как использовать Measurement Protocol

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

2) Строка отправки (transport) включает адрес Google Analytics и конечную точку URL (/collect или /batch, если в одном запросе несколько обращений). То есть куда именно вы отправляете запрос:

Как использовать Measurement Protocol

3) Набор данных с параметрами (payload data) – это параметры, которые вы передаете в запросе. Они представлены в одной строке в виде пар «название = значение», которые разделяются символом «&». Вместо пробелов – нижнее подчеркивание.

Как использовать Measurement Protocol

Measurement Protocol поддерживает следующие типы данных в значениях параметров:

  • Числа (целые или десятичные);
  • Текст. При этом в необработанном тексте удаляются начальные и конечные пробелы, а двойные, тройные и более символы разметки (включая пробелы, табуляцию, разрывы строки и т. д.) преобразуются в одинарные; 
  • true / false (1/0);
  • Валюта (десятичный формат до 6 знаков). После отправки удаляется текст до первой цифры, дефиса (-) или десятичной точки. Таким образом, $-55.00 превращается в -55.00.

Все значения нужно кодировать в UTF-8 и URL. Если какие-либо символы закодированы неправильно, Google заменяет их подстановочным символом Unicode xFFFD.

Отличие запросов POST и GET

В POST-запросе следующий порядок представления данных:

User-Agent: user_agent_string (строка пользовательского агента)

POST https://www.google-analytics.com/collect (строка отправки)

payload_data (набор данных с параметрами)

Пояснения:

  1. user_agent_string – используется при расчете следующих параметров: браузер, платформа и мобильные возможности. Если значение не задано, эти параметры не будут вычислены;
  2. payload_data – тело запроса. Может включать только одну кодированную строку длиной не более 8 192 Б;
  3. IP-адрес – неявно передается в HTTP-запросе и используется для вычисления всех параметров географического местоположения и сети в Google Analytics.

GET-запрос выглядит так:

GET /collect?payload_data HTTP/1.1 (конечная точка URL?набор данных с параметрами)

Host: https://www.google-analytics.com (адрес Google Аналитики)

User-Agent: user_agent_string (строка пользовательского агента)

В этом случае максимальная длина закодированного URL – 8 000 Б.

В некоторых средах (например, браузерах) HTTP-запросы GET могут кешироваться. В таком случае последующие запросы могут не отправляться в Google Analytics, а извлекаться из кеша.

Чтобы это предотвратить и обеспечить уникальность всех запросов, используйте очистку кеша. В Measurement Protocol для этого есть специальный параметр z, который принимает случайно выбранное число. Лучше добавлять его последним:

https://www.google-analytics.com/collect?payload_data&z=123456

Google рекомендует использовать метод POST, поскольку так можно передавать больше данных. В средах, где POST не применяется, можно отправлять HTTP-запросы с помощью метода GET в ту же конечную точку.

Если запрос сформирован правильно, возвращается 2XX код статуса. Если данные неправильно сформатированы, неверные или Google Analytics не удалось их обработать – код ошибки не возвращается. Прежде чем отправлять повторный запрос, исправьте возможные ошибки в HTTP-запросе.

Далее рассмотрим сами параметры.

Обязательные параметры запроса

Строка набора данных с параметрами должна включать следующие 4 элемента:

  • v – версия протокола, на данный момент первая, поэтому v = 1;
  • tid – идентификатор отслеживания, или идентификатор вашего ресурса в Google Аналитике. С ним связываются все собираемые данные;
  • uid или cid. Оба параметра по отдельности необязательные, но один из них нужно указать.

Идентификатор пользователя (uid) – идентификатор, который пользователю присваивает владелец сайта или пользователь библиотеки отслеживания. Он должен быть анонимным, то есть не связанным с личной информацией, а его значение не должно сохраняться с помощью cookie или других средств хранения данных в Google Аналитике.

Уникальный идентификатор клиента (cid) берется из файла cookie в браузере сайта и генерируется случайным образом для каждого случая установки мобильного приложения. По этому значению выполняется анонимная идентификация пользователя, устройства или браузера.

  • t – тип обращения (взаимодействия). Например, pageview (просмотр страницы), event (событие) и другие.

То есть при каждой отправке данных указывайте следующие параметры:

Как использовать Measurement Protocol

Дополнительно для каждого типа обращения есть собственный набор обязательных и необязательных параметров. Информацию по ним ищите в справке по параметрам.

Например, t = event (событие). Согласно справке, к нему нужно добавить обязательные параметры события:

  • ec (event category) – категория события;
  • ea (event action) – действие события.

Если категория события – регистрация (ec = registration), а действие – заполнение формы (ea = form), строка набора параметров будет выглядеть примерно так:

Как использовать Measurement Protocol

А вот как формируется строка для обращения «Просмотр главной страницы» (тип – pageview):

Как использовать Measurement Protocol

dp – это дополнительный параметр для обращения типа pageview, обозначающий путь, в данном случае – к главной странице. Символ косой черты (/) обозначается как %2F. В запросе всё вместе выглядит как сочетание «dp=%2F».

Как отправлять несколько обращений в одном запросе

Используйте конечную точку /batch вместо /collect и укажите каждый фрагмент данных в отдельной строке.

Например, вы хотите отслеживать пользователя 5555, посетившего страницы «Главная», «О компании» и «Контакты». Чтобы передать информацию о просмотре сразу трех страниц, отправьте такой запрос:

Как использовать Measurement Protocol

При этом указывайте в одном запросе не больше 20 обращений. Их общий объем не должен превышать 16 КБ. Ограничение для одного фрагмента данных – 8КБ.

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

Как использовать Measurement Protocol

А вот так – для отслеживания событий:

Как использовать Measurement Protocol

Другие типы обращений смотрите в справочнике разработчика Google Analytics.

Как проверить сформированный запрос в интерактивном режиме

Используйте для этого инструмент Measurement Protocol Hit Builder. Также в нем можно вручную отправлять данные в POST-запросе.

Для этого авторизуйтесь по ссылке:

Как использовать Measurement Protocol

Выберите нужный аккаунт:

Как использовать Measurement Protocol

Дайте разрешение на доступ к нему:

Как использовать Measurement Protocol

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

Как использовать Measurement Protocol

Для дополнительных есть кнопки добавления и удаления:

Как использовать Measurement Protocol

Результат – готовый запрос по заданным параметрам – появится здесь:

Как использовать Measurement Protocol

Нажмите на указанную кнопку, чтобы проверить правильность запроса.

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

Важно! Для отправки обращений на проверку в конце URL должно быть /debug/collect вместо /collect.

Данные в режиме реального времени отправляются в Google Analytics согласно запросу, который вы составили:

Как использовать Measurement Protocol

Правила использования Measurement Protocol

1) Убедитесь, что у вас достаточно прав для работы, загрузки и использования данных в аккаунте Google Аналитики;

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

3) Не загружайте данные, которые позволяют идентифицировать личность пользователя (имя, номер социального страхования, адрес электронной почты и т. п.) или отдельное устройство (например, уникальный идентификатор мобильного телефона, если его нельзя сбросить) даже в хешированной форме.

Не нарушайте эти правила, иначе могут закрыть ваш аккаунт Google Аналитики, и вы потеряете все данные из него.

Высоких вам конверсий!

ОСТАВЬТЕ ОТВЕТ

Please enter your comment!
Please enter your name here