Wszystkie wpisy

Blog

Śledzenie e-commerce w GA4. Jak sprawdzić, czy sklep wysyła dobre dane

7 min czytania

„GA4 mamy podpięte, e-commerce też”. Tak zaczyna się wiele rozmów przy audytach sklepów. Potem otwieramy raport zakupów i porównujemy go z zamówieniami w panelu sklepu z tego samego tygodnia. Liczby się nie zgadzają, czasem o kilka procent, czasem o połowę. Nikt tego wcześniej nie sprawdził, bo GA4 coś pokazywało, a raport wyglądał wiarygodnie.

Na tych danych firma decyduje, w którą kampanię dołożyć pieniądze, a którą wyłączyć. Jeśli połowa zamówień ginie po drodze albo liczy się podwójnie, decyzje są podejmowane w ciemno, tylko z wykresem w tle.

Pokażę, jakie dane sklep powinien wysyłać do Google Analytics 4, jak sprawdzić, czy naprawdę je wysyła, i skąd biorą się różnice, których nie da się całkiem usunąć.

Jak działa e-commerce w GA4

GA4 nie ma osobnego „trybu e-commerce”, który się włącza. Sklep wysyła zdarzenia: klient zobaczył listę produktów, kliknął produkt, dodał go do koszyka, zapłacił. Każde zdarzenie niesie listę produktów (items) z identyfikatorem, nazwą, ceną i ilością. Z tych zdarzeń GA4 składa raporty sprzedaży, lejek zakupowy i wyniki poszczególnych produktów.

Kto pamięta Universal Analytics i rozszerzony e-commerce (enhanced ecommerce), zna tę logikę. W Google Analytics 4 zmieniły się jednak nazwy zdarzeń i parametrów, więc stare wdrożenia trzeba było przepisać od nowa. Samo GA4 w standardowej wersji jest bezpłatne, płatna wersja 360 jest przeznaczona dla dużych firm.

Google opisuje w dokumentacji zestaw zdarzeń e-commerce. Najważniejsze są te:

Zdarzenie Kiedy je wysłać
view_item_list klient widzi listę produktów: kategorię, wyniki wyszukiwania, polecane
select_item klient klika produkt na liście
view_item klient ogląda kartę produktu
add_to_cart produkt trafia do koszyka
view_cart klient otwiera koszyk
remove_from_cart produkt znika z koszyka
begin_checkout klient zaczyna składać zamówienie
add_shipping_info wybiera dostawę
add_payment_info wybiera płatność
purchase zamówienie zostało złożone
refund zwrot

Do tego są zdarzenia dla promocji wewnętrznych (view_promotion, select_promotion) i listy życzeń (add_to_wishlist). Nie każdy sklep potrzebuje wszystkich. Bez purchase i view_item raporty sprzedaży nie mają jednak sensu, a bez zdarzeń z listy nie zobaczysz, która kategoria sprzedaje.

Parametry, bez których zakup jest bezużyteczny

Samo zdarzenie purchase to za mało. Liczy się to, co ze sobą niesie.

transaction_id to numer zamówienia. Google w przykładzie dla zwrotów pisze, że jest wymagany przy zakupach i zwrotach. Bez niego nie połączysz zakupu z zamówieniem w sklepie i nie wyślesz poprawnego zwrotu.

value i currency to wartość zamówienia i waluta. Dokumentacja każe ustawić walutę zawsze, gdy wysyłasz wartość. Wartość bez waluty to częsta przyczyna zerowego przychodu w raportach przy niezerowej liczbie zakupów. Przy okazji ustal, co jest w value: z dostawą czy bez, brutto czy netto. GA4 przyjmie każdą z tych wersji, ale porównanie ze sklepem ma sens tylko wtedy, gdy wiesz, którą wysyłasz.

items to lista produktów. Każdy produkt potrzebuje item_id albo item_name, a Google zaleca podawanie obu. Jedno zdarzenie może zawierać do 200 produktów.

Jest jeszcze item_list_name przy zdarzeniach z listy. Dzięki niemu widać, czy klient doszedł do koszyka z kategorii, z wyszukiwarki czy z bloku polecanych produktów. Dlaczego ta informacja jest tak cenna, opisałem we wpisie o liście produktów, która sprzedaje.

Jak wdrożyć śledzenie e-commerce w GA4

Są dwie drogi.

Pierwsza to wtyczka albo integracja platformy sklepu. Większość popularnych platform ma gotowe połączenie z GA4 i to zwykle najszybszy start. Warto jednak sprawdzić, które zdarzenia wtyczka wysyła, bo bywa, że tylko purchase i view_item.

Druga to Google Tag Manager. Sklep wypycha dane o produktach i zamówieniu do warstwy danych (dataLayer), a w GTM ustawiasz tagi GA4, które je odczytują. Daje to więcej kontroli, ale wymaga kogoś, kto zna i sklep, i GTM.

Najwięcej problemów widzę tam, gdzie działają obie drogi naraz. Ktoś kiedyś wdrożył GTM, potem ktoś inny włączył wtyczkę i od tej pory każdy zakup trafia do GA4 dwa razy. Zanim cokolwiek poprawisz, ustal, skąd dziś wychodzą zdarzenia.

Jak sprawdzić, czy GA4 e-commerce działa poprawnie

Krok 1. Zakup testowy z podglądem

Włącz podgląd w Tag Managerze albo rozszerzenie Tag Assistant i otwórz w GA4 DebugView (w Administracji, w sekcji wyświetlania danych). Przejdź całą drogę jak klient: lista, produkt, koszyk, zamówienie. Przy każdym kroku sprawdź, czy pojawia się właściwe zdarzenie i czy ma produkty z ceną.

Przy purchase sprawdź cztery rzeczy: numer zamówienia zgodny ze sklepem, wartość, walutę i listę produktów. Potem odśwież stronę podziękowania. Jeśli zakup pojawi się drugi raz, masz pierwszą przyczynę różnic.

Zamówienia testowe oznacz w sklepie i usuń z porównań, bo inaczej same zafałszują wynik.

Krok 2. Tydzień porównania ze sklepem

Weź zamówienia z ostatniego pełnego tygodnia z panelu sklepu i zakupy z GA4 z tego samego okresu. W GA4 znajdziesz je w raporcie Generowanie przychodu, Zakupy e-commerce albo w eksploracji z wymiarem identyfikatora transakcji. Porównaj trzy liczby: liczbę zamówień, łączną wartość i listę numerów zamówień.

Lista numerów mówi najwięcej. Zamówienia, których brakuje w GA4, pokażą, czy problem dotyczy jednej metody płatności (na przykład płatności, po której klient nie wraca na stronę sklepu), jednego urządzenia albo zamówień złożonych telefonicznie. Numery, które w GA4 występują dwa razy, pokażą duplikaty.

Krok 3. Sprawdź źródła ruchu przy zakupach

Zakup bez źródła albo z dużym udziałem ruchu bezpośredniego i polecającego z bramki płatności to sygnał, że sesja urywa się przy płatności. W raporcie pozyskiwania ruchu pojawia się wtedy domena operatora płatności jako źródło sprzedaży. Rozwiązanie zwykle leży w ustawieniach GA4 (lista wykluczonych domen odsyłających), a porządek w źródłach zależy też od poprawnie oznaczonych linków UTM.

Skąd biorą się różnice między GA4 a sklepem

Część różnic da się naprawić, części nie.

Do naprawy są duplikaty, brak waluty, zamówienia testowe, zakupy, które nie wracają ze strony płatności, i zdarzenia wysyłane z dwóch miejsc naraz. GA4 sam pomija powtórzone zakupy z tym samym transaction_id od tego samego użytkownika w strumieniu danych z witryny. Google ostrzega przy tym przed odwrotnym błędem: jeśli sklep wysyła ten sam numer dla różnych zamówień, GA4 część z nich pominie i zaniży wynik.

Nie do usunięcia są klienci, którzy nie zgodzili się na pliki cookie analityczne, blokady reklam i przeglądarki, które ograniczają śledzenie. GA4 nie zobaczy więc każdego zamówienia i to jest w porządku. Ważne, żeby różnica była stabilna. Jeśli co tydzień brakuje podobnej części zamówień, trendy w GA4 nadal są wiarygodne. Jeśli różnica skacze z tygodnia na tydzień, coś się psuje i warto szukać przyczyny.

Z tego wynika prosta zasada. Przychód do księgowości i rozliczeń bierzesz ze sklepu. GA4 służy do porównywania kanałów, kampanii, list i produktów między sobą.

Co da się z tego wyczytać

Kiedy dane są poprawne, GA4 odpowiada na pytania, których panel sklepu nie zadaje:

  • które kanały i kampanie przynoszą zamówienia, a które tylko ruch,
  • na którym kroku lejka klienci odpadają: przy karcie produktu, w koszyku, przy wyborze dostawy,
  • które listy produktów prowadzą do koszyka, a które tylko do przewijania,
  • które produkty ludzie oglądają, a rzadko kupują.

Ostatnie pytanie bywa najcenniejsze. Produkt z dużą liczbą wyświetleń i małą liczbą zakupów może mieć złą cenę, słabe zdjęcia albo brak stanu w popularnym wariancie. Puste listy i oferty bez stanu to osobny rodzaj strat, który opisałem przy czarnych dziurach w sklepie.

Z tych zdarzeń biorą się też liczby do miesięcznego zestawienia: ruch, konwersja i średni koszyk. Jak z nich zbudować krótki pulpit dla właściciela, pokazuję w tekście o dashboardzie KPI dla małej firmy.

Porównanie, które robi się samo

Jednorazowe sprawdzenie pokazuje stan z jednego tygodnia. Wtyczka może się zaktualizować, ktoś zmieni stronę podziękowania albo doda nową metodę płatności, i różnica wróci po cichu.

Dlatego wolę automat. Raz w tygodniu pobiera zamówienia z API sklepu i zakupy z GA4 przez Data API, porównuje liczbę i wartość i wysyła krótką wiadomość, gdy różnica wyjdzie poza ustalony próg. Taki workflow da się zbudować w n8n albo Make w jedno popołudnie, a próg ustalasz na podstawie pierwszych tygodni porównań.

Kiedy pełne wdrożenie to przesada

Sklep z kilkoma zamówieniami tygodniowo nie potrzebuje wszystkich zdarzeń z tabeli i porównań co tydzień. Wystarczy poprawny purchase z numerem, wartością i walutą, view_item i raz na kwartał porównanie ze sklepem. Pełny lejek z listami ma sens wtedy, gdy masz dość ruchu, żeby różnice między listami i krokami były czymś więcej niż przypadkiem.

Twój GA4 pokazuje inną sprzedaż niż sklep i nie wiesz, której liczbie wierzyć? Napisz do mnie. Zaczniemy od tygodnia zamówień i listy numerów.