Як зробити refund в Google Analytics 4, якщо пізно помітили спамну транзакцію у звітах

Як зробити refund в Google Analytics 4, якщо пізно помітили спамну транзакцію у звітах

У цьому матеріалі розглянемо подію refund в Google Analytics 4, яка відстежує повернення транзакцій або окремих товарів. Вебаналітики та PPC-фахівці добре знайомі з подіями електронної торгівлі, такими як view_item (перегляд товару), add_to_cart (додавання до кошика) та purchase (замовлення). Проте refund використовують рідше через її специфіку.

Подія refund корисна для корекції даних про кількість замовлень та дохід у випадках, коли клієнт повернув товар або замовлення було помилковим. Вона допомагає уникнути спотворення аналітики в Google Analytics.

Refund можна налаштувати автоматично через Google Tag Manager або gtag.js. Також, передавати дані вручну з CRM-системи через Measurement Protocol. Однак, на багатьох сайтах відсутня форма для коректної передачі повернень, що може призводити до помилок.

Зазвичай, необхідність у поверненні коштів (або скасуванні транзакції) виникає через спам або помилкові операції. У таких випадках доцільно відправити подію refund в ручному режимі — саме це і розглянемо у статті.


Фото: Як зробити refund в Google Analytics 4, якщо пізно помітили спамну транзакцію у звітах

Визначення параметрів події refund

Перед налаштуванням події refund необхідно визначити параметри події. Вони забезпечують коректне відображення повернення в аналітиці, зокрема для повного або часткового повернення транзакцій.

Існує два способи здійснити повернення: повне повернення вартості транзакції та часткове повернення деяких товарів.

  • У першому способі знадобляться параметри користувача і сеансу, дохід транзакції, код валюти та ідентифікатор транзакції.
  • У другому способі до списку додаємо дані товарів, які необхідно повернути, — це ідентифікатори товарів та назви товарів.

Спочатку розглянемо простіший спосіб — повне повернення транзакції.

Для цього необхідно визначити такі параметри:

  • Ідентифікатор потоку даних Google Analytics.
  • Секретний ключ API потоку даних.
  • Ідентифікатор користувача — Client ID.
  • Ідентифікатор сеансу — Session ID.
  • Часова мітка здійснення події в Unix-форматі (в мікросекундах).
  • Код валюти за стандартом ISO-4217.
  • Ідентифікатор транзакції — Transaction ID.
  • Дохід від транзакції, на який необхідно здійснити повернення.

Далі — розберемо, звідки можна дістати кожен із представлених параметрів.

Ідентифікатор потоку даних Google Analytics

Цей параметр необхідно взяти із потоку даних, до якого потрібно надіслати подію повернення. Він знаходиться в налаштуваннях потоку даних в панелі адміністратора Google Analytics.

Фото: Ідентифікатор потоку даних Google Analytics

Секретний ключ API потоку даних

API-ключ потоку даних необхідно створити, якщо такого ще немає. Для цього потрібно перейти в налаштування потоку даних та перейти до створення параметра.

Фото: Секретний ключ API потоку даних

Після створення API ключу необхідно скопіювати значення Secret Value:

Фото: Secret Value

Ідентифікатор користувача — Client ID

Ідентифікатор користувача можна знайти в дослідженні User Explorer, попередньо застосувавши сегмент із необхідним ідентифікатором транзакції. 

Варто зазначити, що надіслати подію до сеансу можна протягом 72 годин після його завершення. Тому, якщо потрібно повернути транзакцію, здійснену 1–2 дні тому, слід використовувати ідентифікатор користувача та сеансу, які були актуальними на момент здійснення покупки.

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

Якщо ви аналізуєте й перші джерела користувачів, то можна підібрати користувача і за цими параметрами.

Переходимо до дослідження User Explorer знаходимо необхідного користувача. Наприклад, ми визначили, що цей користувач вчора заходив на сайт із того ж джерела, каналу та кампанії, що і транзакція.

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

Фото: User Explorer

Копіюємо Client ID, у цьому випадку це — 1171043837.1720206959.

Ідентифікатор сеансу — Session ID

Для того, щоб взяти ідентифікатор сеансу, необхідно спочатку створити цей параметр у Custom definitions.

Фото: Custom definitions

Важливо! Після створення параметра у Custom definitions значення параметра з’являються не одразу, а починають збиратися з моменту його створення. Тому після створення, необхідно почекати 24-48 годин, поки він з’явиться у звітах.

Після цього, як і в попередньому пункті, треба перейти в User Explorer, відкрити дані користувача з обраним Client ID та знайти сеанс, який відповідає джерелу, каналу та кампанії транзакції, яку необхідно повернути. 

В дослідженні користувача необхідно скопіювати Session ID із будь-якої події сеансу. 

Фото: User activity

Часова мітка здійснення події в Unix-форматі (в мікросекундах) 

Часова мітка має відображати час між початком та кінцем обраного в попередньому пункті сеансу.

У цьому випадку остання подія page_view була 4.08.2024 о 11:13:27 вечора, тому за час можна обрати, наприклад, 4.08.2024 об 11:13:20 вечора.

Тепер переходимо на сайт (також підійде й будь-який інший, який дозволяє перевести дату та час у UNIX-мітку), прописуємо обрану дату та час та натискаємо Human date to Timestamp.

Фото: Часова мітка здійснення події в Unix-форматі

Ми отримали значення 1722759200000 в мілісекундах. Для відправки події необхідна часова мітка саме в мікросекундах, тому просто додаємо три нулі в кінець значення — 1722759200000000.

Важливо! Необхідно врахувати часовий пояс ресурсу Google Analytics. У нашому ресурсі вказаний часовий пояс України, тому обираємо Local time (місцевий час).

Код валюти, ідентифікатор транзакції та дохід

Значення транзакції можна взяти зі звіту по транзакціях або із дослідження:

Код валюти повинен бути таким, який встановлено в ресурсі. У нашому випадку для гривні це — UAH.

Наприклад, візьмемо наступну транзакцію:

Фото: Приклад транзакції

Надсилання запиту для повернення транзакції

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

Наступний код можна використовувати для відправки будь-яких подій за допомогою Measurement Protocol.

Фото: Код для відправки будь-яких подій за допомогою Measurement Protocol

Значення, виділені кольором, необхідно замінити на раніше зібрані:

  • measurement_id — ідентифікатор потоку даних Google Analytics,
  • api_secret — секретний ключ API потоку даних,
  • client_id — ідентифікатор користувача,
  • timestamp_micros — часова мітка здійснення події в Unix-форматі,
  • session_id — ідентифікатор сеансу,
  • currency — код валюти,
  • transaction_id — ідентифікатор транзакції,
  • value — дохід, який необхідно повернути.

В нашому випадку, код виглядатиме наступним чином:

Фото: приклад коду

Тепер залишилося лише скопіювати отриманий код та запустити його. Це можна зробити в редакторі коду IDE, якщо в ньому є необхідні розширення для запуску JavaScript-коду. Також можна скористатися простішим способом — за допомогою браузера.

Для запуску коду необхідно відкрити будь-який справний сайт та відкрити консоль в інструментах розробника. Після цього потрібно вставити код в консоль та натиснути Enter.

Фото: Консоль

Важливо! Перед запуском коду необхідно перевірити правильність введених даних. У випадку введення неправильних даних можна випадково зіпсувати всю статистику в Google Analytics.

Перевірити успішність відправки запиту можна в Network на вкладці Headers:

Фото: Network на вкладці Headers

Дані, які надіслані, показуємо на вкладці Payload:

Фото: вкладка Payload

Далі можна перейти до звіту в реальному часі та пересвідчитись у тому, що подія дійсно надійшла до ресурсу аналітики.

Фото: Звіт у реальному часі

Враховуючи те, що дані до аналітики надходять із затримкою у 24-48 годин, подія refund з’явиться у звітах, орієнтовно, наступного дня.

У звіті з подіями вона виглядатиме так:

Фото: Подія refund у звіті з подіями

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

Фото: Звіт з транзакціями

Повернення окремих товарів

Для того, щоб повернути не всю транзакцію, а лише окремі товари з неї, необхідно додати параметри товарів до наведеного коду для відправки події. 

Приклад коду для повернення двох товарів:

Фото: приклад коду для повернення двох товарів

Значення, які виділені червоним, — це фактичні дані товарів у вказаній транзакції, які необхідно повернути. Параметри товарів, крім item_id та item_name, є опціональними. За наявності, можна додати ціну, кількість, категорію та інші параметри товарів.

Важливо! У випадку повернення окремих товарів, у значенні value необхідно вказувати вартість товарів, які повертаються.
  • Автор статті: Андрій Очковський, Web Analyst в Inweb
  • Редакторка: Ольга Беспалько
  • Статтю завірила: Катерина Ніколаєва, Head of Analytics Department в Inweb
Близько 2 років працюю веб-аналітиком в Inweb. Маю сертифікати Google Analytics і Google Tag Manager. Зараз — Middle Web Analyst. Займаюся впровадженням систем вебаналітики, від налаштуванням збору даних до їх трансформації та візуалізації за допомогою програмних сервісів. Маю вищу економічну освіту, отримані знання та досвід при навчанні використовую в роботі, зокрема, в аналізі даних сайтів та їх обробці, прогнозуванні показників за допомогою математичних методів тощо. Активно розвиваюся в галузі хмарних технологій і машинного навчання з метою застосування їх методів у вебаналітиці, що має суттєво розширити можливості для роботи з даними.
Більше цікавого