GA4 ecommerce events — purchase, add_to_cart i co między nimi
Spis treści
GA4 ma gotowy zestaw eventów e-commerce (recommended events), ale samo ich wdrożenie nie wystarczy — trzeba rozumieć, co dokładnie mierzą i gdzie w ścieżce zakupowej się znajdują, żeby raporty (Purchase journey, Monetization) miały sens.
Pełna ścieżka eventów e-commerce w GA4
GA4 przewiduje standardowy zestaw eventów pokrywający całą ścieżkę zakupową:
view_item_list— lista produktów (kategoria, wyniki wyszukiwania)select_item— kliknięcie produktu z listyview_item— wejście na stronę produktuadd_to_cart— dodanie do koszykaview_cart— otwarcie koszykabegin_checkout— start checkoutuadd_shipping_info/add_payment_info— wypełnienie danych dostawy/płatnościpurchase— finalizacja zakupu
Każdy event powinien nieść parametr items (array produktów) oraz currency i value tam, gdzie ma to sens finansowy.
purchase vs add_to_cart — różne wymagania danych
add_to_cart to sygnał intencji — wystarczy items z podstawowymi danymi produktu (id, nazwa, cena, ilość). Błędy tutaj są kosmetyczne — źle policzone value zaniży metryki, ale nie zepsuje transakcji.
purchase to transakcja finansowa — GA4 wymaga dodatkowo unikalnego transaction_id (inaczej ryzykujesz zduplikowane transakcje przy odświeżeniu strony potwierdzenia) oraz spójnej sumy value z sumą items[].price * items[].quantity plus shipping/tax. Rozjazd tutaj = błędne dane przychodowe w każdym raporcie e-commerce.
gtag('event', 'purchase', {
transaction_id: 'ORDER-12345', // unikalny, inaczej duplikaty
value: 129.98,
currency: 'PLN',
shipping: 9.99,
items: [
{ item_id: 'DRESS-RED-M', item_name: 'Sukienka czerwona M', price: 119.99, quantity: 1 }
]
});Najczęstszy błąd: dataLayer wypełniany za późno
Klasyczny problem z purchase przez GTM: dataLayer.push() dzieje się po tym, jak tag GA4 już próbował odczytać zmienne. Efekt: event leci, ale bez value albo bez items — transakcja "widoczna", ale bezwartościowa w raportach przychodowych.
Rozwiązanie: dataLayer.push() musi poprzedzać (lub być w tym samym evencie co) trigger tagu GA4 purchase — sprawdź w GTM Preview kolejność w zakładce "Data Layer".
Co jest MIĘDZY add_to_cart a purchase — i dlaczego to ważne
To właśnie w tej przestrzeni tracisz najwięcej konwersji. Eventy pośrednie (view_cart, begin_checkout, add_shipping_info, add_payment_info) pozwalają zbudować precyzyjny funnel i zobaczyć DOKŁADNIE, na którym kroku formularza ludzie rezygnują — bez nich widzisz tylko "coś się dzieje między koszykiem a zakupem", bez diagnozy.
Jeśli wdrażasz tylko add_to_cart i purchase, pomijając kroki pośrednie — masz czarną skrzynkę zamiast lejka.
TL;DR
- Pełna ścieżka: view_item_list → select_item → view_item → add_to_cart → view_cart → begin_checkout → add_shipping/payment_info → purchase
purchasewymaga unikalnegotransaction_id— bez niego ryzykujesz duplikaty przy odświeżeniu stronyvaluew purchase musi zgadzać się z sumą items — rozjazd psuje dane przychodowe- Najczęstszy błąd: dataLayer.push() wykonywany po tym, jak tag GA4 już odczytał zmienne
- Eventy pośrednie (view_cart, begin_checkout, add_shipping/payment_info) są kluczowe do diagnozy, gdzie tracisz konwersje
Masz podobny problem w swoim GA4?
Sprawdzę Twoją konfigurację w ramach audytu GA4. Pierwsza rozmowa jest bezpłatna.
Umów konsultacjęWięcej artykułów o data analytics:
Wróć do bloga