Instrukcje
Lista kontrolna ecommerce Google Analytics 4. Szablon Spilno Agency

Zanim wydamy pierwsze euro na Google Ads albo Meta Ads, zespół Spilno Agency zawsze robi to samo — sprawdza, czy śledzenie ecommerce w Google Analytics 4 rzeczywiście działa. Jeśli zdarzenie purchase nie dochodzi albo dochodzi bez value, reklama działa w ciemno: algorytm Google nie wie, co jest konwersją, i przepala budżet na niewłaściwych użytkownikach. W tym artykule — nasza siedmiokrokowa lista kontrolna oraz szablon Google Sheets, którego używamy na każdym projekcie klienckim.
Dlaczego zawsze trzeba sprawdzić zdarzenia ecommerce GA4 przed uruchomieniem reklamy
Uruchomienie Google Ads albo Meta Ads bez prawidłowo skonfigurowanej analityki jest jak jazda autostradą nocą z wyłączonymi światłami. Widzisz, że droga jest, ale dokąd prowadzi i czy jest bezpieczna — nie wiesz. Algorytmy Google Smart Bidding i Meta Advantage+ uczą się na danych: im dokładniej wysyłasz purchase z prawidłowym value, tym szybciej reklama znajduje właściwą grupę.
Drugi powód to koszt błędu. Jeśli w pierwszym tygodniu kampanii piksele raportują 2× więcej zakupów niż faktycznie (zduplikowane add_to_cart jako purchase), optymalizator zawyży stawki. Po miesiącu ROAS na papierze będzie połową realnego, a klient uzna, że kanał nie działa. Tymczasem problem jest w danych.
Trzeci powód to atrybucja. Bez transaction_id GA4 liczy ten sam zakup wielokrotnie (każde odświeżenie strony «dziękujemy za zamówienie» to nowe zdarzenie). W Google Ads importowane konwersje rosną 3–10×. ROAS w raporcie świetny, w kasie pusto.
- Smart Bidding optymalizuje to, co widzi — bez prawidłowego
valuewpurchasestawki są dostrajane do szumu - Zduplikowane zdarzenia (jeden zakup = 2–5 hitów) zawyżają konwersje i ROAS w Google Ads i GA4
- Bez
currencywpurchaseGoogle Ads importuje konwersje w walucie konta — dane sklepów wielowalutowych są zniekształcone - Bez
view_itemnie da się uruchomić dynamicznego remarketingu w Google Ads (Performance Max, Demand Gen) - Bez prawidłowego
item_list_idwview_item_listnie zobaczysz, które kategorie konwertują lepiej
9 obowiązkowych zdarzeń ecommerce w GA4
W Google Analytics 4 zdarzenia ecommerce są osobnym standardem opisanym w Measurement Protocol. Nie wszystkie są wymagane, ale aby zbudować pełen lejek od pierwszego wyświetlenia do zakupu, potrzebujesz co najmniej 9. Oto one, w kolejności występowania w lejku.

view_item_list— Użytkownik otworzył stronę kategorii, wyników wyszukiwania lub kolekcji. Parametry:item_list_id,item_list_name, tablicaitems.select_item— Kliknięcie karty produktu na liście. Ta sama struktura parametrów, co view_item_list, ale dla jednego konkretnego produktu.view_item— Wyświetlenie karty produktu. Obowiązkowo:currency,value, tablicaitemszitem_id,item_name,price.add_to_cart— Dodanie do koszyka. Parametry:currency,value,itemszquantity.view_cart— Wyświetlenie koszyka. Bez tego brakuje danych do analizy CRO — nie zobaczysz, ilu użytkowników otwiera koszyk, a nie idzie dalej.remove_from_cart— Usunięcie produktu z koszyka. Pomaga ocenić, które produkty przestają się podobać po porównaniu ceny / kosztu wysyłki.begin_checkout— Rozpoczęcie składania zamówienia. To Twój punkt odniesienia dla wskaźnika Cart-to-Checkout.add_payment_info— Dodanie metody płatności. Opcjonalne, ale przydatne — między tym krokiem a zakupem mamy największy drop-off.purchase— Zrealizowany zakup. Parametry obowiązkowe:transaction_id(unikalny!),value,currency,items,shipping,tax. To zdarzenie kluczowe (Key event) w GA4 i Twoja główna konwersja w Google Ads.
GA4 rozpoznaje wszystkie te zdarzenia bez dodatkowej konfiguracji — nie trzeba ich tworzyć w sekcji Custom events. Wystarczy, że Twój dataLayer wypycha je z odpowiednimi nazwami i parametrami. GA4 sam je wykryje i wyświetli w raportach E-commerce oraz Ścieżka klienta.
7 kroków weryfikacji ecommerce GA4 przed startem Google Ads
To nasza robocza lista kontrolna. Każdy punkt zamyka osobne ryzyko, jeszcze zanim klient zobaczy pierwsze płatne wyświetlenie. Wszystkie siedem kroków znajdziesz w szablonie Google Sheets — link niżej.

- Krok 1. Strumień GA4 i Measurement ID. Wejdź w Admin → Data Streams. Sprawdź, że jest jeden strumień (a nie zduplikowane) i Measurement ID (G-XXXXXXX) zgadza się z tym w tagach GTM. Dwa strumienie na tej samej stronie = połowa zdarzeń znika.
- Krok 2. GTM na wszystkich stronach. W DevTools (Network → filtr
gtm.js) sprawdź, że kontener GTM ładuje się na: stronie głównej, kategorii, produkcie, koszyku, checkout i stronie dziękujemy. Szczególna uwaga na thank-you — tam właśnie firejemypurchase. - Krok 3. dataLayer wypycha 9 zdarzeń. DevTools → Console → wpisz
dataLayer. Przejdź pełną ścieżkę użytkownika i sprawdź, co się dodało. Powinno być wszystkie 9 zdarzeń z poprawnymi parametrami. Brakvaluewview_item= blocker. - Krok 4. DebugView w GA4. W GA4 → Admin → DebugView włącz tryb debug (GTM-debug lub rozszerzenie GA Debugger). Zrób testowy zakup. Sprawdź, że
purchaseprzyszło ze wszystkimi parametrami i prawidłowymtransaction_id. - Krok 5. Parametry
purchase. W DebugView otwórz zakładkę Parametry zdarzenia:transaction_idunikalne,valuejako liczba (nie tekst!),currencyw formacie ISO 4217 (EUR, PLN, USD),itemsniepusta tablica. Jedna luka — i algorytm uczy się złego sygnału. - Krok 6. Oznaczenie jako Key event. W GA4 → Admin → Events znajdź
purchasei włącz przełącznik Mark as key event. Bez tego Google Ads nie zaimportujepurchasejako celu optymalizacji. - Krok 7. Połączenie Google Ads ↔ GA4. W GA4 → Admin → Product links → Google Ads utwórz połączenie. W Google Ads → Tools → Conversions zaimportuj
purchasez GA4. Sprawdź, że status to Recording, a atrybucja to Data-driven (a nie Last click).
3 narzędzia do weryfikacji zdarzeń GA4
Jedno narzędzie daje niepełny obraz. Zawsze używamy trzech w połączeniu: DebugView pokazuje, jak GA4 zrozumiał zdarzenie; GTM Preview pokazuje, czy tag zadziałał poprawnie; Chrome DevTools pokazuje, czy hit w ogóle dotarł do serwera Google.

DebugView to panel administracyjny w GA4, w którym widzisz każde zdarzenie z Twojego urządzenia w czasie rzeczywistym. Włącza się rozszerzeniem Google Analytics Debugger w Chrome lub trybem podglądu w GTM. Widzisz fakt zdarzenia oraz wszystkie parametry — to finalna kontrola przed startem reklam.
GTM Preview to tryb podglądu w Google Tag Manager. Pokazuje, który tag, kiedy i z jakimi zmiennymi się uruchomił. Jeśli tag GA4 Event — purchase nie zadziałał na stronie dziękujemy, w Preview zobaczysz to w 2 sekundy. Chrome DevTools → Network to najniższy poziom. Tu sprawdzasz, czy żądanie do /g/collect rzeczywiście wyszło do Google. Jeśli Preview pokazuje sukces, a Network nic — blokuje adblock lub polityka CSP strony.
Szablon listy kontrolnej Spilno Agency w Google Sheets
Używamy tego samego szablonu na każdym projekcie klienckim — od ukraińskiego marketplace odzieży po unijny sklep z częściami samochodowymi. Zawiera już:
- Tabelę z 9 zdarzeniami ecommerce i polami wyboru: GTM / dataLayer / DebugView / Google Ads import
- Osobny arkusz dla parametrów
purchase— pole po polu - Arkusz Częste błędy — 12 problemów, które widzieliśmy w realnych projektach, plus instrukcję diagnozy
- Kolumnę Odpowiedzialny — żeby utrwalić, kto za co odpowiada (PM, dev, analityk)
- Kolumnę Status z 4 wartościami: To check / In progress / Passed / Failed
- Pole Data weryfikacji — żeby zapisać moment udanej kontroli i potem łatwo wykryć regresję
Zapisz szablon na własny Dysk Google
Kliknij Zapisz na Dysku Google — Google automatycznie otworzy dialog Utwórz kopię. Kopia trafi na Twój Dysk i będziesz mógł dowolnie ją edytować pod swój projekt. Oryginał Spilno Agency zostanie nietknięty — zawsze możesz porównać zmiany.
Jeśli jesteś freelancerem albo agencją, szablon możesz zaadaptować — zmień kolory, dodaj logo, przerób nazwy arkuszy. Nie mamy nic przeciwko: to nie jest produkt komercyjny, tylko narzędzie, którym dzielimy się z rynkiem.
Częste błędy i jak ich unikać
Oto 6 problemów, które regularnie widzimy przy audycie GA4 u nowych klientów.
- Zduplikowany
purchaseprzy odświeżeniu strony thank-you. Jeśli zdarzenie jest powiązane z załadowaniem strony, a nie z callbackiem serwerowym, odświeżenie strony «dziękujemy» daje +1 zakup. Rozwiązanie: deduplikuj potransaction_idw zmiennej custom event GTM i zablokuj powtórny push. valuejako tekst, a nie liczba.value: "1500"to nie to samo, covalue: 1500. GA4 akceptuje liczbę, tekst po cichu ignoruje. Sprawdź typ parametru w DebugView.- Brak
currency. Jeśli sklep obsługuje klientów z UA, EU i US, pustycurrencywpurchasespowoduje, że GA4 zapisze każde zamówienie w domyślnej walucie konta. Revenue w raportach nie zgadza się z rzeczywistością. add_to_cartprzy każdym + / −. Jeśli w koszyku można zwiększać ilość przyciskiem +, nie wypychaj zdarzenia za każdym razem. Inaczej Cart additions rosną 5–10×.view_itemna liście produktów. Developerzy często myląview_item(karta jednego produktu) zview_item_list(kategoria). Sprawdź: na kategorii musi byćview_item_listz tablicą, na karcie produktu —view_itemz jednym obiektem witems.- Zakup z
value: 0. Zamówienia testowe lub promo zvalue: 0Smart Bidding interpretuje jako bezpłatną sprzedaż i obniża stawki. Filtruj takie zamówienia na poziomie GTM lub server-side.
FAQ
Co sprawdzić jako pierwsze, jeśli ecommerce GA4 nie działa?
Otwórz DebugView, uruchom stronę w trybie debug (rozszerzenie GA Debugger) i przejdź ścieżkę użytkownika. Jeśli purchase nie pojawia się w DebugView, problem jest w dataLayer albo tagach GTM. Jeśli się pojawia, ale bez parametrów — problem w mapowaniu parametrów w tagu GA4 Event.
Czy trzeba ręcznie tworzyć zdarzenia ecommerce w GA4?
Nie. GA4 rozpoznaje 9 standardowych zdarzeń (view_item, add_to_cart, purchase itd.) po nazwie. Nie musisz tworzyć ich w Custom events. Wystarczy poprawny dataLayer i tag GA4 w GTM, który przekazuje parametry bez strat.
Jak często należy robić tę listę kontrolną?
Pierwszy raz — obowiązkowo przed startem płatnych kampanii. Potem raz na kwartał jako planowy audyt, plus po każdym wdrożeniu nowej wersji serwisu, zmianie szablonu checkout, dodaniu nowej waluty czy języka. Każda aktualizacja frontu może zepsuć dataLayer.
Czy szablon nadaje się dla Shopify / WooCommerce / OpenCart?
Tak. Szablon opisuje zdarzenia, które muszą się pojawić — niezależnie od tego, kto je generuje. Shopify i WooCommerce mają oficjalne integracje, które wypychają je bez dodatkowej pracy. Lista kontrolna pozostaje ta sama — po prostu mniej pracy dev.
Co jeśli transaction_id się powtarza?
GA4 cicho odrzuca nowy zakup z istniejącym transaction_id — to zabezpieczenie przed duplikacją. Jeśli przez błąd generujesz ten sam ID dla różnych zamówień (np. timestamp bez milisekund), część zakupów stracisz. Sprawdź logikę generowania ID na backendzie.
Podsumowanie
Weryfikacja ecommerce GA4 to nie formalność techniczna, to ochrona budżetu. Jeśli wydajesz 10 000 € miesięcznie na Google Ads i 20 % zakupów jest utraconych lub zduplikowanych, płacisz 2 000 € miesięcznie za sam szum. Przejdź przez naszą listę kontrolną, zapisz szablon na własny Dysk Google i używaj go przed każdym nowym startem kampanii.
Zapisz szablon na własny Dysk Google
Kliknij Zapisz na Dysku Google — Google automatycznie otworzy dialog Utwórz kopię. Kopia trafi na Twój Dysk i będziesz mógł dowolnie ją edytować pod swój projekt. Oryginał Spilno Agency zostanie nietknięty — zawsze możesz porównać zmiany.


