Кейс: аудит та налаштування ecommerce Google Analytics 4 (GA4) для квиткового сервісу

GA4 ecommerce відображав на 76% менше доходу, ніж реальні продажі — ми провели аудит, знайшли 4 критичні помилки у відстеженні та розробили технічне завдання для правильного налаштування через Data Layer і GTM.
Коли потрібен аудит GA4 ecommerce
Більшість власників онлайн-сервісів та інтернет-магазинів вважають, що аналітика налаштована, якщо GA4 «взагалі збирає дані». Але правильне налаштування GA4 ecommerce — це коли дані в звітах збігаються з реальністю з похибкою не більше 3–5%.
Аудит GA4 ecommerce необхідний у таких ситуаціях:
- Дані GA4 відрізняються від CRM або платіжної системи більш ніж на 5% — ознака помилок у відстеженні транзакцій.
- Після міграції з Universal Analytics на GA4 — необхідно перевірити, що всі події передані коректно.
- Після редизайну сайту або змін у процесі оформлення замовлення — новий код міг порушити існуюче відстеження.
- ROAS з різних каналів виглядає нереалістично — занадто високий або низький показник вказує на помилку у даних.
- Відсутні дані ecommerce в GA4 — модуль ecommerce не активований або неправильно налаштований Data Layer.
- Плануєте масштабування рекламних бюджетів — перед збільшенням витрат важливо переконатися у достовірності даних.
Що таке GA4 ecommerce і навіщо його налаштовувати
Модуль ecommerce в Google Analytics 4 — це розширена система відстеження транзакцій, яка дозволяє бачити не просто кількість замовлень, а повну картину: які товари купують, через які канали приходять покупці, скільки коштує залучення одного клієнта з Google Ads порівняно з Instagram.
Без правильно налаштованого GA4 ecommerce маркетолог працює «наосліп»: витрачає рекламний бюджет без розуміння реального ROAS по каналах. Саме тому аудит і налаштування GA4 ecommerce — один із перших кроків при роботі з будь-яким онлайн-сервісом чи інтернет-магазином.
Про проєкт: сервіс продажу квитків
Клієнт — онлайн-сервіс продажу автобусних та залізничних квитків. Сайт побудований на кастомному стеку: React.js / Next.js на фронтенді, FastAPI (Python) на бекенді, PostgreSQL як база даних. Хостинг — DigitalOcean, деплой через GitHub Actions / Docker Compose.
Особливість бізнес-моделі: частина покупців оплачує квиток онлайн (еквайринг), а більшість — бронює квиток на сайті та оплачує готівкою водієві. У квітні–травні 2024 року близько 82–85% клієнтів обирали оплату готівкою, що становило ~86% загального доходу.
Для аналітики використовувався Google Tag Manager (GTM-HHLSGH5B) та Google Analytics 4 (G-FCS3V6HH2L). Перед початком аудиту власники припускали, що аналітика налаштована коректно — але реальні дані спростували це.
Аудит GA4 ecommerce: що ми знайшли

Технічна база аналітики
Контейнер GTM загалом налаштований коректно: встановлений на всіх сторінках, містить теги GA4, деякі кастомні конфігурації та DataLayer. Однак разом із GTM-кодом на сайті також були вбудовані прямі коди GA4 та DataLayer у вихідний код — це і стало однією з причин некоректного відстеження.
Тестові покупки та перші висновки
Для перевірки ми провели тестові бронювання квитків з опцією «оплата водієві». GA4 у режимі реального часу зафіксував конверсії — але загальна вартість відображала лише останню транзакцію, а не суму всіх куплених квитків. Це перша критична помилка.
Порівняння GA4 з реальними продажами
Ми порівняли звіти GA4 з таблицею реальних продажів за два місяці. Результати виявились вражаючими:
| Показник | Квітень 2024 (факт) | Квітень 2024 (GA4) | Травень 2024 (факт) | Травень 2024 (GA4) |
|---|---|---|---|---|
| Кількість продажів | 223 | 237 (+6%) | 210 | 183 (−13%) |
| Загальний дохід | 636 553 ₴ | 468 489 ₴ (−26%) | 590 055 ₴ | 143 177 ₴ (−76%) |
Якщо у квітні розбіжність у доходах становила відносно прийнятні 26%, то у травні GA4 показував у 4 рази менше реального доходу. Причина — некоректний DataLayer, який записував вартість лише одного квитка замість усіх у транзакції, а в частині випадків не фіксував транзакцію взагалі.
Стратегія налаштування GA4 ecommerce

Квитки як товари в GA4
Ключове рішення — розглядати кожен квиток як окремий товар у GA4 ecommerce. Товар ідентифікується парою «місто відправлення — місто призначення», що дозволяє будувати інформативні звіти про популярність маршрутів. Ім’я перевізника фіксується як бренд товару, а дата та час рейсу — як кастомний параметр.
Ієрархія категорій товарів:
- Рівень 1 — країна відправлення (
item_category) - Рівень 2 — країна призначення (
item_category2) - Рівень 3 — місто відправлення (
item_category3) - Рівень 4 — місто призначення (
item_category4)
Ланцюг подій GA4 ecommerce
Для повноцінного відстеження воронки продажів налаштовуються 5 ключових подій GA4:
view_item_list— користувач бачить список доступних маршрутів для обраної пари містview_item— вибір конкретного квитка на конкретну датуadd_to_cart— натискання кнопки «Купити» для обраного маршрутуbegin_checkout— початок заповнення форми оформлення квиткаpurchase— успішне бронювання (як онлайн-оплата, так і «оплата водієві»)
Додатково відстежується checkout_progress для кожного кроку оформлення: введення персональних даних → вибір способу оплати → підтвердження. Це дозволяє аналізувати, на якому кроці відвалюються користувачі.
Параметри транзакції
transaction_id— унікальний ID замовлення з системи сайту (запобігає дублікатам)value— загальна сума всіх квитків у транзакціїcurrency— UAHpayment_type— спосіб оплати (online / cash)items— масив квитків з маршрутами, цінами та перевізниками
GA4 ecommerce events: параметри для Data Layer
Для повного GA4 ecommerce tracking кожна дія в воронці покупок відображається окремою подією з визначеним набором параметрів. Ось довідник усіх 5 обов’язкових GA4 ecommerce events і параметрів Data Layer для кожної з них.

Ключовий параметр — transaction_id: без нього GA4 не може дедуплікувати транзакції і одне бронювання може зарахуватися двічі. Значення value повинне містити суму всіх товарів у масиві items[], а не вартість одного квитка.
4 критичні помилки GA4 ecommerce та як їх виправити

В ході аудиту ми виявили чотири критичні помилки, які разом призвели до 76% розбіжності в даних. Ось технічне завдання для кожної:
- Часткова вартість транзакції — DataLayer передавав ціну останнього квитка замість суми всіх. Виправлення: підсумовувати
valueпо всіх елементах масивуitems. - Дублюючі теги — прямий код GA4 у HTML + тег через GTM = подвійна відправка подій. Виправлення: видалити прямий код GA4 з вихідного коду, залишити тільки GTM.
- Відсутній
transaction_id— без унікального ID транзакції GA4 не може дедуплікувати повторні відправки. Виправлення: генерувати унікальний ID на рівні бекенду і передавати його в DataLayer. - Пропуск офлайн-транзакцій — покупки з оплатою водієві не фіксувалися як
purchase. Виправлення: обидва типи оплати (online та cash) мають тригерувати подіюpurchase.
Правильна структура Data Layer для події purchase
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: '<ORDER_ID>',
value: <TOTAL_PRICE>, // сума всіх квитків
currency: 'UAH',
payment_type: '<online|cash>',
items: [{
item_id: '<CITY_FROM>-<CITY_TO>',
item_name: '<CITY_FROM> → <CITY_TO>',
item_brand: '<CARRIER_NAME>',
item_category: '<COUNTRY_FROM>',
item_category2: '<COUNTRY_TO>',
item_category3: '<CITY_FROM>',
item_category4: '<CITY_TO>',
price: <TICKET_PRICE>,
quantity: 1
}]
}
});Результати: що дало правильне налаштування GA4 ecommerce
Після впровадження виправленого Data Layer і оновленої конфігурації GTM розбіжність між GA4 та реальними продажами скоротилась до менш ніж 3%. Це дало маркетологам змогу:
- Точно порівнювати ROAS Google Ads та Meta Ads у розрізі реального доходу
- Бачити, які маршрути генерують найбільше виторгу по кожному рекламному каналу
- Аналізувати воронку конверсії та виявляти кроки з найвищим відтоком
- Сегментувати онлайн-оплату та «оплата водієві» для розрахунку реального ROAS
- Приймати рішення щодо рекламних бюджетів на основі достовірних даних
Цей кейс показує типову ситуацію для кастомних сервісів: аналітика «є», але не дає достовірних даних. Аудит GA4 ecommerce — це не разова процедура, а регулярна необхідність при будь-яких змінах на сайті або у воронці продажів.
Аудит та налаштування GA4 ecommerce від Spilno Agency
За 5 років роботи Spilno Agency провела аудити GA4 ecommerce для понад 40 проєктів: інтернет-магазини, тревел-сервіси, SaaS-платформи, маркетплейси. В кожному другому проєкті ми знаходимо критичні помилки у відстеженні, які призводять до неправильних маркетингових рішень.
Наш підхід до аудиту GA4 ecommerce включає:
- Порівняльний аналіз даних GA4 з реальними продажами за 3 місяці
- Аудит структури GTM-контейнера та всіх тегів GA4
- Тестові транзакції з перевіркою Data Layer у режимі реального часу
- Технічне завдання для розробників із покроковими інструкціями
- Контроль впровадження та повторна перевірка після виправлень
Потрібна допомога з аудитом або налаштуванням GA4 ecommerce? Залиште заявку — ми проведемо безкоштовну консультацію.
Часті запитання про GA4 ecommerce
Коли потрібен аудит GA4 ecommerce?
Аудит GA4 ecommerce необхідний, якщо дані в GA4 відрізняються від реальних продажів більш ніж на 5%, після міграції з UA на GA4, після редизайну сайту або змін у процесі оформлення замовлення. Також обов’язково проводьте аудит перед масштабуванням рекламних бюджетів.
Чому GA4 ecommerce показує неправильні дані?
Найчастіша причина — некоректна реалізація Data Layer або дублювання тегів у GTM. GA4 може фіксувати подвійні транзакції, записувати лише часткові дані або зовсім пропускати події через помилки в коді. Аудит GTM та перевірка Data Layer на реальних тестових покупках дозволяє точно локалізувати проблему.
Як налаштувати GA4 ecommerce для кастомного сайту без WooCommerce?
Для кастомних сайтів (React, Next.js, Vue тощо) потрібно вручну реалізувати Data Layer на стороні backend або frontend. Ключові події: view_item_list, view_item, add_to_cart, begin_checkout, purchase. Кожна подія передається через dataLayer.push() і підхоплюється GTM, який пересилає дані до GA4.
Що таке Data Layer і навіщо він потрібен для GA4?
Data Layer — це JavaScript-масив на сторінці, через який сайт передає структуровані дані до Google Tag Manager. Без Data Layer неможливо передати такі параметри, як ціна товару, ID транзакції, спосіб оплати, деталі про товар.
Як перевірити правильність налаштування GA4 ecommerce?
Найнадійніший спосіб — провести тестові покупки і порівняти дані GA4 у реальному часі з реальними транзакціями в CRM або базі даних. Використовуйте GTM Preview Mode для перевірки тригерів. Розбіжність понад 5% між GA4 та реальними продажами вказує на проблему у відстеженні.
Чи можна відстежувати офлайн-оплату у GA4?
Так. В параметрах транзакції зазначається спосіб оплати (payment_type: 'cash'), що дозволяє сегментувати онлайн та офлайн-продажі у звітах GA4. Обидва типи бронювань тригерують одну й ту саму подію purchase, але з різними параметрами.
Залишились питання?


