Site Kit sam wysyła zakupy z WooCommerce do GA4 i Google Ads. Wartość liczy brutto z dostawą, a duplikatu z Tag Managera nie zauważy

Site Kit to oficjalna wtyczka Google do WordPressa. Według katalogu WordPress.org działa na ponad 5 mln stron. W wielu sklepach na WooCommerce ktoś ją kiedyś zainstalował, żeby mieć Search Console i Analytics w kokpicie, i od tamtej pory nikt do niej nie zagląda. We wrześniu Google udostępnił w niej wszystkim pulpit z wynikami sprzedaży i zaczął go promować. Pod pulpitem pracuje warstwa, która sama wysyła zakupy z WooCommerce do GA4 i Google Ads. Przeczytałem dokumentację i kod wtyczki pod jednym kątem: co dokładnie trafia do raportów, na których sklep ustawia budżet na Q4.
Co Google włączył we wrześniu
W notatkach wydań na GitHubie wersja 1.187.0 z 7 września ma wpis „Remove 'Site Goals' feature flag (feature is fully-available)”, a wersja 1.188.0 z 21 września dodaje kafle kluczowych wskaźników dla stron, które sprzedają produkty. Site Goals to nowa sekcja pulpitu z wynikami sklepu i formularzy. Sama niczego nie zbiera. Czyta zdarzenia, które wysyła starsza warstwa o nazwie plugin conversion tracking. Dokumentacja mówi o niej trzy rzeczy, które warto znać:
- po włączeniu wtyczka sama wykrywa obsługiwane rozszerzenia i „places JavaScript code on the front end of the website”; na liście jest osiem wtyczek: WooCommerce, Easy Digital Downloads i sześć od formularzy i pop-upów, między innymi Contact Form 7 i WPForms,
- zdarzenia są zapisywane „in Google Analytics and/or Google Ads”, a przełącznik jest jeden dla obu usług,
- funkcja „is typically enabled by default”.
Jeśli więc masz Site Kit i WooCommerce, pomiar zakupów najpewniej już działa, nawet jeśli nikt go świadomie nie włączał. Sama wysyłka zdarzeń nie jest nowa, w kodzie ma oznaczenia wcześniejszych wersji. Nowe jest to, że Google zbudował na niej pulpit i promuje go jako pomiar bez ręcznego tagowania, o czym 3 października napisał PPC Land. Mnie bardziej niż pulpit interesuje to, co leci do GA4.
Co dokładnie wysyła sklep
Kod dostawcy zdarzeń dla WooCommerce leży w publicznym repozytorium Google. Wynika z niego kilka rzeczy, których w dokumentacji nie ma.
- Wtyczka wysyła dwa zdarzenia:
add_to_cartipurchase. Zakup matransaction_idrówny wewnętrznemu identyfikatorowi zamówienia, wartość, walutę, osobno dostawę i podatek oraz listę produktów. - Zakup wysyła przeglądarka, w chwili gdy klient zobaczy stronę podziękowania z poprawnym kluczem zamówienia. Wtyczka zapisuje przy zamówieniu znacznik, więc odświeżenie strony nie wyśle zakupu drugi raz. To zrobiono porządnie.
- Nie ma warunku na status płatności. Zamówienie z przelewem tradycyjnym albo za pobraniem liczy się jako
purchasew chwili wyświetlenia podziękowania, zanim wpłyną pieniądze. Klient, który zapłacił w bramce i zamknął kartę przed powrotem do sklepu, nie liczy się wcale. - Każde zdarzenie dostaje parametr
event_sourceo wartościsite-kit. Po nim poznasz w GA4, skąd przyszło. - Skrypty ładują się tylko wtedy, gdy tag Analytics albo Ads wstawia na stronę sam Site Kit. Jeśli GA4 działa u Ciebie wyłącznie przez Tag Managera, a Site Kit tylko czyta raporty, wtyczka niczego nie wysyła.
Wartość zakupu: brutto, z dostawą
Przez ten punkt usiadłem do tekstu. Jako wartość zakupu Site Kit wysyła wynik funkcji get_total(), którą WooCommerce opisuje w swoim kodzie jako „order grand total including taxes, shipping cost, fees, and coupon discounts”. Tymczasem dokumentacja zdarzeń GA4 mówi o parametrze value wprost: „Set value to the sum of (price * quantity) for all items in items. Don't include shipping or tax”. Wtyczka Google robi więc inaczej, niż zaleca dokumentacja Google.
Sprzedaję tonery, więc policzę na tonerze. Kosztuje 200 zł netto, czyli 246 zł brutto, do tego 15 zł dostawy. Do GA4 idzie 261 zł. Jeśli kliknięcia kosztowały 40 zł, raport pokaże ROAS 6,5. Liczony od 200 zł netto wynosi 5. Przy marży 20% zarabiam na tym tonerze 40 zł, czyli dokładnie tyle, ile wydałem na reklamę. Raport mówi 6,5, a ja jestem na zerze.
ROAS nie jest przez to fałszywy. Trzeba tylko wiedzieć, od czego jest liczony, zanim wpiszesz cel do strategii stawek. Docelowy ROAS liczę od marży, a marża jest od netto i bez dostawy. Jeśli wartość konwersji w Google Ads pochodzi z takiego zdarzenia, cel trzeba przeliczyć na tę samą bazę albo zmienić źródło wartości.
Druga pułapka siedzi w samym pulpicie. Wskaźnik „Total Sales” w Site Goals to według dokumentacji „aggregate count of successfully completed purchase transactions”, czyli liczba zamówień, nie kwota. Sprzedaży w złotych ten pulpit nie pokazuje.
Kiedy zakup policzy się dwa razy
Site Kit ustępuje tylko jednemu rozszerzeniu: oficjalnej wtyczce Google Analytics for WooCommerce. Sprawdza jej ustawienia i nie wysyła zdarzeń, które ona już śledzi. Tag Managera, innych wtyczek śledzących ani kodu wklejonego w motyw nie sprawdza.
Część duplikatów złapie samo GA4, bo usuwa powtórzone zdarzenia purchase z tym samym identyfikatorem transakcji. Warunek: identyfikator musi być identyczny. Site Kit wysyła wewnętrzne ID zamówienia. Jeśli drugie narzędzie wysyła numer w innej postaci, z prefiksem albo z własnej numeracji, GA4 zobaczy dwa różne zakupy. Zdarzenie add_to_cart identyfikatora nie ma, więc gdy wysyłają je dwa narzędzia, w raporcie są dwa. To zawyża współczynnik dodań do koszyka, na który patrzysz, oceniając kartę produktu.
Osobna sprawa to Google Ads. Dokumentacja Site Kit mówi tylko, że zdarzenia „may enhance your Google Ads campaign(s)”, i nie opisuje, jaka konwersja z nich powstaje. Dlatego sprawdź listę konwersji w koncie: jeśli zakup jest tam dwa razy jako cel główny, raz z importu z GA4 i raz z własnego tagu, Smart Bidding uczy się na podwojonej sprzedaży. Jak znaleźć duplikaty w GA4 w godzinę, opisałem we wrześniu.
Zgody: baner musi rozmawiać z wtyczką
Zdarzenia idą z przeglądarki, więc obowiązuje je zgoda klienta. Tryb uzyskiwania zgody w Site Kit włącza się w Site Kit > Settings > Admin Settings i wymaga dwóch dodatków: wtyczki WP Consent API oraz wtyczki z banerem, która się z nią komunikuje. Dokumentacja ostrzega, że równoległe użycie funkcji consent mode z wtyczki banera „could cause possible conflicts with Site Kit”, i przypomina, że za zgody odpowiada właściciel strony. Jeśli Twój baner ustawia zgody przez Tag Managera, nie zakładaj, że obejmuje także tag wstawiany przez Site Kit, bo to osobny kod na stronie. Sprawdź to pomiarem, tak jak resztę: odrzuć zgodę i zobacz, co się odpala.
Co jeszcze przybyło i co jest w drodze
Od wersji 1.186.0 Site Kit ma też dostawcę zdarzeń zaangażowania, który działa na wszystkich stronach: od 1.187.0 wysyła kliknięcia paginacji i zdarzenia osadzonych filmów, a od 1.188.0 kliknięcia linków wychodzących i kontaktowych (outbound_link_click, contact_link_click). W kodzie są opisane jako zdarzenia zaangażowania, nie konwersje. Jeśli podobne rzeczy mierzysz już pomiarem zaawansowanym GA4 albo własnymi tagami, w raportach pojawią się równoległe zdarzenia pod innymi nazwami.
W kodzie czeka też funkcja za flagą gtagUserData: dołączanie do zakupu danych klienta z zamówienia (e-mail, telefon, imię i nazwisko, adres rozliczeniowy) na potrzeby konwersji rozszerzonych. Flaga oznacza, że nie jest to jeszcze dostępne dla wszystkich. Wydania wychodzą co dwa tygodnie, więc notatki warto czytać przed aktualizacją, a nie po niej.
Co zrobić w najbliższym tygodniu
- Sprawdź, czy sklep ma Site Kit i czy pomiar jest włączony: Site Kit > Settings > Connected Services > Analytics albo Ads > Edit > Plugin conversion tracking. Przełącznik jest wspólny dla obu usług.
- Ustal, kto wstawia tag GA4: Site Kit, Tag Manager czy oba. W źródle strony poszukaj ciągu
googlesitekit. - Złóż zamówienie testowe z włączonym DebugView w GA4. Policz zdarzenia
purchasei w każdym sprawdźevent_source,transaction_idivalue. Dwa zakupy z różnymi identyfikatorami to duplikat, którego GA4 nie sklei. - Porównaj
valuez zamówieniem w panelu: netto czy brutto, z dostawą czy bez. Zdecyduj, na jakiej bazie liczysz ROAS, i przelicz cel w strategii stawek na tę samą bazę. - W Google Ads otwórz listę konwersji i policz działania zakupu oznaczone jako główne. Ma zostać jedno.
- Odrzuć zgodę na banerze i sprawdź w narzędziach przeglądarki, czy mimo to wychodzą żądania
collectdo Google Analytics. - Zostaw jedną ścieżkę wysyłki zakupu. Jeśli masz pełny pomiar e-commerce w Tag Managerze, wyłącz plugin conversion tracking w Site Kit. Jeśli Site Kit jest Twoim jedynym pomiarem, zostaw go, ale licz z poprawką na wartość brutto i brak statusu płatności. Zrób to teraz, nie w listopadzie: każda zmiana źródła konwersji zmienia dane, na których uczy się strategia stawek.
Jeśli chcesz sprawdzić, co naprawdę trafia z Twojego sklepu do GA4 i Google Ads i od czego liczony jest Twój ROAS, porozmawiajmy.

Marcin Janczewski
IT & e-commerce · Pro1.pl
Współzałożyciel Pro1.pl i DrTusz.pl. Z branżą ecommerce związany jest ponad 20 lat. Swoją karierę rozpoczynał od własnego sklepu internetowego z asortymentem do drukarek, który z sukcesami prowadzi do dziś. Obecnie DrTusz.pl jest nie tylko wiodącym ecommercem w branży, ale także marką samą w sobie, kojarzoną z najwyższym poziomem marketingu. Wspiera sklepy internetowe na każdym etapie ich rozwoju, od momentu wejścia w sprzedaż online po budowanie i optymalizację procesów. Programista z wykształcenia, marketer i sprzedawca z pasji.
Czytaj też
W USA Przegląd od AI przykrył 82% zapytań o markę w jeden miesiąc. Zanim dotrze do Polski, zmierz, ile klikają zapytania o Twój sklep
We wrześniu Google w USA postawił Przegląd od AI nad większością zapytań o nazwy marek: DemandSphere mierzy wzrost z 26% do 82%, Ahrefs z 65% do 83%. Google nic nie ogłosił. W naszym sprawdzeniu 15 zapytań o polskie sklepy Przegląd pojawił się raz. To jest moment, żeby zmierzyć, ile klikają zapytania o Twój sklep, bo za kilka tygodni nie będzie z czym porównać.
Niemiecka kancelaria wzywa sklepy za piksel śledzący w newsletterze. Ten sam przepis stoi w polskiej ustawie, a open rate i tak kłamie od pięciu lat
Frankfurcka kancelaria Cyfire wysyła sklepom wezwania za śledzenie otwarć newslettera bez osobnej zgody, a francuski CNIL od kwietnia mówi wprost, że piksel w e-mailu wymaga zgody. Polska ustawa ma ten sam przepis w art. 399 PKE. Pokazuję, co piksel naprawdę robi, dlaczego open rate od czasu Apple Mail Privacy Protection i tak nie jest miarą, i co ustawić w narzędziu do wysyłek, zanim wyjdzie pierwsza kampania sezonu.
Clarity pozwala wpisać, jak klienci nazywają Twój sklep. Bez odmian i literówek podział zapytań AI na markowe i ogólne jest fałszywy
Microsoft Clarity od 29 września pozwala samodzielnie określić, które zapytania systemów AI dotyczą Twojej marki. To ważne, bo panel liczy udział w cytowaniach osobno dla zapytań markowych i ogólnych, a polska odmiana przez przypadki, literówki i stare nazwy sklepu do tej pory wpadały do worka „ogólne”. Pokazuję, co wpisać, czego nie wpisywać i jak potem czytać dwie liczby zamiast jednej.