Case study: audyt i konfiguracja ecommerce Google Analytics 4 (GA4) dla serwisu biletowego

GA4 ecommerce pokazywał o 76% mniej przychodów niż rzeczywista sprzedaż — przeprowadziliśmy audyt, znaleźliśmy 4 krytyczne błędy w śledzeniu i opracowaliśmy specyfikację techniczną dla prawidłowej konfiguracji przez Data Layer i GTM.
Kiedy potrzebny jest audyt GA4 ecommerce
Większość właścicieli sklepów internetowych i serwisów online uważa, że analityka „działa”, jeśli GA4 w ogóle zbiera dane. Jednak prawidłowa konfiguracja GA4 ecommerce oznacza, że dane w raportach zgadzają się z rzeczywistością z odchyleniem nie większym niż 3–5%.
Audyt GA4 ecommerce jest niezbędny w następujących sytuacjach:
- Dane GA4 różnią się od CRM lub systemu płatności o więcej niż 5% — wyraźny sygnał błędów w śledzeniu transakcji.
- Po migracji z Universal Analytics na GA4 — należy sprawdzić, czy wszystkie zdarzenia zostały poprawnie przeniesione.
- Po redesignie strony lub zmianach w procesie składania zamówień — nowy kod mógł uszkodzić istniejące śledzenie.
- ROAS z różnych kanałów wygląda nierealistycznie — zbyt wysoki lub zbyt niski wskaźnik świadczy o problemach z danymi.
- Brak danych ecommerce w GA4 — moduł ecommerce nie jest aktywowany lub Data Layer jest źle skonfigurowany.
- Planowanie skalowania budżetów reklamowych — przed zwiększeniem wydatków należy upewnić się o rzetelności danych.
Czym jest moduł GA4 ecommerce i dlaczego warto go konfigurować
Moduł ecommerce w Google Analytics 4 to zaawansowany system śledzenia transakcji, który pozwala widzieć nie tylko liczbę zamówień, ale pełny obraz: które produkty są kupowane, przez jakie kanały przychodzą kupujący, ile kosztuje pozyskanie jednego klienta z Google Ads w porównaniu z Instagram.
Bez prawidłowo skonfigurowanego GA4 ecommerce marketer pracuje „w ciemno” — wydaje budżet reklamowy bez rozumienia rzeczywistego ROAS według kanałów. Dlatego audyt i konfiguracja GA4 ecommerce to jeden z pierwszych kroków przy pracy z każdym serwisem online lub sklepem internetowym.
O projekcie: serwis sprzedaży biletów
Klient to internetowy serwis sprzedaży biletów autobusowych i kolejowych. Strona oparta na niestandardowym stosie: React.js / Next.js na frontendzie, FastAPI (Python) na backendzie, PostgreSQL jako baza danych. Hosting na DigitalOcean, wdrożenie przez GitHub Actions / Docker Compose.
Szczególna cecha modelu biznesowego: część kupujących płaci online (akwizycja kart), a większość rezerwuje bilet na stronie i płaci gotówką kierowcy. W kwietniu–maju 2024 roku około 82–85% klientów wybierało płatność gotówkową, co stanowiło ~86% łącznych przychodów.
Do analityki używano Google Tag Managera (GTM-HHLSGH5B) i Google Analytics 4 (G-FCS3V6HH2L). Przed audytem właściciele zakładali, że analityka jest poprawnie skonfigurowana — rzeczywiste dane obaliły to przekonanie.
Audyt GA4 ecommerce: co znaleźliśmy

Techniczne podstawy analityki
Kontener GTM był ogólnie poprawnie skonfigurowany: zainstalowany na wszystkich stronach, zawierał tagi GA4, niestandardowe konfiguracje i DataLayer. Jednak obok kodu GTM, bezpośrednie kody GA4 i DataLayer były również osadzone w kodzie źródłowym strony — to stało się jedną z przyczyn nieprawidłowego śledzenia.
Zakupy testowe i pierwsze wnioski
Do weryfikacji przeprowadziliśmy testowe rezerwacje biletów z opcją „zapłać kierowcy”. GA4 w trybie czasu rzeczywistego zarejestrował konwersje — ale łączna wartość pokazywała tylko ostatnią transakcję, a nie sumę wszystkich kupionych biletów. To był pierwszy krytyczny błąd.
Porównanie GA4 z rzeczywistą sprzedażą
Porównaliśmy raporty GA4 z tabelą rzeczywistej sprzedaży za dwa miesiące. Wyniki okazały się zatrważające:
| Wskaźnik | Kwiecień 2024 (faktyczny) | Kwiecień 2024 (GA4) | Maj 2024 (faktyczny) | Maj 2024 (GA4) |
|---|---|---|---|---|
| Liczba sprzedaży | 223 | 237 (+6%) | 210 | 183 (−13%) |
| Łączny przychód | 636 553 ₴ | 468 489 ₴ (−26%) | 590 055 ₴ | 143 177 ₴ (−76%) |
Podczas gdy rozbieżność przychodów w kwietniu wynosiła względnie akceptowalne 26%, w maju GA4 pokazywał czterokrotnie mniej od rzeczywistych przychodów. Przyczyną był błędnie skonfigurowany DataLayer, który zapisywał cenę tylko jednego biletu zamiast sumy wszystkich w transakcji.
Strategia konfiguracji GA4 ecommerce

Bilety jako produkty w GA4
Kluczową decyzją projektową było traktowanie każdego biletu jako osobnego produktu w GA4 ecommerce. Produkt identyfikowany jest parą miast, co umożliwia tworzenie informatywnych raportów o popularności tras. Nazwa przewoźnika zapisywana jest jako marka produktu, a data i godzina odjazdu jako niestandardowy parametr.
Łańcuch zdarzeń GA4 ecommerce
view_item_list— użytkownik widzi dostępne trasy dla wybranej pary miastview_item— wybór konkretnego biletu na konkretną datęadd_to_cart— kliknięcie przycisku „Kup” dla wybranej trasybegin_checkout— rozpoczęcie wypełniania formularza zamówienia biletupurchase— udana rezerwacja (zarówno płatność online, jak i „zapłać kierowcy”)
Zdarzenia GA4 ecommerce: parametry Data Layer
Aby zapewnić pełne śledzenie GA4 ecommerce, każda akcja w lejku zakupów odpowiada osobnemu zdarzeniu z określonym zestawem parametrów. Oto lista wszystkich 5 wymaganych zdarzeń GA4 ecommerce i parametrów Data Layer dla każdego z nich.

Kluczowy parametr to transaction_id: bez niego GA4 nie może deduplikować transakcji i jedno zamówienie może być zliczone dwukrotnie. Parametr value musi zawierać sumę wszystkich elementów w tablicy items[] — nie cenę jednego biletu.
4 krytyczne błędy GA4 ecommerce i jak je naprawić

- Częściowa wartość transakcji — DataLayer wysyłał cenę ostatniego biletu zamiast sumy wszystkich. Naprawa: zsumuj
valuepo wszystkich elementach tablicyitems. - Duplikacja tagów — bezpośredni kod GA4 w HTML + tag GTM = podwójne wysyłanie zdarzeń. Naprawa: usuń bezpośredni kod GA4 z kodu źródłowego, pozostaw tylko GTM.
- Brak
transaction_id— bez unikalnego ID transakcji GA4 nie może deduplikować powtarzających się wysyłek. Naprawa: generuj unikalny ID na poziomie backendu i przekazuj go w DataLayer. - Pominięcie transakcji offline — zakupy z płatnością u kierowcy nie były rejestrowane jako
purchase. Naprawa: oba typy płatności (online i gotówka) muszą wyzwalać zdarzeniepurchase.
Prawidłowa struktura Data Layer dla zdarzenia purchase
dataLayer.push({
event: 'purchase',
ecommerce: {
transaction_id: '<ORDER_ID>',
value: <TOTAL_PRICE>, // suma wszystkich biletów
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
}]
}
});Wyniki: co dała prawidłowa konfiguracja GA4 ecommerce
Po wdrożeniu poprawionego Data Layer i zaktualizowanej konfiguracji GTM rozbieżność między GA4 a rzeczywistą sprzedażą spadła do poniżej 3%. Umożliwiło to zespołowi marketingu dokładne porównanie ROAS z Google Ads i Meta Ads, wgląd w najpopularniejsze trasy według kanału i analizę lejka konwersji.
Audyt i konfiguracja GA4 ecommerce przez Spilno Agency
W ciągu 5 lat Spilno Agency przeprowadziła audyty GA4 ecommerce dla ponad 40 projektów w Europie: sklepy internetowe, serwisy turystyczne, platformy SaaS. W co drugim projekcie znajdowaliśmy krytyczne błędy w śledzeniu.
Potrzebujesz pomocy przy audycie lub konfiguracji GA4 ecommerce? Skontaktuj się z nami — oferujemy bezpłatną konsultację wstępną.
Często zadawane pytania o GA4 ecommerce
Kiedy potrzebny jest audyt GA4 ecommerce?
Audyt GA4 ecommerce jest niezbędny gdy dane GA4 różnią się od rzeczywistej sprzedaży o więcej niż 5%, po migracji z UA na GA4, po redesignie strony lub zmianach w procesie zamówień. Zawsze przeprowadzaj audyt przed skalowaniem budżetów reklamowych.
Dlaczego GA4 ecommerce pokazuje nieprawidłowe dane?
Najczęstszą przyczyną jest nieprawidłowa implementacja Data Layer lub duplikacja tagów w GTM. GA4 może rejestrować podwójne transakcje, zapisywać częściowe dane lub całkowicie pomijać zdarzenia. Audyt GTM i weryfikacja Data Layer na zakupach testowych to najskuteczniejsza metoda diagnostyczna.
Czym jest Data Layer i dlaczego GA4 go potrzebuje?
Data Layer to tablica JavaScript na stronie, przez którą witryna przekazuje ustrukturyzowane dane do GTM. Bez Data Layer niemożliwe jest przekazanie parametrów takich jak cena produktu, ID transakcji, metoda płatności czy szczegóły artykułu do GA4.

