Стань экспертом digital маркетинга
Measurement Protocol
Это основа передачи всех данных, которую использует Google Analytics. Протокол имеет ряд уникальных возможностей, благодаря которым можно собирать информацию с любого устройства, которое имеет доступ в интернет. В данной статье описаны все основные принципы работы, изучив которые, можно получить безграничные возможности отслеживания информации.
Что такое Measurement Protocol?
Measurment protocol – это набор правил для отправки данных напрямую на сервер Google Analytics.
Серверы Google Analytics принимают информацию только в формате Measurement Protocol. Через этот протокол собираются и отправляются данные о взаймодействиях (хиты) – просмотры страниц, просмотры экрана, события, транзакции и социальные взаимодействия и прочее.
Обычно протокол используется там, куда нельзя изначально установить код счетчика для отправки данных на сервер Google Analytics, так как код устанавливается либо на сайт, либо в мобильное приложение.

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

Так же можно отслеживать оффлайн конверсии – передавать данные о посещении оффлайн точек продаж и совершенные там покупки.

Но чтобы это сделать, изначально нужно собирать данные подходящие под формат протокола.

Одно из самых распространённых применений Measurement Protocol, связь данных из CRM с данными сайта, отслеживание оффлайн покупок клиента интернет магазина и объединение этих данных, что зачастую помогает выявить и удовлетворить потребности клиента. Так же отслеживание социальных взаимодействий или открытие письма либо переход из него по ссылке.
Зачем нужно знать что такое HTTP запрос?
Для более детального понимания того как устроен и работает Measurement Protocol, нужно знать что такое HTTP протокол, по принципу которого работают все веб браузеры.

HTTP – это самый распространённый протокол передачи данных, основой которого является технология «клиент-сервер». Простыми словами клиент это вебраузер (Internet Explore, Chrome, Opera и т.д.), а сервер это место где находиться сайт/веб страница, которые связываются с друг другом за счет отправки HTTP запросов и HTTP ответов.

Простой пример: когда вводите адрес сайта, вы отправляете на сервер сайта HTTP запрос, сервер отправляет HTTP ответ, тем самым у вас в окне отображается сайт.

Браузер отправляет серверу HTTP запрос для каждого запрашиваемого источника такого как html документ, картинка, файл и прочее.
Пример HTTP запроса в Google Chrome Developers Tools
Как только сервер получает запрос, он сразу отправляет ответ с источником запроса.
Пример HTTP ответа в Google Chrome Developers Tools
Что такое Measurement Protocol запрос?
Для отправки хитов, HTTP запрос, должен быть определённого формата, что бы сервер мог его считать. Как раз для этого и используется Measurement Protocol, чтобы перевести HTTP запрос в тот формат, который может принять сервер Google Analytics.
Measurement Protocol запрос по своей сути это отформатированный HTTP запрос.
Вся информация которую собирает Google Analytics поступает к нему на серверы за счет МР запроса, который автоматически формируется библиотекой analytics.js.
Любую информацию , которую GA не собирает по умолчанию, можно передать самостоятельно сформировав МР запрос вручную, или попросить разработчика написать специальную программу, которая будет создавать его автоматически с теми данными которые нужны именно нам.

Но для этого нужно понимать как формируется и из чего состоит Мeasurement Рrotocol , знать правила по которым он работает, а так же соблюдать политику конфиденциальности, которую требует Google.
Что такое user agent, transport и payload data?
MP запрос формируется из строки характеристик браузера (user agent), строки отправки (transport), и строки данных/тела запроса (payload data).
Если вы отправляете МР запрос вручную (просто вставляя запрос в адресную строку браузера), том вам понадобиться только строка отправки и строка данных (тело запроса).
Характеристики браузера (user agent) - это строка, которую браузер отправляет на сервер, чтобы сервер его определил.
Характеристики браузера - user agent.
Характеристики своего браузера можно посмотреть в Google Chrome Developers Tools.
Строка отправки (transport), указывает куда отправить MP запрос, в её состав входит: адрес сервера GA и конечная точка URL (collect? или batch?)
Пример строки для отправки Measurement Protocol запроса - transport
С помощью collect? можно отправить один хит, а с конечной точкой batch? несколько хитов за один раз.
Для отправки коммерческих данных используйте https://ssl.google-analytics.com
Строка данных/тело запроса (payload data) - это информация, которую мы передаем на сервер GA используя MP. Другими словами, это данные которые преобразованы в стандарт Measurement Protocol.
строка данных - measurement protocol payload data
Строка данных состоит из множества параметров, где каждый параметр формируется из пары
«ключ = значение».

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

Для каждого типа хита существует свой набор допустимых параметров.

Строка данных должна быть формата кодировки utf-8 и кодировки URL.

Строка данных может быть двух типов:

Одиночная – строка, в которой содержатся данные одного хита, которые отправляются на сервер GA. Формируется с помощью "collect?"

Множественная
– строка, в которой содержатся данные нескольких хитов, которые отправляются на сервер GA. Формируется с помощью "batch?"
Особенности и свойства параметров.
Каждый параметр состоит из пар «ключ = значение» и между каждым параметром обязательно ставиться знак &.

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

Параметры, которые оправляются через MP в GA, должны быть закодированы UTF-8 и URL кодировкой. Если значение закодировано не правильно, оно будет заменено на xFFFD
Пример синтаксиса строки данных:
параметр1&параметр2&параметр3

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

ключ1=значение1&ключ2=значение2&ключ3=значение3


Пример:
v=1&t=event&cid=1795221814.1493486014&tid=UA-1234567-1&ec=a&ea=b
где:
ключи: v, t, cid, tid, ec, ea
значения: 1, event,1795221814.1493486014, UA-1234567-1, a, b

В свойствах параметров «ключ-значение» можно прописывать 4 типа данных:

1. числовые – целое число или число с плавающей запятой.
2. текстовые – строка текста.
3. логические – используют значение true/false.
4. валюта – для использования десятичного формата.

Что такое обязательные параметры?
Обязательные параметры - это параметры, которые должны быть в теле любого measurement protocol запроса, иначе его нельзя будет отправить.
Каждая строка данных должна содержать в себе

1. Версия Measurement Protocol.
v – используется для обозначения версии MP.
В значении этого параметра следует указывать 1.
Пример: v=1
в строке данных:
v=1&t=pageview&cid=1795221814.1493486014&tid=UA-1234567-1&dp=/test

2. Номер счетчика
tid - используется для обозначения кода счетчика
В значение этого параметра указывается номер счетчика GA.
Пример: tid=UA-123456-1
в строке данных:
v=1&t=pageview&cid=1795221814.1493486014&tid=UA-1234567-1&dp=/test

3. идентификатор пользователя(client id)
cid – используется для обозначения идентификатора клиента
Пример: cid=1795221814.1493486014
в строке данных:
v=1&t=pageview&cid=1795221814.1493486014&tid=UA-1234567-1&dp=/test

4. Тип хита
t – используется для обозначения типа хита
В значении указывается один из типов хита: event, transaction,pageview,social и прочее.
Пример: t=pageview
в строке данных:
v=1&t=pageview&cid=1795221814.1493486014&tid=UA-1234567-1&dp=/test
Для некоторых типов хитов существует ряд дополнительных параметров, которые являются обязательными.
Пример: событие - event, нельзя отправить без параметров ea и ec.
Правила и советы по работе с Measurement Protocol.
Любая строка данных должна соответствовать типу - хит (событие, просмотр страницы, транзакция, просмотр экрана).
Для каждого типа хита имеется свой допустимый набор параметров.
Например, если мы передаём данные через событие (event) там обязательно должны присутствовать параметры ec (категория события) и ea (действие по событию). А при отправке просмотра страницы (pageview) параметры ea и ec недопустимы.
Не все параметры можно использовать вместе.
Каждый тип параметра использует определённый формат.
Все значения имеют ограниченный размер, который измеряется в байтах, если длина строки превышает данный размер, отправка значений становиться невозможна или происходит с ошибками.
Используйте только латинские символы. Кириллицей (русскими буквами) прописывать значение крайне не рекомендуется, так как все символы будут перекодированы в формат URL, что соответственно сильно увеличивает длину строки.
Для преобразования MP в правильный для отправки формат, а также для проверки запроса используйте Google Measurement Protocol Hit Builder Tool.
Примеры параметров.
1
dr – источник перехода (document refferer). В значение параметра указывается URL откуда был переход.
Пример: dr=http%3A%2F%Fruanalytics.ru
Значение dr параметра должно иметь URL кодировку до того как оно будет послано на сервер GA. По этой причине URL адрес http://ruanalytics.ru перед отправкой кодируется в такой вид http%3A%2F%Fruanalytics.ru, иначе URL адрес не будет опознан.
2
cn campaign name – название кампании.
Пример: cn=attribution
3
cs – campaign source – источник кампании
Допустим, источник кампании прямой переход – (direct)
Пример передачи: cs=%28%direct%29 – значение указывается в скобках, чтобы оно передалось, для скобок используется URL кодировка.
4
cm – campaign medium – канал кампании
Пример: для отправки информации по кампании переход с которой произошел с канала органический поиск.
cm=organic
5
ck – campaign keyword – ключевое слово
Пример отправки параметра с ключевым словом:
ck=google%20analytics – "%20" – это юрл кодировка которая используется для обозначения пробела, так в URL пробел недопустим
6
dl – document location – ссылка на страницу
Пример: dl=http%3A%2F%2Fruanalitics.ru%2Farticles
Вот как выгляделса ссылка до URL кодировки https://ruanalytics.ru%2articles
7
dh – document hostname – имя хоста - место где находится контент
пример: dh=ruanalytics.ru
8
dp – document path – путь к документу
значение этого параметра всегда должно начинаться с /
Пример: dp=%2file%3page%3D111
Значение до формата URL кодировки выглядет так: /file?page=111
9
dt – document title – название документа
Пример: dt=web%20analytics
значение до форматирования в URL кодировку: web analytics
10
ec – event category – категория события
Пример: ec=main%20menu
значение до форматирования в URL кодировку: main menu
11
ea – event action – действие по событию
Пример: ea=click
12
el – event label – название/метка события
Пример: el=articles%20list
значение до форматирования в URL кодировку: articles list
13
ev - event value – ценность события – имеет числовое значение
Пример: ev=100
14
ti – transaction id – идентификатор транзакции электронной торговли
Пример: ti=1234YD
Все параметры должны передаваться в URL кодировке, для проверки используйте Google Measurement Protocol Hit Builder.
Ознакомиться с полным списком параметров можно здесь.
Рекомендации и примеры для отправки POST и GET методом.
Measurment Protocol запрос можно передать двумя методами:
get или post запросом.

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

Передача запроса через MP Hit Builder осуществляется только через POST запрос.

Отправка запроса через адресную строку в браузере осуществляется через GET запрос.

При отправке Measurment Protocol через get запрос избегайте его кэширование.

Передача данных на серверы GA осуществляется при использовании протокола HTTPS.

Максимальный размер данных при отправке через POST запрос составляет 8191 байт.

Максимальный размер отправки через get запрос не должен превышать 2000 байт.
Пример HTTP post запроса, отправленного через Measrement Protocol Hit Builder:
Measurement Protocol Hit Builder - отправка хита типа pageview
Ниже можно увидеть, как выглядет отправленный запрос в Google Chrome Developers Tools.
POST запрос Measurement Protocol
User-Agent: user_agent_stringстрока с версией браузера
POST https://www.google-analytics.com/collect - строка отправки
v=1&tid=UA-1234567-1&cid=1795221814.1493486014&t=pageview&dp=/testтело запроса.
Пример отправки HTTP get запроса через адресную строку браузера:
Отправка через строку браузера - measurement protocol GET запрос
Просто вставляем готовый Measurement Protocol запрос в адресную строку в браузере и нажимаем кнопку Enter. Ниже, через Google Chrome Developers Tools, можно увидеть как выглядет отправленный запрос .
Пример GET запроса Measurement Protocol
GET /collect? v=1&tid=UA-1234567-1&cid=1795221814.1493486014&t=pageview&dp=/test&z=552552
HTTP/1.1
Host: https://www.google-analytics.com
User-Agent: user_agent_string
Что такое кеш браузера?
Кэш — это временные файлы (элементы сайта, изображения, звуки и т.д.) которые хранятся на компьютере пользователя и используются для более быстрой загрузки веб страниц, которые до этого посещал пользователь. Благодаря этому, файлы не загружаются заново из интернета, а берутся из кэша, тем самым значительно ускоряя время загрузки.
Как очистить кэш браузера при отправке запроса?
Данные, отправляемые через GET запрос, могут сохраняться в кэше браузера, что может сломать отправку всех последующих запросов на серверы Google Analytics, так как они будут браться из кэша и повторяться.
Чтобы решить проблему кэширования, следует добавлять дополнительный параметр в тело запроса, содержащий в себе набор цифр, которые будут отличать его от других запросов.

Для этих целей используется специальный служебный параметр z, в значение которого, следует добавлять случайный набор цифр, чтобы отличать его от других запросов. Google рекомендует добавлять его в самый конец строки данных.
Пример: https://www.google-analytics.com/collect?v=1&tid=UA-1234567-1&cid=1795221814.1493486014&t=pageview&dp=/test&z=432435
Как посмотреть Measurement Protocol запрос?
Для того чтобы посмотреть, как выглядит MP запрос, надо открыть Google Chrome и зайти на любой сайт, где установлен код счетчика GA.

В любом месте на странице нажать на правую кнопку мыши, и найти "Посмотреть код"
Как в браузере Google Chrome зайти в Инструменты разработчика - Google Developers tools?
Кликнув на строку "Посмотреть код" вы перейдёте в Инструменты разработчика (Developers Tools).
Перейти в раздел "Network", и ввести слово "collect" верхнем левом углу.
После этого у вас появятся все хиты, которые были отправлены на сервер GA.
Как посмотреть хит hit в Google Chrome?
Инструменты разработчика - Google Developers Tools - раздел Network
Как выглядет measurement protocol в google developers tools Инструменты разработчика
Выбрав любой из хитов, можно увидеть Measurement Protocol запрос, благодаря которому данные отправились на сервер Google Analytics.
Как создать, проверить и отправить запрос используя Measurement Protocol Hit Builder?
На сегодняшний момент, Google Measurement Protocol Hit Builder, является самым удобным инструментом для создания, проверки и отправки МР вручную.
Чтобы создать и отправить запрос надо выполнить следующие действия.
Сначала заполните поля с 4 обязательными параметрами.
 Как добавлять параметры в Measurement protocol Hit builder
Если нужно, добавьте дополнительные параметры с помощью кнопки "Add parameter"
После того как все параметры добавлены нажимаем Validate hit (проверка запроса).

Hit Builder не даст вам отправить неправильный запрос.

Нужно иметь ввиду, что запрос сделанный в Hit Builder, автоматически создаётся в URL кодировке, что значительно упрощает задачу.
Пример неправильного запроса в Hit builder
Если после проверки, запрос составлен неправильно – вы увидите надпись hit invalid. Обратите внимание, что под ней написанно, какой параметр надо добавить или поменять, это очень полезно, так как зачастую бывает сложно найти ошибку самому.
Если же с запросом всё в порядке, то появится надпись "Hit is valid". Теперь запрос можно отправлять.
Пример правильного запроса в Hit Builder
Чтобы отправить запрос - нажмите кнопку "Send hit to Google Analytics".
Нit Вuilder совершает отправку только POST методом и через него можно отправлять только один хит в каждом запросе, так как он использует конечную точку collect? .
Чтобы отправить серию хитов за раз воспользуйтесь способом, который указан ниже
Отправка запроса через адресную строку браузера.
Так же вы можете отправить запрос через адресную строку браузера.
Для этого надо скопировать сгенерированную строку данных (тело запроса) из Нit Вuilder и добавить перед строку отправки (https://www.google-analytics.com/collect?)
Отправка через строку браузера - measurement protocol GET запрос
Просто вставляем готовый запрос в адресную строку в браузере и нажимаем кнопку Enter. Имейте ввиду, что таким образом вы совершаете отправку GET методом, поэтому в конец запроса следует добавить параметр z, что избежать кэширование запроса.
Отправить серию хитов можно через адресную строку в браузере, для этого в строке отправке уже составленного запроса поменяйте конечную точку на batch?.
Каждый новый хит добавляется через & и должен содержать в себе все обязательные параметры, которые использует Мeasurement Protocol.

Что такое Measurement protocol validation server?
Measurment Protocol Validation Server - это специальный служебный сервер, который используется для проверки MP запросов.
Инструмент Hit Builder проверяет созданный запрос через этот сервер.
Доступ к нему можно получить просто добавив в конечную точку /debug/.
При добавлении этой команды, можно отправлять MP запрос напрямую на сервер проверки, при этом он не отправляется на сервер GA.
После того как запрос отправлен, сервер проверки его обрабатывает и присылает ответ в JSON формате.
JSON (JavaScript Object Notation) - это язык основанный на JavaScript, который используется для хранения и обмена данными.
Если запрос не содержит ошибок, то сервер присылает такой ответ:
Ответ meаsurement protocol validation server - запрос составлен правильно
hitParsingResult это массив, который содержит в себе объекты - "valid", "parserMessage" и "hit".
В данном случае у ключа "valid" значение true, что значит, наш МР запрос правильный и не содержит ошибок.
Если у объекта "valid" в значении указанно false, это значит, что запрос составлен неправильно. В таком случае сервер проверки высылает другой ответ, который содержит в себе подробности об ошибке:
Ответ meаsurement protocol validation server - ошибка в запросе
В данном случае, у объектов "valid" значение false, а у "messageType" - "ERROR".
Получив в ответе эти два значение, мы можем сделать вывод, что в нашем запросе имеется ошибка.
Ниже в "description","messageCode" "parameter", дана информация об ошибке.
"description" – это описание ошибки
"messageCode" – даёт понять, что именно надо исправить
"parameter" – указывает в каком параметре допущена ошибка
Имейте ввиду, если вы отправляете запрос на сервер проверки, информация не попадает на сервер GA, то есть эти данные не отобразятся в отчетах.
Набор параметров для отправки хита - просмотр станицы.
Чтобы создать Measurement Protocol запрос с данными хита типа - Просмотр страницы, следует в значении параметра t указать pageview (t=pageview)
и добавить остальные обязательные параметры:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Путь к документу (document path) - dp
Значение этого параметра всегда должно начинаться с /
Пример: dp=%2Ftest
Просмотр страницы имеет один дополнительный обязательный дополнительный параметр dp – document path – путь к документу.
Пример строки данных:
v=1&t=pageview&tid=UA-1234567-1&cid=1795221814.1493486014&dp=%2Ftest
Набор допустимых дополнительных параметров для хита типа "pageview":
1
dr – источник перехода (document refferer). В значение параметра указывается URL откуда был переход.
Пример: dr=http%3A%2F%Fruanalytics.ru
Значение dr параметра должно иметь URL кодировку до того как оно будет послано на сервер GA. По этой причине URL адрес http://ruanalytics.ru перед отправкой кодируется в такой вид http%3A%2F%Fruanalytics.ru, иначе URL адрес не будет опознан.
2
dl – document location – ссылка на страницу
Пример: dl=http%3A%2F%2Fruanalitics.ru%2Farticles
Вот как выгляделса ссылка до URL кодировки http://ruanalytics.ru%2articles
3
dh – document hostname – имя хоста - место где находится контент
пример: dh=ruanalytics.ru
4
dt – document title – название документа
Пример: dt=web%20analytics
значение до форматирования в URL кодировку: web analytics
Пример готового MP запроса типа pageview:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=pageview&tid=UA-1234567-1
&cid=1795221814.1493486014&dp=%2Ftest&dr=http%3A%2F%2Fruanalytics.ru
&dl=http%3A%2F%2Fruanalytics.ru%2Farticles&dh=ruanalytics.ru&dt=web%20analytics
Набор параметров для отправки хита - событие.
Чтобы создать Measurement Protocol запрос с данными хита типа - событие, следует в значении параметра t указать event (t=event)
и добавить остальные обязательные параметры:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Действие по событию - event action - ea
Категория события - event category - ec
В отличие от просмотра страницы, событие имеет два дополнительных обязательных параметра это действие по событию - ea и категория события - ес.
Пример строки данных:
v=1&t=event&tid=UA-1234567-1&cid=1795221814.1493486014&ea=learning&ec=measurement%20protocol
Набор дополнительных параметров для хита типа "event":
1
el – event label – ярлык события
Пример: el=valid%20parameters
Параметр el должен иметь URL кодировку до того как он будет послан на сервер GA.
Вот как выглядело значение до кодировки valid parameters.
2
ev – event value – ценность события.
Пример: ev=500
Параметр ev имеет числовое значение.
Пример готового MP запроса типа event:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=event&tid=UA-1234567-1 
&cid=1795221814.1493486014&ea=learning&ec=measurement%20protocol
&el=valid%20parameters&ev=500
Набор параметров для отслеживания и отправки данных о социальных взаимодействиях.
Когда пользователь нажимает на кнопки социальных сетей (поставить лайк, подписаться и т.д.), расположенных на сайте, он совершает социальные взаимодействия, которые благодаря Measurement Protocol, можно отследить и передать в GA в специальный отчет.
Для того, чтобы через Measurement Protocol отправлять данные о социальных взаимодействиях, следует использовать тип хита - social. (t=social) и добавить остальные обязательные параметры:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Социальное взаимодействие – social action - sa
Пример: sa=like
Социальная сеть – social network – sn
Пример: sn=vk
Целевая страница – social target – st
Пример: st=http%3A%2F%2Fwww.ruanalytics.ru%2Fmeasurment-protocol%2F
Значение параметра st должно иметь URL кодировку до того, как оно будет послано на сервер GA. По этой причине http://ruanalytics.ru/measurment-protocol перед отправкой кодируется в такой вид http%3A%2F%2Fwww.ruanalytics.ru%2Fmeasurment-protocol%2F, иначе URL адрес не будет опознан.
Тип хита social имеет три дополнительных обязательных параметра это социальное взаимодействие - sa, социальная сеть – sn и целевая страница – st.
Пример готового MP запроса типа social:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=social&tid=UA-1234567-1
&cid=1795221814.1493486014&sa=like&sn=vk
&st=http%3A%2F%2Fruanalytics.ru%2Fmeasurment-protocol
Набор параметров для отправки данных по рекламным кампаниям.
Информация по рекламным кампаниям отправляется через хит типа - pageview. (t=pageview), к обязательным параметрам MP запроса, следует добавить ещё группу данных:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Название кампании – campaign name – cn
Пример: cn=promo-1
Источник кампании – campaign source – cs
Пример: cs=vk
Канал кампании – campaign medium – cm
Пример: cm=social
путь к документу – document path – dp
Пример: dp=webanalytics%20articles
Набор дополнительных параметров для отправки данных по рекламным кампаниям:
1
ck - ключевое слово – campaign keyword
Пример: ck=measurement%20protocol%20v%20detaliah
2
cc - позиция объявления – campaign content
Пример: cc=right
3
dt - название страницы – document title
Пример: dt=measurement%20protocol – Для того чтобы отобразить название страницы в отчетах, удобно для анализа.
Пример готового MP запроса для отправки данных по рекламным кампаниям:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=pageview&tid=UA-1234567-1
&cid=1795221814.1493486014&cn=promo1&cs=vk&cm=social
&dp=webanalytics%20articles&ck=measurement%20protocol%20v%20detaliah
&cc=right&dt=measurment%20protocol
Набор параметров для отправки данных электронной торговли.
Данные о транзакции.
Транзакцией в электронной торговле является заказ на покупку, который может включать в себя один несколько несколько единиц одного или разных товаров. То есть в одной транзакции может быть несколько разных или нескольких одинаковых товаров, а может и то и другое.
Данные транзакции содержат сведения о заказах пользователей, такие как:
id транзакции (или код заказа) - tid
филиал магазина - ta
общая прибыль, полученная от сделки (может также включать стоимость доставки и налогов) - tr
общая сумма налога - tt
общая стоимость доставки - ts
Для того, чтобы через Measurement Protocol отправлять данные о транзакциях, следует использовать тип хита - transaction.
(t=transaction)
и добавить остальные обязательные параметры:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Идентификатор транзакции – transaction id - ti
Пример: ti=12345abc - Значение идентификатора транзакции соответствует типу "строка".
Набор дополнительных параметров для хита типа "transaction":
1
ta - название магазина или филиала - transaction affiliation
Пример: ta=store1
2
tr - доход от сделки – transaction revenue
Пример: tr=18000.50 - Значение соответствует типу "валюта"
3
ts - стоимость доставки – transaction shipping
Пример: ts=500 - Значение соответствует типу "валюта"
4
tt - налог с продажи – transaction tax
Пример: tt=0.18 - Значение соответствует типу "валюта"
5
cu - тип валюты - сurrency сode
Пример: cu=RUB
Пример готового MP запроса типа transaction:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=transaction&tid=UA-1234567-1
&cid=1795221814.1493486014&ti=12345abc&ta=store1&tr=18000.50&ts=500
&tt=0.18&cu=RUB
Данные о товаре.
Item - это данные о товаре, который включен в транзакцию, в них входит:
идентификатор транзакции (такой же как в заказе) - ti
название товара - in
артикул (или код товара) - ic
категория товара - iv
цена товара - ip
количество товара - iq
Для того, чтобы через Measurement Protocol отправлять данные о транзакциях, следует использовать тип хита - item.
(t=item)
и добавить остальные обязательные параметры:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Идентификатор транзакции – transaction id - ti
Пример: ti=12345abc - идентификатор берётся из транзакции, где присутсвует данный товар
название товара - Item name - in
Пример: in=book
Набор дополнительных параметров для хита типа "item":
1
ip - цена товара - item price
Пример: ip=1200
2
ic - артикул товара - SKU
Пример: ic=3895bca
3
iv - категория или характеристика товара - item variation / category
Пример: iv=ruanalytics
4
cu - местная валюта - сurrency сode
Пример: cu=RUB
Пример готового MP запроса типа item:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=item&tid=UA-1234567-1
&cid=1795221814.1493486014&ti=12345abc&in=book&ip=1200
&ic=3895bca&iv=ruanalytics&cu=RUB
Набор параметров для отправки возврата товара или транзакции.
Если на сайте подключена электронная торговля, то Measurement Protocol можно использовать для передачи данных о возврате товаров или транзакций.
Данные о возвратах передаются через тип хита событие.
t=event.
Помимо обязательных параметров, которые присутствуют в теле любого МР запроса (v,tid,cid) добавляется ряд обязательных параметров, которые следует использовать для передачи данных о возврате товара:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Действие по событию - event action - ea
Пример: ec=Ecommerceв значении следует указать Ecommerce
Категория события - event category - ec
Пример: ea=Refund - в значении следует указать Refund
Идентификатор транзакции – transaction id - ti
Пример: ti=T12345 – следует указать номер транзакции, по которой производится возврат товара.
Действие по продукту – product action - pa
Пример: pa=refund
Идентификатор продукта – product id – prid
Пример: pr1id=P12345 – "1"это номер продукта в транзакции, он может быть изменён.
Кол-во – product quantity – prqt
Пример: pr1qt=1
Так как возврат, это служебное событие , не совершенное пользователем, следует добавлять специальный параметр "ni", чтобы не искажать данные в отчетах Google Analytics.
Не взаимодействие – non interaction - ni
Пример: ni=1 – в значении надо указать 1, чтобы это событие не влияло на показатель отказов.
Пример готового MP запроса для возврата товара:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=event&tid=UA-1234567-1
&cid=1795221814.1493486014&ea=Refund&ec=Ecommerce&ti=T12345
&pa=refund&pr1id=P12345&pr1qt=1&ni=1
Чтобы сделать возврат транзакции, надо просто убрать параметры prid и prqt, которые относятся к товару.
Пример готового MP запроса для возврата транзакции:
(код должен записываться в одну строку без прерываний)
https://www.google-analytics.com/collect?v=1&t=event&tid=UA-1234567-1
&cid=1795221814.1493486014&ea=Refund&ec=Ecommerce
&ti=T12345&pa=refund&ni=1
Набор параметров для отслеживания открытия email писем. Что такое пиксель отслеживания?
Чтобы отслеживать просмотр пользователем email писем, готовый Measurement Protocol запрос надо добавить в код пикселя, который используется для того чтобы отправить событие при открытии письма.
Пиксель отслеживания — это скрытое изображение размером 1*1 пиксель, при загрузке которого, срабатывает размещенный в нём Java Script код.
Вот как выглядет код пикселя: <img src="..."/>
Готовый Measurement Protocol запрос ставиться внутрь кавычек:
<img src="ваш MP запрос"/>
Если вы пользуетесь системами для email рассылок, готовый пиксель следует вставлять в <body><img src="ваш MP запрос"/></body> в самый конец.
Не забывайте, что политика конфиденциальности Google запрещает передавать или связывать данные для идентификации личности.
Запрос передается через тип хита - событие (t=event)
с добавлением следующих параметров:
Версия Measurement protocol - v
Номер счетчика Google Analytics - tid
Идентификатор пользователя - cid
Действие по событию - event action - ea
Пример: ec=email
Категория события - event category - ec
Пример: ea=open
Источник кампании – campaign source – cs
Пример: cs=discount-newslatter
Канал кампании – campaign medium – cm
Пример: cm=email
Название кампании – campaign name – cn
Пример: cn=rassilka-po-baze1
Не взаимодействие – non interaction - ni
Пример: ni=1 – в значении надо указать 1, чтобы это событие не влияло на показатель отказов.
Пример кода пикселя для отслеживания открытия email писем:
(код должен записываться в одну строку без прерываний)
<img src="https://www.google-analytics.com/collect?v=1&t=event&tid=UA-1234567-1
&cid=111&ea=email&ec=open&cs=discount-newslatter&cm=email
&cn=rassilka-po-baze1&ni=1"/>​
ТЗ и схема для реализации автоматической отправки запроса Measurement Protocol .
Для реализации автоматической отправки запроса в формате Measurment Protocol следует выполнить 4 требования.
1. Создать приложение/программу, которое будет извлекать данные из желаемого внешнего источника данных. (Укажите разработчику откуда забирать данные).

2. Приложение должно преобразовать полученные данные в формат, который использует MP. (Вначале статьи описаны все принципы работы Measurement Protocol).

3. Приложение должно отправлять созданный HTTP-запрос POST или GET методом на сервер Google Analytics. Для этого нужно, чтобы HTTP запрос состоял из строки с версией браузера(user agent) , строки отправки и строки данных.
Пример запроса:
user-agent:Mozilla/5.0 (Macintosh; Intel Mac OS X 10_11_6) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/58.0.3029.110 Safari/537.36
POST https://www.google-analytics.com/collect?v=1&t=event&tid=UA-123456-1&cid=gvvyugg8ytguyvujhv7uv&ec=data&ea=send&el=auto


4. Реализовать функцию приёма HTTP ответа сервера, так как в случае успешной обработки данных на сервере, обратно в приложение отправляется код 200 . Учесть момент, что при неправильном запросе сервер Google Analytics не высылает ответ об ошибке.


автоматическая отправка Measurment Protocol схема для разработчика
Схема работы приложения
Пример ТЗ для интеграции amocrm и google analytics при помощи Measurment protocol.
Образец составления технического задания для интеграции CRM c Google Analytics с помощью Measurment Protocol, на примере Amo CRM.
На сайте должна быть установлена и настроена расширенная электронная торговля - enhanced ecommerce. Данное ТЗ используется как пример для начинающих специалистов, и не является эталонным.