Оценить сайт
+7 (495) 255-17-15

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

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

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

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

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

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

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

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

Код
http://www.google-analytics.com/collect?v=1&tid=UA-47xxxx-1&cid=12xx916x95.13x6127xx4&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 сгенерирован с помощью 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. Но для того, чтобы нам получить в отчетах достоверную и полную информацию, необходимо выполнить еще два действия.
1. Получить client-id посетителя сайта и сохранить его в CRM вместе с данными о заказе (сопоставить активность пользователя на сайте и его оффлайн действия).
2. Дополнить запрос дополнительными параметрами, позволяющими работать нам с передаваемыми данными в отчетах.

Получить clien-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: '12xx916x95.13x6127xx4',

                        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: '12xx916x95.13x6127xx4',

                        t: 'event',
                        ec: 'Проверка события',
                        ea: 'Виртуальное',
                        el: 'Получилось'
                },
                onAjaxSuccess
        )
});


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

Код
$('#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 нет. Используйте его для сбора достоверных данных и оптимизации вашего бизнеса.

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

Добавить комментарий