У цій статті ми поговоримо про те, як видалити фіктивні замовлення зі звітів електронної комерції 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 дані про недосконалі замовлення і вести облік даних про продажі вашого інтернет-магазину.