Universal Analytics предлагает массу возможностей для отслеживания посетителей сайта, а также сопоставление действий пользователя на сайте и последующее совершение целевых действие в оффлайне.
Для этих целей используется Measurement Protocol или Протокол передачи данных. В каких случаях вы можете использовать эту возможность? Приведу пару примеров.
Первый вариант — посетитель приобретает у вас на сайте товар или услугу, при этом выбирает вариант оплаты «безналичный расчет». Мы можем предположить, что процесс покупки по ряду причин может быть и не завершен, по этому передача в Google Analytics сведений о транзакции после завершения процесса оформления заказа/покупки, некорректна. Данные должны быть переданы после фактического поступления оплаты.
Второй вариант — оплата наличными курьеру при доставке товара. Покупка считается завершенной после получения оплаты курьером.
В обоих ситуациях, если мы будем передавать данные о покупке (транзакции) после завершения процесса оформления заказа мы исказим статистику, т.к. у нас пока нет фактической оплаты. Для исправления ситуации с лишними учтенными платежами придется использовать отрицательные транзакции, что не всегда удобно и не совсем правильно.
Решить обозначенную проблему нам поможет новая возможность появившаяся в Google Analytics с выходом Universal Analytics, под названием Mesurement Protocol.
В чем заключается принцип работы протокола. Все достаточно просто. Необходимо отправить специальным образом сформированный запрос на определенный URL.
Пример запроса:
1 |
http://www.google-analytics.com/collect?v=1&tid=UA-47xxxx-1&cid=12xx916x95.13x6127xx4&t=pageview |
Разберем подробнее параметры подлежащие передаче.
Первое — это URL, на который должен быть отправлен запрос, он должен принимать значение
1 |
http://www.google-analytics.com/collect |
для незащищенного соединения, и
1 |
https://ssl.google-analytics.com/collect |
для протокола SSL.
Второе — обязательный набор из 4 параметров:
- v — версия протокола, в настоящей момент используется значение равное 1;
- tid — идентификатор кода отслеживания (ресурса) Google Analytics в виде UA-XXXX-Y;
- cid — анонимный Client-ID;
- t — тип хита.
Если первый и второй параметр не должны вызвать сложностей, то третий и четвертый требуют уточнений.
Параметр cid, это анонимный client-id или идентификатор клиента. Если посетитель просматривает ваш сайт с помощью браузера, Universal Analytics сохранит значение client-id в cookie, если вам не известно значение, используйте любое свое.
Обратите внимание, если вы используете client-id, который получен из cookie файла, переданные данные будут сопоставлены с другими действиями посетителя, если передаете свое значение, то будет просто зафиксирован некоторый хит нового посетителя (операции под одним client-id приписываются одному посетителю). Для иллюстрации сказанного посмотрите на изображение:
Просмотр страницы под номером 1, это первое посещение сайта, просмотр 2 сгенерирован с помощью Mesurement Protocol по клику на кнопке, при этом использовался clid из cookie установленного в посещении номер 1. У нас по отчету на сайте будет 1 посетитель.
Просмотр 3 также как и просмотр 2 сгенерирован при клике на кнопку, при этом в качестве clid передано значение 12345, что приводит к появлению на сайте второго посетителя. У нас по отчету уже 2 посетителя. Просмотр 4 полностью аналогичен просмотру 2. Т.е. действие посетителя номер 1, который ранее осуществил просмотры 1 и 2.
Вернемся к параметрам, следующий параметр t, это тип хита. Он может принимать ограниченный круг значений — ‘pageview’, ‘appview’, ‘event’, ‘transaction’, ‘item’, ‘social’, ‘exception’, ‘timing’. Наиболее часто используемые значения:
- pageview — просмотр страницы;
- event — событие;
- transaction — транзакция;
- item — элемент транзакции.
Уже сейчас вы имеете возможность передачи в Universal Analytics данных с помощью Measurement Protocol. Но для того, чтобы нам получить в отчетах достоверную и полную информацию, необходимо выполнить еще два действия.
- Получить client-id посетителя сайта и сохранить его в CRM вместе с данными о заказе (сопоставить активность пользователя на сайте и его оффлайн действия).
- Дополнить запрос дополнительными параметрами, позволяющими работать нам с передаваемыми данными в отчетах.
Получить clien-id можно из cookie Universal Analytics:
Вы можете самостоятельно, либо с помощью разработчиков получить нужное значение. Я в своей деятельности пользуюсь следующим кодом на языке PHP (автор Matt Clarke):
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 |
<?php /* * Name: Universal Analytics Cookie Parser Class * Description: Parses the new format Universal Analytics cookie. * Developer: Matt Clarke * Date: January 10, 2013 */ class UniversalAnalyticsCookieParser{ // Parse the _ga cookie if found function __construct() { if( isset($_COOKIE["_ga"]) ){ echo $this->getCid(); } } // Handle the parsing of the _ga cookie public function parseCookie() { list($version,$domainDepth, $cid1, $cid2) = split('[\.]', $_COOKIE["_ga"],4); return array('version' => $version, 'domainDepth' => $domainDepth, 'cid' => $cid1.'.'.$cid2); } // Get cid public function getCid() { $contents = $this->parseCookie(); return $contents['cid']; } } ?> |
Что касается дополнительных параметров. Их достаточно много, некоторые из них с описанием на русском языке вы найдете здесь, полный список доступен в официальной документации Google Analytics.
Рассмотрим некоторые из параметров, которые относятся к ранее обозначенным типам хитов.
- dh — доменное имя сайта;
- dp — адрес страницы относительно доменного имени сайта;
- dt — заголовок страницы;
- ec — категория события;
- ea — действие по событию;
- el — ярлык события;
- ti — идентификатор транзакции;
- ta — название филиала или магазина;
- tr — общая сумма транзакции;
- in — название товара;
- ip — стоимость товара;
- iv — категория товара.
Теперь, когда мы имеем все необходимое для использования Measurement Protocol (протокола передачи данных) можно попробовать на практике приобретенные знания. Мы с вами воспользуемся всеми типами хитов, которые были названы ранее. Я буду демонстрировать передачу данных отправляя запросы с помощью JQuery.
Отправка данных о просмотре страницы:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$('#buttonId').click(function(){ $.post( "http://www.google-analytics.com/collect", { v: '1', tid: 'UA-xxxxx-1', cid: '12xx916x95.13x6127xx4', t: 'pageview', dh: 'test.prometriki.ru', dp: '/my-test-page', dt: 'Это проверка работы!' }, onAjaxSuccess ) }); |
Отправка данных о событии:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 |
$('#buttonId').click(function(){ $.post( "http://www.google-analytics.com/collect", { v: '1', tid: 'UA-xxxxx-1', cid: '12xx916x95.13x6127xx4', t: 'event', ec: 'Проверка события', ea: 'Виртуальное', el: 'Получилось' }, onAjaxSuccess ) }); |
Отправка данных о покупке:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 |
$('#buttonId').click(function(){ $.post( "http://www.google-analytics.com/collect", { v: '1', tid: 'UA-xxxxx-1', cid: '12xx916x95.13x6127xx4', t: 'transaction', ti: '44473', ta: 'SITE', tr: '19990.00' }, onAjaxSuccess ) $.post( "http://www.google-analytics.com/collect", { v: '1', tid: 'UA-xxxxx-1', cid: '12xx916x95.13x6127xx4', t: 'item', ti: '44473', 'in': 'Название товара', ip: '19990.00', iv: 'Категория товара' }, onAjaxSuccess ) }); |
Обратите внимание, что для отправки данных о покупке необходимо сначала передать данные о транзакции, а затем о каждом товаре.
В какой момент вам необходимо передавать данные с помощью Mesurement Protocol? Для примеров, которые я привел в самом начале публикации, моментом передачи данных может быть перевод заявки в CRM из статуса заказ доставляется в заказ оплачен. Разработчикам, при наличии необходимых данных, не составит особого труда отправить сформированный запрос по определенному действию или событию на сайте.
Как видите сложного в использовании этого функционала Universal Analytics нет. Используйте его для сбора достоверных данных и оптимизации вашего бизнеса.
Для получения полной и официальной информации обратитесь к документации.
В заключении приведу пример ролика, который демонстрирует фиксацию событий и передачу сведений в Universal Analytics для датчика движения: