Как да настроим Ecommerce Tracking чрез Measurement протокол?

Случвало ли ви се е данните в Google Analytics да не отговарят на реалността? Ако да, статията със сигурност ще ви бъде от полза. Грешната статистика е измамлив приятел: вземем ли я за истина, ще направим грешни изводи и ще вземем грешни решения. Маркетолозите боравят с тези данни и им се доверяват. Добре е навреме да се открие, че събраните данни са нереални, обаче как да се оправи? На помощ ни идва Measurement Protocol.

Какво е Measurement протокол

Measurement Protocol (MP) е протокол, който позволява да се изпращат необработени статистически данни директно към сървъра на Google Analytics през HTTP заявки. С помощта на този метод могат да се разрешат следните проблеми:

  • некоректно отчитане на стандартния Ecommerce tracking;
  • проследяване на взаимодействието на потребителите с компанията в нова, допълнителна среда;
  • свързването на онлайн и офлайн действия на потребителите, за да се получи пълна картина на поведението им;
  • свързването на формата за бърза поръчка с отчитането на продажбите в Google Analytics.

МР данните за транзакциите може да се предават в Ecommerce Analytics както от системата за приемане на поръчки (например CRM), така и от thank-you страницата на последния етап на поръчка, както при стандартния начин за имплементиране на отчитането.

Как се изпращат данни през MP

Информацията се изпраща посредством стандартни HTTP заявки. Може да се използват GET и POST request-и. Препоръчва се използването на POST метода, защото позволява изпращането на по-големи количества данни. При GET заявките има ограничение в броя информация, която може да се предаде, но все пак съществува като опция.

Заявките се изпращат до следния адрес:

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

Пример за изпращане на заявка, посредством POST:

User-Agent: user_agent_stringPOST https://www.google-analytics.com/collectpayload_data

Ето и пример за предаване на данни, чрез GET:

GET /collect?payload_data HTTP/1.1Host: https://www.google-analytics.comUser-Agent: user_agent_string

Важните елементи от примерите:

  • user_agent_string - съдържа информация за браузъра на потребителя, операционната система и друга ценна информация;
  • payload_data - данните, които се предават до сървърите на Google Analytics - от изключително значение е форматът на тези данни, като по-напред в статията ще разгледаме реални примери;
  • host - е адресът, където се изпращат съответните HTTP заявки, като и при двата метода - той е един и същ.

1. Предавани параметри

Параметрите, които се предават, са доста. Може да се намери пълен и изчерпателен списък тук. Някои от тези параметри са абсолютно задължителни - без тях отчитането няма да сработи.

Задължителни параметри са:

  • Protocol Version - версията на протокола. Към настоящия момент се ползва версия 1.
Параметър: vПримерна употреба в завка: v=1

  • Tracking ID / Web Property ID - уеб собствеността в Google Analytics, където ще се изпращат данни. Задължително условие е да бъде включено подобреното Ecommerce отчитане (Enhanced Ecommerce), за да работи обработката на данни, предадени посредством Measurement протокол.
Параметър: tidПримерна употреба в заявка: tid=UA-XXXX-Y

  • Hit - тип на интеракцията.
Параметър: tПримерна употреба в заявка: t=pageview

  • Client ID - представлява уникалния код, идентифициращ всеки посетител в сайта. Макар този параметър да не е задължителен, той е крайно наложителен. Чрез него се предава цялата информация, свързана с потребителя, например данни за рекламната кампания, източник на трафик и др. Докато другите параметри са ясни от самото начало, за Client ID трябва да се имплементира функционалност за събиране на coockie на потребителя. Това може да стане сравнително лесно с JavaScript и PHP, в зависимост от конкретната логика на приложението и специфичната ситуация.
Параметър: cidПримерна употреба в заявка: cid=463270191.1477660679

За да се предават данни, свързани с продажби на онлайн магазин, необходимо е да се предаде информация за закупените стоки, количества и цени. Това става с помощта на следните параметри:

Параметър

Описание

Пример за сурови данни

pr<productIndex>id

ID на продукт

11467

pr<productIndex>nm

Име на продукт

Двулицев матрак Зеро

pr<productIndex>br

Марка на продукт

Ted

pr<productIndex>ca

Категория на продукт

матрак

pr<productIndex>va

Вариант на артикула

двулицев

pr<productIndex>pr

Единична цена

93.00

pr<productIndex>qt

Количество

1

Имайте предвид, че в най-дясната колона са поместени “сурови” данни, които са взети от CRM системата или от последния етап на поръчката. Тези данни трябва да се обработят допълнително, за да бъдат предадени към Google Analytics безпроблемно. По нататък в статията ще откриете пример за реална заявка, за да се онагледи използването на тези параметри.

2. Отговор на заявката

След като HTTP request-ът е изпратен, ще се получи отговор, който ни подсказва - дали данните реално са приети от сървърите.

Отговорът, който се връща при коректна заявка, е 200. Това означава, че данните са предадени. Както казахме малко по-рано, трябва да е включено подобреното отчитане на Ecommerce (Enhanced Ecommerce), за да видите реално данните в отчетите си. Съществува сценарий, в който информацията е изпратена, статусът на заявката е 200 (т.е. е приета за обработка), но всъщност не виждате никаква информация в отчетите си. Включването на Enhanced търговията следва да реши този проблем.

При отговор на заявката, различен от 200, не трябва да повтаряте заявката, понеже има проблем със самото запитване.

3. Инструменти за тестване на валидността на заявката

Може да разгледате реална GET заявка с данни за транзакция тук:

https://www.google-analytics.com/collect?v=1&t=event&tid=UA-58430729-1&cid=1269161875.
1486817836&ec=Enhanced%20Ecommerce&ti=31448&tr=45.1&pa=purchase&pr1id
=%D0%A2%D0%92%20%D1%88%D0%BA%D0%B0%D1%84&pr1nm=%D0%A2%D0%92%20%D1%88%D0%BA%D0%B0%D1%84&pr1br
=%D0%BC%D0%B5%D0%B1%D0%B5%D0%BB%D0%B8%20ERAMA&pr1pr=39.0000&pr1qt=1&uip=84.43.217.141&ua
=Mozilla%2F5.0%20(Linux%3B%20Android%205.0.2%3B%20LG-X150%20Build%
2FLRX21M)%20AppleWebKit%2F537.36%20(KHTML%2C%20like%20Gecko)%20Chrome%
2F55.0.2883.91%20Mobile%20Safari%2F537.36&ta=MP&cu=BGN

Както се забелязва, този адрес е твърде дълъг и труден за четене. Главно заради тази и ред други причини се препоръчва ползването на POST заявки. Но този пример е достатъчно показателен, за да се демонстрира начина на предаване на информация.

Използвайте този онлайн инструмент, за да тествате и видите дали request-ът се валидира. В случай на грешка, може да видите детайлна информация.

Друг начин да тествате и да изпратите заявка до сървъра на Google Analytics, е да свалите и използвате безплатното разширение за Chrome - Postman. Чрез него може да тествате различните методи за предаване на информация, както и да видите съответните отговори.

Още един любопитен начин за тестване и разбиране на начина на работа е инспектиране на елемент в Chrome и отварянето на таб Network. На сайт с инсталиран проследяващ код на Google Analytics, може да забележите следната GET заявка:

https://images.netpeak.net/blog/pageview-track.jpg

Както се вижда, това е същият начин за предаване на данни. В конкретния случай се предава информация с t=pageview, което на практика означава преглед на конкретна страница.

4. Допълнителни елементи, за които да внимавате

При изпращането на събития, трябва да следите за формата на данните. Освен за синтактични грешки в заявката, необходимо е още да се настрои:

Стойност: мебели ERAMAКодиран вариант: %D0%BC%D0%B5%D0%B1%D0%B5%D0%BB%D0%B8%20ERAMA
  • заявките не трябва да бъдат през кратък интервал, препоръчително е изпращането на до 2 заявки в секунда. Това е доста важно, ако голям обем от данни трябва да се изпрати за кратък период от време. Възможно е да се получи загуба на данни.

Как внедрихме Measurement протокол за проект с проблеми в стандартното отчитане

Наложи се да внедрим Ecommerce отчитане, използвайки методите на MP. Клиентът ни имаше проблем със стандартното отчитане, като голяма част (около 25%) от поръчките не се предаваха коректно. Заради сложната форма на последния етап на поръчката, която използваше AJAX за динамично извличане и записване на данни, както и голямото разнообразие от методи за плащане - решихме да внедрим алтернативно отчитане, използвайки Measurement протокол.

Създадохме допълнителна таблица в базата данни, която събира информацията за cookie-то от Analytics на потребителя, както и номера на поръчката.

Посредством cron автоматизирана задача настроихме скрипт, който изпраща данни през определен период от време към Google Analytics.

По този начин, можеше да бъдем в голяма степен сигурни, че данните, които се изпращат са такива от реални транзакции и завършени покупки.

Какво постигнахме: резултатът от работата по тази задача беше намаляване на процента на неотчетените продажби от 25% до 1-2%.

Заключение

В практиката използваме отчитане чрез MP за много цели, като:

  • отчитане на продажби, генерирани чрез форма за бърза поръчка;
  • отчитане на офлайн продажби;
  • специфични ситуации, когато стандартното отчитане не работи с достатъчна точност.

В зависимост от конкретната платформа на системата, особеностите на продажбения процес и предлаганите методи за плащане, може да се гарантира почти 100% правилно отчитане на транзакциите в Google Analytics чрез имплементиране на Measurement Protocol.

0
0
0
Открихте грешка? Маркирайте я и натиснете Ctrl + Enter.