В данной статье мы поговорим о том, как удалить фиктивные заказы из отчетов электронной коммерции Universal Google Analytics. Последнее время очень часто сталкиваюсь с этим вопросом на различных форумах. Несмотря на то, что Google Analytics — инструмент, который создан с целью отслеживания эффективности сайта, его продающих качеств, источников трафика и т. д., многие владельцы сайтов используют отчетные данные электронной торговли в качестве основного инструмента учета продаж и доходов компании.
Конечно, каждый из нас понимает, что эти отчеты могут иметь погрешности: клиент заказал товар, но после отказался от него по телефону, или же вы выполнили несколько тестовых заказов с целью проверить работу электронной торговли.
В старой версии Google Analytics для достоверности отчетов электронной коммерции использовались отрицательные транзакции. Стоит отметить, что отрицательные транзакции неплохо работали, когда их проводили в тот же день, когда и положительные. В противном случае в отчетах электронной коммерции получалась полная неразбериха с большим количеством отрицательных данных. Сами понимаете, что вести учет продаж по таким отчетам просто невозможно.
Сегодня Universal Google Analytics позволяет справиться с проблемой фиктивных заказов на «ура!». Для этого нужно использовать «Протокол передачи статических данных» (Measurement Protocol). С его помощью вы можете отправлять необработанные данные в Google Analytics через HTTP-запросы и выполнять следующие действия:
- отслеживать как пользователи взаимодействуют с вашим сайтом
- связывать онлайн- и офлайн-действия, чтобы получить полную картину поведения пользователей
- отправлять данные как с веб-сайтов, так и с сервера
Принцип работы Measurement Protocol
Принцип работы протокола передачи статических данных достаточно прост: для этого необходимо сформировать HTTP-запрос и отправить его на определенный URL. Стоит отметить, что при передаче фактических данных все параметры должны идти одной строкой, без каких-либо пробелов и комментариев.
Пример HTTP-запроса: http://www.google-analytics.com/collect?v=1&tid=UA-47xxxx-1&cid=12xx916x95.13x6127xx4&t=pageview,
где:
- http://www.google-analytics.com/collect — это URL, на который должен быть отправлен HTTP-запрос (используется для незащищенного протокола)
- https://ssl.google-analytics.com/collect — это URL, на который должен быть отправлен HTTP-запрос (используется для протокола SSL)
- v — версия протокола, в настоящей момент используется значение равное 1
- tid — идентификатор кода отслеживания ресурса Google Analytics в виде UA-XXXX-Y
- cid — анонимный идентификатор клиента Client-ID
- t — тип хита, который может принимать следующие значения:
- pageview — просмотр страницы
- appview — отслеживание приложений/экранов
- event — отслеживание событий
- transaction – отслеживание транзакций
- item – элемент транзакции
- social — социальные взаимодействия
- exception — отслеживание ошибок
- timing — отслеживание времени пользователя
Все вышеприведенные параметры являются обязательными и должны указываться при каждой отправке данных.
Для того, чтобы ваши отчеты были более полными и достоверными, необходимо выполнить следующие действия:
- Получить идентификатор клиента сайта (client-id) и сохранить его в CRM вместе с данными о заказе (сопоставить активность пользователя на сайте и его оффлайн действия)
- Использовать дополнительные параметры
Как узнать идентификатор клиента?
Получить clien-id можно из cookie Universal Analytics или же с помощью следующего фрагмента кода, разработанного Matt Clarke.
/*
* 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'];
}
}
?>
Отслеживание электронной торговли
Для передачи данных электронной торговли необходимо отправить одно обращение типа transaction и по одному обращению типа item для каждого товара этой транзакции. Все обращения, которые относятся к одной покупке, будут определены по идентификатору транзакции – ti.
Ниже приведен код отправки данных о покупке:
$('#buttonId').click(function(){
$.post(
"http://www.google-analytics.com/collect",
{
v: '1', //Версия протокола
tid: 'UA-xxxxx-1', //Идентификатор кода отслеживания ресурса Google Analytics
cid: '12xx916x95.13x6127xx4', //Анонимный идентификатор клиента Client-ID
t: 'transaction', //Значение типа хита
ti: '44473', //Идентификатор транзакции. Обязательный параметр
tr: '19990.00' //Доход от транзакции
ts=32.00 //Доставка транзакции
tt=12.00 //Налог транзакции
cu=UAN //Код валюты
},
onAjaxSuccess
)
$.post(
"http://www.google-analytics.com/collect",
{
v: '1', //Версия протокола
tid: 'UA-xxxxx-1', //Идентификатор кода отслеживания ресурса Google Analytics
cid: '12xx916x95.13x6127xx4', //Анонимный идентификатор клиента Client-ID
t: 'item', //Значение типа хита
ti: '44473', //Идентификатор транзакции. Обязательный параметр
in: 'Дрель', //Наименование товара. Обязательный параметр
ip: '19990.00', //Количество
iv: 'Электроинструмент' //Категория товара
},
onAjaxSuccess
)
});
Передача данных о транзакции может быть осуществлена тогда, когда заказ будет доставлен и оплачен. При наличие всех необходимых данных, программисты запросто сформируют запрос, который передаст в Google Analytics данные об оплаченных заказах.
Таким вот простым образом вы можете отсеивать в Google Analytics данные о несовершенных заказах и вести учет данных о продажах вашего интернет-магазина.