Measurement Protocol
Measurement Protocol (MP) – это набор правил передачи статистических данных в Google Analytics. То есть Measurement protocol – это http-запрос, отформатированный по заданным правилам. С помощью данного протокола вы можете собирать и отправлять пользовательские данные на сервер Google Analytics посредством http-запросов (методом POST или GET).
Благодаря платформе Measurement Protocol можно отправлять в Analytics данные с любого подключенного к интернету устройства. Она особенно полезна, когда требуется передать данные из киоска, точки продажи или любого другого места, отличного от веб-сайта или мобильного приложения
В качестве примера работы рекомендую посмотреть видео на YouTube, которое называется «In store customer survey with Google Analytics».
Небольшой комментарий по нему. Три рожицы (зеленая, оранжевая и красная). При клике на каждую из них с планшета в счетчик Google Analytics поступает событие о совершенном действии.
Как это выглядит на практике?
Пример 1
Вы приходите в отделение банка, проходите обслуживание, и в конце оператор вас просит оценить качество работы. Нажав на одну из иконок – зеленый (отличное), желтый (нейтральное) и красный (плохое), в этот момент (если это цифровое устройство подключено к интернету) происходит передача данных в Google Analytics.
Данные в Analytics можно передавать с абсолютно любых устройств – холодильников, телевизоров, самодельных роботов, игровых консолей и т.д. Главное – подключение к интернету и передача данные с помощью http-запросов.
Пример 2
Предположим, у вас есть интернет-магазин, и человек попросил доставку на дом с оплатой курьеру через терминал. Во время проведения транзакции можно отправлять данные в Google Analytics о совершенном действии (покупка). В случае, если пользователь позвонил вашему менеджеру и попросил отменить заказ, вы также можете с помощью MP передать данные в систему GA об отмене/возврате, чтобы не портить статистику в отчетах.
Пример 3
Пользователь перешел на ваш сайт по рекламному объявлению из Google Рекламы. Client ID и gclid при этом был записан. Он оставляет заявку или делает покупку. После совершенного действия данные по Client ID и gclid попадают в вашу базу данных / CRM-систему. Затем пользователь приезжает к вам в офис и делает покупку офлайн. Конверсии с помощью Measurement Protocol передаются в Google Analytics и Google Рекламу.
Пример 4 (изменение статуса сделки)
Настраиваем Client ID в GA в качестве специального параметра. Затем передаем Client ID в CRM. Пользователь совершает покупку. Статус сделки изменяется. Передаем статус заказа в Google Analytics (custom dimension). Связываем Client ID и статус заказа.
Пример 5 (связывание оффлайн и онлайн конверсий)
В случае, если вы отслеживаете User ID, вы можете связать действия каждого пользователя как оффлайн, так и онлайн. Например, первый контакт он совершил с вашей продукцией не в интернете, а зайдя в магазин. Во время покупки вы предлагаете ему оформить скидочную карту (просто заполнить анкету со всеми данными), а затем активировать ее на сайте в личном кабинете.
Вы оплачиваете покупку оффлайн, получаете скидочную карту, идете домой, садитесь за компьютер, регистрируйтесь на сайте и активируете эту карту. Все. С этого момента все ваши действия можно связать воедино. Теперь у компании есть цепочка касайний оффлайн-онлайн, а предоставленная информация на кассе в анкете позволяет вас идентифицировать по местоположению, полу и возрасту. Они (маркетологи компании) могут отправлять вам e-mail рассылки, специальные акции, предложения, настроить на определенный сегмент ремаркетинговые кампании и т.д.
Пример 6
Нельзя обойтись без примера в автомобильной тематике. Многие из мужчин (да и женщин тоже) регистрируются на тест-драйвы в интернете, но лишь единицы покупают машину через сеть. Как правило, это оффлайн-событие, целый ритуал - поездка всей семьей в дилерский центр, подбор комплектации, дополнительного оборудования и т.д. А время, которое человек может посвятить этому процессу, исчисляется месяцами. Поэтому так важно отслеживать всю цепочку взаимодействий от первого контакта на посадочной странице (запись на тест-драйв) до передачи ключей от автомобиля в руки новому покупателю.
Пример 7 (e-mail рассылки)
С помощью Measurement Protocol можно отслеживать открытие сообщений электронной почты. Например, вы отправляете письмо пользователю с зашитой в тело письма картинкой-пикселем. Пользователь, увидев это письмо, открывает его. Как только пиксель загрузится, произойдет HTTP-запрос в Google Analytics. Данные уйдут на серверы GA. В результате мы в отчетах сможем увидеть что-то похожее:
Пиксель может выглядеть так:
<img src="https://www.google-analytics.com/collect?v=1&t=event&tid=UA-77456218-1&cid=1410618336.1529141287&ec=email&ea=metka>
Разумеется, почтовые сервисы отслеживают такие «манипуляции» и не всегда реагируют на такие рассылки адекватно. Поэтому не удивляйтесь, что ваше сообщение может попасть в спам или вообще не дойти до адресата.
К тому же, у сервисов почтовых рассылок есть свои интеграции с Google Analytics. Они позволяют автоматически создавать необходимые динамические теги. Тот же {{Client ID}}, который является неотъемлимым параметром при передаче http-запросов.
Во всех вышеперечисленных примерах так или иначе фигурирует MP.
Если у вас на сайте просто установлен код счетчика Google Analytics, то вы уже используете Measurement Protocol для передачи данных в Google Analytics. Каждый раз, когда запускается просмотр страницы в GA или тег события GA, http-запрос отправляется на сервера Google Analytics.
Чтобы увидеть http-запрос, который отправляет данные в Google Analytics, выполните следующие шаги:
- перейдите на сайт, где установлен код счетчика GA;
- откройте панель разработчика - вкладка «Network»;
- в поисковой строке пропишите collect;
- обновите страницу;
Выберите запрос, который вы хотите отобразить. Перед вами будет запрос с данными, которые передаются в Google Analytics через Measurement Protocol.
Из чего формируется Measurement Protocol?
Запрос по Measurement Protocol формируется из строки пользовательского агента (user-agent), строки отправки (transport), и строки набора данных с параметрами (payload data). Если отправлять запросы вручную, то строка пользовательского агента (User agent) не обязательная.
Пользовательский агент (user-agent) – это строка, которую ваш браузер отправляет на веб-сервер, чтобы идентифицировать себя.
Пример User-Agent:
Cтроки отправки (transport) указывает куда отправлять Measurement Protocol запрос. Строки отправки состоят из двух частей:
- адрес Google Analytics (куда отправлять данные);
- конечная точка url (один или несколько обращений в запросе). Конечная точка url может быть /collect или /batch
Чтобы отправить несколько обращений в одном запросе, используйте конечную точку /batch вместо /collect, указав каждый фрагмент данных в отдельной строке.
Строки набора данных (payload data) – параметры, передаваемые в запросе. Эти данные напоминают сроку url-запроса, которые появляется после символа «?».
Параметров может быть много в запросе, состоят они из пар «ключ=значение». Параметры разделяются символом «&». Все параметры пишутся в одну строку без пробелов.
Типы данных для параметров (ключ=значение):
- Числовые – число целое или с запятой;
- Текстовые – строка текста;
- Логические – значение true / false (1/0);
- Валюта - десятичный формат до 6 знаков.
Обязательные параметры:
- v - версия протокола;
Значения этого параметра должно быть всегда 1. Например, v=1.
- tid – идентификатор отслеживания;
Значение этого параметра должно быть идентификатором Google Analytics, в которое вы хотите отправлять данные. Например, tid=UA-123456-9.
- cid – идентификатор клиента;
Уникальный идентификатор пользователя, берется из файла cookie браузера. Например, cid=1519350432.1541948486.
- t – тип хита;
В значении указывается один из типа хитов. Например, t = pageview
Типы хитов:
- pageview - просмотр страницы;
- screenview - просмотр экрана приложения;
- event - событие;
- transaction - транзакция стандартной электронной торговли;
- item - товар в стандартной электронной торговли;
- social - социальные взаимодействия;
- exception - информация о возникающих на сайте ошибках;
- timing - информация о различных временных интервалах, например, время загрузки страницы.
Все параметры, доступные в передачи статистических данных Measurement Protocol, можно посмотреть по ссылке:
https://developers.google.com/analytics/devguides/collection/protocol/v1/parameters?hl=ru
Для того чтобы быстро проверить сформированный запрос, используйте инструмент Hit Builder. Также с помощью данного приложения вы можете вручную отправлять данные в Google Analytics (метод POST).
Также вы можете передать данные методом GET через адресную строку браузера.
Для отправки обращений на проверку в конце URL должно быть /debug/collect вместо /collect.
Данные отправляются в Google Analytics согласно сформированному запросу.