Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Під час побудови коректної звітності для інтернет-магазину через Google Analytics потрібно враховувати повернення і відмови. Користувач міг зробити замовлення на 20 000 грн, а потім відмовитися від замовлення або повернути його з будь-яких причин. Внаслідок цього в статистиці ми бачимо дані, які далекі від реальності, а на підставі некоректних вихідних даних не вийде зробити грамотні висновки.

Щоб виправити цей недолік, потрібно разом з програмістом реалізувати доопрацювання, за допомогою якої дані з CRM будуть передаватися в Google Analytics. Можна реалізувати посилання даних так, щоб після зміни статусу замовлення відправлявся HTTP запит через Measurement Protocol в Google Analytics.

А якщо повернень дуже мало – можна робити вручну через Hit Builder.

У статті ми розповімо, що таке Measurement protocol, а також як скасувати транзакцію в стандартній і розширеної електронної торгівлі.

Що таке Measurement Protocol

Це протокол передачі статистичних даних Google Analytics. З його допомогою можна відправляти сирі дані безпосередньо в Google Analytics через HTTP запити.

Більш докладно про Measurement Protocol на сторінці довідки.

Які завдання вирішує протокол

За допомогою Measurement Protocol можна пов’язати онлайн і оффлайн дії користувачів, відправляти дані про перегляди, транзакції, події, скасовувати транзакції. Загалом, практично все.

Основне завдання протоколу – передавати в Google Analytics ті дані, які підтягуються туди з програми/сайту автоматично.

Типи хітів, які можна передати:

За що відповідає?Назва хіта
Відстеження сторінокpageview
Відстеження подійevent
Відстеження розширеної електронної торгівлічерез pageview, event
Відстеження стандартної електронної торгівліtransaction й item
Соціальні взаємодіїsocial
Відстеження помилокexception
Відстеження призначеного для користувача часуtiming
Відстеження додатків / екранівscreenview

Тобто під кожен тип взаємодій є свій хіт, а у кожного з них, в свою чергу, є набір параметрів, які можна передати.

Наприклад, для хіта event є наступні параметри:

ПараметрДля чого використовується?
v=1Версія, завжди вказується 1.
tid=UA-XXXXX-YІдентифікатор відстеження
cid=123456ClientID, можна вказати будь-яке значення
t=eventтип хіта
ec=servicesEvent Category
ea=orderEvent Action
el=car-washEvent Label
ev=300Event Value

Також можна комбінувати параметри з інших хітів. Це не повний перелік.

Щоб ознайомитися з усіма можливими параметрами, які можна передавати, необхідно вивчити довідку.

Як сформувати запит

Сформувати HTTP запит можна за допомогою Hit Builder, перевіривши його валідність і відправити в Google Analytics.

Приклад запиту на посилання події:

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Тепер потрібно перевірити валідність хіта і якщо все вірно, відправити дані про цю подію в Google Analytics.

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Запит вийшов наступний:

v=1&t=event&tid=UA-128507111-1&cid=12345&ec=services&ea=order&el=car-wash&ev=300

Як «скасувати» транзакцію в стандартній електронної торгівлі

Тепер розглянемо як скасувати транзакцію в стандартній електронної торгівлі. Для цього необхідно відправити кілька запитів: transaction і item по кожному товару.

Тобто спочатку потрібно відправити дані про транзакції в цілому, а потім інформацію по кожному купленому товару. Шляхом ідентифікатора транзакції дані зв’яжуться автоматично, тому запити можна відправляти просто по черзі через Hit Builder.

Слід враховувати, що в стандартній електронної торгівлі немає можливості скасувати транзакцію, можна тільки створити нову з від’ємним значенням ціни. Це проблема, тому що повернення штучно збільшують кількість транзакцій, що, в свою чергу, негативно впливає на якість даних.

Покажемо, як «скасувати» транзакцію в стандартній електронної торгівлі на прикладі. Уявімо, що у нас на сайті оформили замовлення на створення двох білих сорочок, по 500 грн кожна. Але Inweb надає послуги тільки по SEO & PPC, а ніяк не за пошиття сорочок, тому нам доведеться скасувати замовлення цього клієнта.

Спочатку потрібно відправити хіт transaction із загальною інформацією про транзакції.

Звернення типу Transaction має наступні параметри:

ПараметрДля чого використовується?
ti*Ідентифікатор транзакції.
taНазва магазину або філії.
trСума транзакції.
tsВартість доставки.
ttПодатки.
cuВалюта транзакції.

Обов’язкові параметри відзначені зірочкою.

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Приклад запиту:

v=1&t=transaction&tid=UA-128507111-1&cid=123456&ti=123456&ta=Inweb%20Store&tr=-1000&ts=0&tt=0&cu=UAH

Далі необхідно зробити хіт item по товару, який був куплений.

Звернення типу item має наступні параметри:

ПараметрДля чого використовується?
ti*Ідентифікатор транзакції.
in*Назва товару.
ipВартість товару.
iq*Кількість товарів.
icІдентифікатор товару.
ivКатегорія товару.
cuВалюта.

Обов’язкові параметри відзначені зірочкою.

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Приклад запиту:

v=1&t=item&tid=UA-128507111-1&cid=123456&ti=12345&in=
%D0%A0%D1%83%D0%B1%D0%B0%D1%88%D0%BA%D0%B0%20%D0%B1%D0%B5%D0%BB%D0%B0%D1%8F&ip=
-500&iq=2&ic=12345&iv=%D0%A0%D1%83%D0%B1%D0%B0%D1%88%D0%BA%D0%B8&cu=UAH

Відправивши по черзі 2 запити transaction і item, ми передали дані про надходження транзакції з доходом мінус 1000 грн.

Тепер необхідно почекати (досить довго, до 30 хвилин) і ми отримаємо дані в Google Analytics:

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Як скасувати транзакцію в розширеній електронної торгівлі

У розширеній електронної торгівлі дуже зручно реалізована можливість повернень. Можна зробити повне скасування транзакції або прибрати з транзакції конкретний товар.

Тобто у звітах Google Analytics буде видалена транзакція, а не додана ще одна з негативною сумою.

В цьому одна з основних переваг розширеної електронної торгівлі для ведення аналітики продажів.

Як скасувати транзакцію:
Для здійснення повернення по транзакції необхідно відправити запит з наступними параметрами:

ПараметрДля чого використовується?
v=1*Вказівка версії, завжди =1.
tid=UA-XXXXX-Y*Ідентифікатор відстеження.
cid=555*ClientID.
t=event*Відправляємо подію.
ec=Ecommerce*Event Category.
ea=Refund*Event Action.
ni=1Вказуємо «не взаємодію».
ti=3123*Ідентифікатор транзакції.
pa=refund*Зазначаємо, що це повернення.

Обов’язкові параметри відзначені зірочкою.

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Приклад запиту:

v=1&t=event&tid=UA-123159846-1&cid=555&ec=Ecommerce&ea=Refund&ni=1&ti=T12345&pa=refund

Після відправлення запиту буде оформлене повернення з даної транзакції.

Як зробити повернення одного товару з транзакції:

ПараметрДля чого використовується?
v=1Вказівка версії, завжди =1.
tid=UA-XXXXX-YІдентифікатор відстеження.
cid=555ClientID.
t=eventВідправляємо подію.
ec=EcommerceEvent Category.
ea=RefundEvent Action.
ni=1Вказуємо «не взаємодію».
ti=T12345Ідентифікатор транзакції.
pa=refundЗазначаємо, що це повернення.
pr1id=P12345ID товару.
pr1qt=1Кількість товарів.

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Приклад запиту:

v=1&t=event&tid=UA-123159846-1&cid=555&ec=Ecommerce&ea=Refund&ni=1&ti=T12345&pa=refund&pr1id=P12345&pr1qt=1

При реалізації повернень через Measurement протокол обов’язково використовувати ClientID з кукі під  час формування запиту. В іншому випадку канал повернень буде Direct, а транзакція могла надійти з organic, наприклад. Це створює істотну проблему під час аналітики каналів продажів.

Якщо цей нюанс упустити, то буде така ситуація:

Повернення замовлення: як правильно скасувати транзакцію в Google Analytics

Висновки:

  1. За допомогою Measurement Protocol можна передавати практично всі види даних в Google Analytics з CRM / вручну.
  2. Скасувати транзакцію в стандартній електронної торгівлі не можна, можна тільки створити додаткову транзакцію з негативною сумою.
  3. У розширеній електронної торгівлі є можливість зробити як повне повернення транзакції, так і окремого товару з транзакції.
  4. Обов’язково потрібно заповнювати ClientID замовлення для збігу каналу транзакції.
  5. Для стандартної електронної торгівлі необхідно відправляти кілька запитів (transaction + item для кожного товару) і зв’язуються вони разом завдяки ID транзакції.

Матеріали:

  1. Довідка по Measurement protocol.
  2. Hit Builder.
  3. Дуже крута і докладна стаття на блозі Netpeak про Measurement Protocol.
  4. Довідка за всіма доступними параметрами.