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

Повернення замовлення: як правильно скасувати транзакцію в 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=123456 ClientID, можна вказати будь-яке значення
t=event тип хіта
ec=services Event Category
ea=order Event Action
el=car-wash Event Label
ev=300 Event Value

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

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

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

Сформувати HTTP запит можна за допомогою Hit Builder, перевіривши його валідність і відправити в 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 Валюта транзакції.

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

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

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 Валюта.

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

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

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 буде видалена транзакція, а не додана ще одна з негативною сумою.

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

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

Параметр Для чого використовується?
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* Зазначаємо, що це повернення.

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

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

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=555 ClientID.
t=event Відправляємо подію.
ec=Ecommerce Event Category.
ea=Refund Event Action.
ni=1 Вказуємо «не взаємодію».
ti=T12345 Ідентифікатор транзакції.
pa=refund Зазначаємо, що це повернення.
pr1id=P12345 ID товару.
pr1qt=1 Кількість товарів.

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

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, наприклад. Це створює істотну проблему під час аналітики каналів продажів.

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

Висновки:

  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. Довідка за всіма доступними параметрами.

Владислав Наумов
Владислав Наумов
• Chief Product Officer (CPO)
Агенція digital-маркетингу Inweb
Займаюся SEO c 2011 року, починав зі створення та просування тематичного проєкту на медичну тематику. У 2012 році прийшов в Inweb на посаду Junior SEO Specialist, а за 3 роки став Head of SEO. На поточний момент є керівником партнером агенції. У сферу компетенції входить розробка стратегії розвитку департаменту SEO, автоматизація і спрощення бізнес-процесів, розробка інструментів для спрощення роботи SEO-фахівців, організація ефективної роботи та комунікації. Ми використовуємо ефективні інструменти інтернет-маркетингу для досягнення бізнес-цілей наших клієнтів. І віримо, що комплексний підхід допоможе розвинути малий та середній бізнес в Україні.
Більше цікавого