Повернення замовлення: як правильно скасувати транзакцію в 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 Protocol можна передавати практично всі види даних в Google Analytics з CRM / вручну.
- Скасувати транзакцію в стандартній електронної торгівлі не можна, можна тільки створити додаткову транзакцію з негативною сумою.
- У розширеній електронної торгівлі є можливість зробити як повне повернення транзакції, так і окремого товару з транзакції.
- Обов’язково потрібно заповнювати ClientID замовлення для збігу каналу транзакції.
- Для стандартної електронної торгівлі необхідно відправляти кілька запитів (transaction + item для кожного товару) і зв’язуються вони разом завдяки ID транзакції.
Матеріали:
- Довідка по Measurement protocol.
- Hit Builder.
- Дуже крута і докладна стаття на блозі Netpeak про Measurement Protocol.
- Довідка за всіма доступними параметрами.