Для інтернет-магазину базового GA4 недостатньо. Стандартна установка покаже трафік і кількість сеансів, але не відповість на головні питання: скільки принесла реклама, які товари продаються, де користувачі відвалюються у воронці.
Усе це дає ecommerce-відстеження. Це найскладніша частина налаштування аналітики – і водночас та, що має найбільшу цінність для бізнесу.
Що дає ecommerce-відстеження
Реальні гроші в звітах. Ви бачите не абстрактні конверсії, а дохід: скільки принесла кожна кампанія, кожне джерело трафіку, кожен канал.
Товарна аналітика. Які товари переглядають, які додають у кошик, які купують. І, головне, де розрив між цими етапами.
Воронка покупки. Наочно видно, на якому кроці втрачаються користувачі: на картці товару, в кошику чи на оформленні.
Оптимізація реклами під цінність. Без передачі суми замовлення стратегії tROAS і Maximize Conversion Value не працюють коректно.
Аналіз повернень. Можливість передавати дані про повернення і бачити чистий дохід.
Структура ecommerce-подій
GA4 використовує стандартний набір подій, які відповідають етапам шляху покупця. Назви фіксовані – саме за ними система будує спеціалізовані звіти.
| Етап | Подія | Коли спрацьовує |
| Перегляд списку | view_item_list | Відкриття категорії або результатів пошуку |
| Клік по товару | select_item | Клік по товару в списку |
| Перегляд товару | view_item | Відкриття картки товару |
| Додавання в кошик | add_to_cart | Натискання «В кошик» |
| Видалення з кошика | remove_from_cart | Видалення товару з кошика |
| Перегляд кошика | view_cart | Відкриття сторінки кошика |
| Початок оформлення | begin_checkout | Перехід до оформлення |
| Додавання даних доставки | add_shipping_info | Вибір способу доставки |
| Додавання платіжних даних | add_payment_info | Вибір способу оплати |
| Покупка | purchase | Успішне оформлення замовлення |
| Повернення | refund | Оформлення повернення |
Мінімальний робочий набір: view_item, add_to_cart, begin_checkout, purchase. Решту можна додати пізніше.
Структура даних: об’єкт items
Кожна ecommerce-подія передає масив items із даними про товари.
Обов’язкові параметри товару:
- item_id – унікальний ідентифікатор (артикул, SKU);
- item_name – назва товару.
Рекомендовані параметри:
- price – ціна за одиницю;
- quantity – кількість;
- item_brand – бренд;
- item_category – категорія;
- item_category2, item_category3 – підкатегорії;
- item_variant – варіант (колір, розмір);
- discount – знижка на одиницю;
- index – позиція товару в списку.
Критично важливо: item_id має точно збігатися з ідентифікатором товару у вашому фіді Merchant Center. Інакше Google Ads не зможе зіставити дані аналітики з товарною рекламою.
Крок 1. Підготуйте dataLayer
Ecommerce-відстеження неможливо налаштувати без участі розробника. Автоматичні методи через кліки по кнопках не забезпечують необхідної точності.
Принцип роботи: розробник виводить дані в dataLayer, GTM їх зчитує і передає в GA4.
Перегляд товару
javascript
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: “view_item”,
ecommerce: {
currency: “UAH”,
value: 4850.00,
items: [{
item_id: “SKU-12345”,
item_name: “Холодильник Samsung RB37”,
item_brand: “Samsung”,
item_category: “Побутова техніка”,
item_category2: “Холодильники”,
price: 4850.00,
quantity: 1
}]
}
});
Рядок dataLayer.push({ ecommerce: null }) обов’язковий перед кожною ecommerce-подією. Без нього дані попередньої події «прилипають» до наступної, і в звітах з’являються товари-привиди.
Додавання в кошик
javascript
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: “add_to_cart”,
ecommerce: {
currency: “UAH”,
value: 9700.00,
items: [{
item_id: “SKU-12345”,
item_name: “Холодильник Samsung RB37”,
item_brand: “Samsung”,
item_category: “Холодильники”,
price: 4850.00,
quantity: 2
}]
}
});
Зверніть увагу: value – це загальна сума (ціна × кількість), а price – вартість одиниці.
Початок оформлення
javascript
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: “begin_checkout”,
ecommerce: {
currency: “UAH”,
value: 12400.00,
items: [
{ item_id: “SKU-12345”, item_name: “Холодильник Samsung RB37”, price: 4850.00, quantity: 2 },
{ item_id: “SKU-67890”, item_name: “Мікрохвильова піч LG”, price: 2700.00, quantity: 1 }
]
}
});
Покупка
Найважливіша подія. Тут не можна помилятись.
javascript
dataLayer.push({ ecommerce: null });
dataLayer.push({
event: “purchase”,
ecommerce: {
transaction_id: “ORDER-2026-00847”,
value: 12400.00,
tax: 2066.67,
shipping: 150.00,
currency: “UAH”,
coupon: “SPRING10”,
items: [
{ item_id: “SKU-12345”, item_name: “Холодильник Samsung RB37”, item_brand: “Samsung”, price: 4850.00, quantity: 2 },
{ item_id: “SKU-67890”, item_name: “Мікрохвильова піч LG”, item_brand: “LG”, price: 2700.00, quantity: 1 }
]
}
});
transaction_id обов’язковий. GA4 використовує його для дедуплікації: якщо користувач оновить сторінку подяки, повторна покупка з тим самим ID не зарахується.
Що включати у value. Рекомендація Google – передавати суму товарів без доставки. Але головне – визначитись один раз і дотримуватись послідовно. Інакше дані будуть непорівнянними між періодами.
Крок 2. Налаштуйте теги в GTM
Створіть змінну для ecommerce-об’єкта
- GTM – Змінні – Створити.
- Тип: Змінна рівня даних.
- Назва змінної рівня даних: ecommerce .
- Версія: Версія 2.
- Назвіть змінну: DLV – ecommerce .
Створіть тригери
Для кожної події – окремий тригер:
- Тригери – Створити.
- Тип: Користувацька подія.
- Назва події: purchase (і так само для кожної іншої).
Створіть теги
Для кожної події:
- Теги – Створити.
- Тип: Google Analytics: подія GA4.
- Тег конфігурації: ваш Google Tag.
- Назва події: purchase.
- Увімкніть опцію «Надіслати дані електронної комерції».
- Джерело даних: Рівень даних.
- Тригер: створений раніше.
Спрощений варіант. Можна створити один універсальний тег із назвою події через змінну {{Event}} і одним тригером, що спрацьовує на всі ecommerce-події. Менше роботи, але складніше налагоджувати.
Крок 3. Налаштуйте валюту і параметри
Валюта
Адміністратор – Ресурс – Відомості про ресурс – валюта за замовчуванням.
Якщо ви передаєте currency в кожній події – GA4 використає її. Якщо ні – застосує валюту ресурсу.
Для мультивалютних магазинів: обов’язково передавайте currency у кожній події. GA4 автоматично конвертує за курсом на дату транзакції.
Спеціальні параметри
Якщо ви передаєте власні параметри товарів (наприклад, маржинальність або постачальника), зареєструйте їх:
Адміністратор – Спеціальні визначення – Створити спеціальний параметр – область дії: Товар.
Без реєстрації параметр передається, але не відображається у звітах.
Крок 4. Перевірте налаштування
DebugView
Основний інструмент перевірки.
- Увімкніть режим попереднього перегляду в GTM.
- Пройдіть повний шлях покупця на сайті.
- GA4 – Адміністратор – DebugView.
Що перевіряти на кожній події:
- подія спрацьовує в потрібний момент.
- назва точно відповідає стандарту.
- масив items присутній і заповнений.
- item_id збігається з фідом.
- value розрахований правильно.
- currency передається.
- для purchase – присутній transaction_id.
Тестова покупка
Обов’язково зробіть реальне тестове замовлення. Перевірте, що:
- подія purchase спрацювала один раз, а не кілька;
- сума збігається з реальною;
- усі товари в замовленні передались;
- оновлення сторінки подяки не створює дубль.
Звіти через 24-48 годин
Звіти – Монетизація – Огляд. Дані мають з’явитись із затримкою до двох діб.
Крок 5. Передайте дані в Google Ads
Варіант 1. Імпорт із GA4. Позначте purchase як ключову подію, імпортуйте в Google Ads.
Варіант 2. Окремий тег конверсії Google Ads. Налаштуйте в GTM тег «Google Ads Conversion Tracking» на той самий тригер purchase, передаючи value і transaction_id.
Наша рекомендація: використовуйте власний тег Google Ads як основну конверсію, а імпорт із GA4 – як другорядну для звітності. Це дає точнішу атрибуцію і швидшу фіксацію.
Увага: не позначайте обидві як основні – отримаєте подвійний підрахунок.
Enhanced Conversions
Обов’язково увімкніть розширені конверсії для e-commerce. Вони передають хешовані дані покупця (email, телефон) і суттєво підвищують точність атрибуції, особливо в умовах обмежень на cookies.
Звіти, які з’являються після налаштування
Монетизація – Огляд. Загальний дохід, середній чек, кількість покупок.
Монетизація – Покупки в електронній комерції. Деталізація по товарах: перегляди, додавання в кошик, покупки, дохід по кожній позиції.
Дослідження – Воронка. Конструктор воронок. Дозволяє побачити відсів на кожному кроці: скільки переглянули товар, скільки додали в кошик, скільки дійшли до оплати.
Монетизація – Ефективність товару. Аналіз по категоріях, брендах, окремих SKU.
Типові помилки
Немає dataLayer.push({ ecommerce: null }). Дані попередніх подій змішуються з новими. У звітах з’являються товари, яких не було в замовленні.
Задвоєння покупок. Подія спрацьовує при кожному завантаженні сторінки подяки. Вирішується через transaction_id і перевірку логіки на боці сайту.
Неспівпадіння item_id з фідом. Google Ads не може зіставити дані. Товарна аналітика не працює.
Відстеження за URL сторінки подяки. Ненадійно: URL може змінитись, користувач може потрапити туди напряму, або сторінка взагалі не використовується при AJAX-оформленні.
Передача value з доставкою в одних подіях і без неї в інших. Дані стають непорівнянними.
Немає currency. Особливо критично для мультивалютних магазинів.
Налаштували і не перевірили. Найдорожча помилка. Некоректні дані за три місяці неможливо відновити.
Від команди BigLead Agency
Ecommerce-відстеження – найскладніше технічне налаштування в аналітиці, і саме тому його найчастіше роблять наполовину.
Типова картина при аудиті магазину: подія purchase є, сума передається, а решта воронки відсутня. Власник бачить кількість замовлень і дохід, але не розуміє, на якому етапі втрачає покупців. Виявити, що 60% людей додають товар у кошик і не доходять до оформлення, без налаштованого begin_checkout неможливо.
Друга поширена проблема – розбіжність item_id між сайтом і фідом Merchant Center. Формально все працює: дані збираються, звіти будуються. Але зв’язати конкретний товар у рекламі з його реальними продажами не виходить, і Product Reporting у Google Ads втрачає сенс.
Наша послідовність при запуску e-commerce проєкту завжди однакова: спочатку технічне завдання розробнику на dataLayer, потім налаштування GTM, потім обов’язкова тестова покупка з перевіркою в DebugView. Тільки після цього запускаємо рекламу.
Це займає від кількох днів до двох тижнів залежно від складності сайту. Але без цього етапу запускати товарні кампанії з оптимізацією під цінність немає сенсу – алгоритм не отримає даних, на яких може навчатись.
Якщо потрібна допомога з налаштуванням ecommerce-відстеження або перевірка наявного – залиште заявку, проведемо технічний аудит.