29 Апреля 2014 в 15:57

Universal Analytics: Measurement Protocol — просто о несложном

0 3844
Ведущий веб-аналитик,
WebProfiters

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

Для этих целей используется Measurement Protocol или Протокол передачи данных. В каких случаях вы можете использовать эту возможность? Приведу пару примеров.

Первый вариант — посетитель приобретает у вас на сайте товар или услугу, при этом выбирая вариант оплаты «безналичный расчет». Мы можем предположить, что процесс покупки по ряду причин может быть и не завершен, поэтому передача в Google Analytics сведений о транзакции после завершения процесса оформления заказа/покупки некорректна. Данные должны быть переданы после фактического поступления оплаты.

Второй вариант — оплата наличными курьеру при доставке товара. Покупка считается завершенной после получения оплаты курьером.

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

Решить обозначенную проблему нам поможет новая возможность, появившаяся в Google Analytics с выходом Universal Analytics, под названием Measurement Protocol.

В чем заключается принцип работы протокола? Все достаточно просто: необходимо отправить специальным образом сформированный запрос на определенный URL.

Пример запроса:

http://www.google-analytics.com/collect?v=1&tid=UA-47xxxx-1&cid=12xx916×95.13×6127xx4&t=pageview

Разберем подробнее параметры подлежащие передаче.

Первое — это URL, на который должен быть отправлен запрос, должен принимать значение

http://www.google-analytics.com/collect

для незащищенного соединения, и

https://ssl.google-analytics.com/collect

для протокола SSL.

Второе — обязательный набор из 4 параметров:

  1. v — версия протокола, в настоящей момент используется значение равное 1;
  2. tid — идентификатор кода отслеживания (ресурса) Google Analytics в виде UA-XXXX-Y;
  3. cid — анонимный Client-ID;
  4. t — тип хита.

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

Параметр cid — это анонимный client-id или идентификатор клиента. Если посетитель просматривает ваш сайт с помощью браузера, Universal Analytics сохранит значение client-id в cookie, если вам неизвестно значение, используйте любое свое.

Обратите внимание, если вы используете client-id, который получен из cookie файла, переданные данные будут сопоставлены с другими действиями посетителя, если передаете свое значение, то будет просто зафиксирован некоторый хит нового посетителя (операции под одним client-id приписываются одному посетителю). Для иллюстрации сказанного посмотрите на изображение:

(кликните для увеличения)

Просмотр страницы под номером 1 — это первое посещение сайта, просмотр 2 сгенерирован с помощью Measurement Protocol по клику на кнопке, при этом использовался cid из cookie установленного в посещении номер 1. У нас по отчету на сайте будет 1 посетитель.

Просмотр 3, также как и просмотр 2, сгенерирован при клике на кнопку, при этом в качестве cid передано значение 12345, что приводит к появлению на сайте второго посетителя. У нас по отчету уже 2 посетителя. Просмотр 4 полностью аналогичен просмотру 2. Т.е. действие посетителя номер 1, который ранее осуществил просмотры 1 и 2.

Вернемся к параметрам, следующий параметр t — это тип хита. Он может принимать ограниченный круг значений — ’pageview’, ’appview’, ’event’, ’transaction’, ’item’, ’social’, ’exception’, ’timing’. Наиболее часто используемые значения:

  • pageview — просмотр страницы;
  • event — событие;
  • transaction — транзакция;
  • item — элемент транзакции.

Уже сейчас у вас есть возможность передачи в Universal Analytics данных с помощью Measurement Protocol. Но для того чтобы нам получить в отчетах достоверную и полную информацию, необходимо выполнить еще два действия.

  1. Получить client-id посетителя сайта и сохранить его в CRM вместе с данными о заказе (сопоставить активность пользователя на сайте и его офлайн действия).
  2. Добавить к запросу дополнительные параметры, позволяющие работать нам с передаваемыми данными в отчетах.

Получить client-id можно из cookie Universal Analytics:

(кликните для увеличения)

Вы можете самостоятельно, либо с помощью разработчиков получить нужное значение. Я в своей деятельности пользуюсь следующим кодом на языке PHP (автор Matt Clarke):

<?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.

Отправка данных о просмотре страницы:

$(’#buttonId’).click(function(){

$.post(

«http://www.google-analytics.com/collect»,

{

v: ’1′,

tid: ’UA-xxxxx-1′,

cid: ’12xx916×95.13×6127xx4′,

t: ’pageview’,

dh: ’test.prometriki.ru’,

dp: ’/my-test-page’,

dt: ’Это проверка работы!’

},

onAjaxSuccess

)

});

Отправка данных о событии:

$(’#buttonId’).click(function(){

$.post(

«http://www.google-analytics.com/collect»,

{

v: ’1′,

tid: ’UA-xxxxx-1′,

cid: ’12xx916×95.13×6127xx4′,

t: ’event’,

ec: ’Проверка события’,

ea: ’Виртуальное’,

el: ’Получилось’

},

onAjaxSuccess

)

});

Отправка данных о покупке:

$(’#buttonId’).click(function(){

$.post(

«http://www.google-analytics.com/collect»,

{

v: ’1′,

tid: ’UA-xxxxx-1′,

cid: ’12xx916×95.13×6127xx4′,

t: ’transaction’,

ti: ’44473′,

ta: ’SITE’,

tr: ’19990.00′

},

onAjaxSuccess

)

$.post(

«http://www.google-analytics.com/collect»,

{

v: ’1′,

tid: ’UA-xxxxx-1′,

cid: ’12xx916×95.13×6127xx4′,

t: ’item’,

ti: ’44473′,

’in’: ’Название товара’,

ip: ’19990.00′,

iv: ’Категория товара’

},

onAjaxSuccess

)

});

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

В какой момент вам необходимо передавать данные с помощью Measurement Protocol? Для примеров, которые я привел в самом начале публикации, моментом передачи данных может быть перевод заявки в CRM из статуса «заказ доставляется» в «заказ оплачен». Разработчикам, при наличии необходимых данных, не составит особого труда отправить сформированный запрос по определенному действию или событию на сайте.

Как видите, нет ничего сложного в использовании этого функционала Universal Analytics. Используйте его для сбора достоверных данных и оптимизации вашего бизнеса.

Для получения полной и официальной информации обратитесь к документации.

В заключении приведу пример ролика, который демонстрирует фиксацию событий и передачу сведений в Universal Analytics для датчика движения:


0 комментариев
Подписаться 
Подписаться на дискуссию:
E-mail:
ОК
Вы подписаны на комментарии
Ошибка. Пожалуйста, попробуйте ещё раз.
Поделиться 
Поделиться дискуссией:

Отправьте отзыв!
X | Закрыть