Zakupy ze sklepu do GA4 i TikToka z serwera: co się wysyła, jak włączyć i czego nie oczekiwać
Jak wysyłać opłacone zamówienia ze sklepu do Google Analytics 4 (Measurement Protocol) i TikToka (Events API) z serwera: połączenie kluczem, przełącznik i ograniczenia.
Spis treści
Zakupy do GA4 i TikToka z serwera to te same opłacone zamówienia, które sklep wysyła do Mety, przekazane także do Google Analytics 4 i do TikToka. Bez dodatkowego kodu w sklepie, bez tagów i bez ryzyka, że zakup zginie, bo klient zamknął kartę przed stroną podziękowania. Poniżej: co dokładnie jest wysyłane, jak to włączyć i czego taka wysyłka nie załatwi.
Po co wysyłać zakupy do GA4 i TikToka z serwera?
Zakup wysłany z serwera nie zależy od przeglądarki klienta. Skrypt na stronie podziękowania nie zadziała, gdy klient ma blokadę reklam, nie zgodził się na pliki cookies albo zapłacił w bramce i nie wrócił do sklepu. Serwer widzi każde opłacone zamówienie, więc przekazuje je niezależnie od tego, co stało się w przeglądarce.
Dla każdej platformy daje to coś innego:
- GA4 dostaje transakcję z numerem zamówienia, wartością i produktami. Przychód w raportach zbliża się do tego, co jest w sklepie.
- TikTok dostaje zdarzenie zakupu, którego potrzebuje do mierzenia i optymalizacji kampanii, także wtedy, gdy piksel w przeglądarce nie zadziałał.
To ta sama zasada, którą opisujemy w artykule o Shoperze i Meta Conversions API: zakup potwierdza serwer, który widzi zapłatę, a nie publiczny skrypt.
Co dokładnie dostaje GA4?
GA4 dostaje przez Measurement Protocol zdarzenie purchase z identyfikatorem transakcji równym numerowi zamówienia, wartością, walutą i listą produktów (identyfikatory z katalogu, ilość 1), a gdy znamy e-mail, także jego skrót SHA-256 jako dane podane przez użytkownika. Zgoda jest oznaczona jako udzielona, bo zakup przechodzi tylko z potwierdzoną podstawą prawną.
| Pole w GA4 | Skąd | Uwagi |
|---|---|---|
transaction_id | Skądnumer zamówienia ze sklepu | UwagiGA4 rozpozna powtórzoną transakcję |
value, currency | Skądwartość i waluta zakupu | Uwagizakup bez waluty jest odrzucany jako błąd |
items | Skądidentyfikatory produktów z zamówienia | Uwagiten sam identyfikator katalogu, który wybierasz w połączeniu ze sklepem |
user_data | Skądzahashowany e-mail | Uwagitylko gdy zamówienie ma e-mail |
client_id | Skądwyliczony z zamówienia | Uwaginie z przeglądarki, patrz niżej |
consent | Skądudzielona | Uwagiwysyłamy tylko zakupy z potwierdzoną podstawą prawną |
Najważniejsza rzecz do zrozumienia to client_id. GA4 wymaga go przy każdym zdarzeniu. Zwykle pochodzi z ciasteczka w przeglądarce i łączy zdarzenie z wizytą, a przez wizytę ze źródłem ruchu. Zakup z serwera takiej wizyty nie zna, więc Basketly wylicza stały identyfikator z numeru zamówienia. Skutek: GA4 policzy przychód i transakcje, ale nie przypisze ich do kampanii ani źródła ruchu. Jeśli chcesz w GA4 widzieć źródło zakupów, potrzebujesz zakupów z przeglądarki.
Druga granica: GA4 przyjmuje przez Measurement Protocol zdarzenia najwyżej 3 dni wstecz. Starszy zakup kończy się błędem „GA4 przyjmuje zdarzenia najwyżej 3 dni wstecz” i nie jest ponawiany. Google podaje też, że Measurement Protocol odpowiada kodem 2xx, nawet gdy dane są błędne, więc pierwsze zakupy warto zobaczyć w raportach GA4.
Co dokładnie dostaje TikTok?
TikTok dostaje przez Events API zdarzenie CompletePayment z tym samym identyfikatorem zdarzenia, którego używa zakup ze sklepu, z wartością, walutą i produktami. Do dopasowania osoby wysyłamy zahashowany e-mail, zewnętrzny identyfikator, a gdy skrypt sklepu je zebrał, adres IP i przeglądarkę klienta oraz adres strony.
Ten sam identyfikator zdarzenia ma znaczenie, jeśli w sklepie działa też piksel TikToka. TikTok rozpozna wtedy parę piksel + serwer jako jeden zakup, o ile piksel wysyła zakup z tym samym identyfikatorem. Jeśli Twój piksel ustawia własny identyfikator, zakup może się policzyć podwójnie, tak samo jak przy Mecie; mechanizm opisujemy w tekście o deduplikacji zdarzeń Pixela i CAPI.
Token TikToka jest sprawdzany przy zapisie: Basketly pobiera listę pikseli konta reklamowego i szuka na niej Twojego kodu piksela. Gdy TikTok później odrzuci token, wysyłka kończy się czytelnym błędem „TikTok odrzucił token. Zapisz integrację z nowym tokenem.”
Jak działa kolejka i ponawianie?
Każdy zakup trafia do osobnej kolejki dla GA4 i TikToka, obok kolejki do Mety. Jeden zakup idzie do jednej integracji najwyżej raz, bo kolejka pilnuje identyfikatora zdarzenia. Błędy sieci, limity i awarie platformy są ponawiane z coraz dłuższymi przerwami, najwyżej 6 prób. Odrzucony klucz czy zbyt stare zdarzenie to błąd bez ponawiania.
Kilka zasad, które warto znać:
- Wysyłka zależy od tego samego przełącznika serwera co Meta. Gdy w górnym pasku widzisz „Wysyłka wyłączona”, zakupy czekają w kolejce jako oczekujące.
- Tylko nowe zakupy. Włączenie przełącznika nie wysyła zakupów z przeszłości. Wyłączenie zatrzymuje kolejne.
- Dane klienta w kolejce są usuwane razem z danymi zdarzenia, zgodnie z okresem przechowywania zdarzeń.
- Zakup nie potrzebuje przepływu do Mety, jeśli bierze go GA4 albo TikTok. Możesz wysyłać tylko do GA4, jeśli tak wolisz.
Stan każdej wysyłki widać w bilansie zakupów: przyjęte, błędy i oczekujące dla każdej integracji, dzień po dniu, z najczęstszymi powodami błędów.
Jak to wygląda w Basketly?
W Basketly wszystko robisz w dwóch miejscach: połączenie w Integracjach, a wysyłkę w Konwersjach. Klucz zapisujesz raz i nie zobaczysz go już w panelu; przy edycji puste pole zostawia zapisany klucz. Każdej integracji możesz połączyć najwyżej 5 kont.
Krok 1. Połącz GA4. Menu Konfiguracja → Integracje, zakładka Przegląd, kafelek Google Analytics 4 → Połącz. Wpisz identyfikator pomiaru (G-…) i klucz Measurement Protocol. Klucz znajdziesz w GA4: Administracja → Strumienie danych → Klucze API Measurement Protocol. Połączenie zapisze się jako „Zapisane, niesprawdzone”, bo Google nie potwierdza klucza z góry.
Krok 2. Połącz TikToka. Kafelek TikTok → Połącz. Wpisz ID konta reklamowego, kod piksela i token dostępu (TikTok Ads Manager → Zasoby → Zdarzenia → piksel → Ustawienia). Po zapisie zobaczysz „Działa” albo błąd z powodem podanym przez TikToka.
Krok 3. Włącz wysyłkę. Menu Konfiguracja → Konwersje, sekcja Inne platformy. Przy każdej połączonej integracji jest przełącznik „Wysyłaj zakupy”. Do jego zmiany potrzebne jest prawo edycji Konwersji (domyślnie właściciel i administrator).
Krok 4. Sprawdź. Po pierwszych zamówieniach zajrzyj do bilansu na tej samej stronie, potem do raportów GA4 i Menedżera zdarzeń TikToka.
Jeśli dopiero zaczynasz łączyć sklep z platformami, kolejność kroków opisujemy w tekście integracje sklepu: od czego zacząć.
Czy to zastępuje tag GA4 i piksel TikToka w sklepie?
Nie. Wysyłka z serwera uzupełnia tagi w przeglądarce, a nie je zastępuje. Tag GA4 mierzy wizyty, źródła ruchu, oglądane strony i ścieżkę do zakupu. Piksel TikToka zbiera zdarzenia przed zakupem i identyfikatory kliknięć. Serwer dorzuca pewny zakup, którego przeglądarka mogła nie przekazać.
| Potrzeba | Tag w przeglądarce | Zakup z serwera |
|---|---|---|
| Źródło ruchu i kampania w GA4 | Tag w przeglądarcetak | Zakup z serweranie |
| Zakup, gdy klient nie wrócił ze strony płatności | Tag w przeglądarcenie zawsze | Zakup z serweratak |
| Zakup bez zgody na cookies marketingowe | Tag w przeglądarcenie | Zakup z serwerazależy od podstawy prawnej sklepu |
| Zdarzenia przed zakupem (oglądanie, koszyk) | Tag w przeglądarcetak | Zakup z serweranie |
W wierszu o zgodzie jest „zależy” celowo. To, czy wolno Ci przekazać dane zamówienia do Google i TikToka, wynika z podstawy prawnej Twojego sklepu, a nie z technologii. Ogólne zasady opisujemy w tekście o RODO i Conversions API (to nie jest porada prawna).
Ograniczenia
- GA4 nie łączy zakupu z sesją w przeglądarce. Przychód się zgadza, źródło ruchu nie jest znane.
- GA4: najwyżej 3 dni wstecz, a odpowiedź 2xx nie potwierdza poprawności danych.
- Tylko zakupy. Oglądanie produktów, koszyk i rozpoczęte zamówienia nie idą do GA4 ani TikToka z serwera.
- Tylko nowe zakupy od włączenia przełącznika, bez wysyłki wstecz.
- Pinterest, Klaviyo, Google Ads i Microsoft Ads dostają zakupy tym samym przełącznikiem. Pinterest jako checkout (Conversions API), Klaviyo jako Placed Order — tylko zakupy z e-mailem, bez zapisywania kogokolwiek na newsletter; Google Ads i Microsoft Ads tylko zakupy z kliknięć swoich reklam (identyfikator kliknięcia, w Google Ads także e-mail przy konwersjach rozszerzonych).
- Produkty idą z ilością 1 dla każdego identyfikatora z zamówienia.
- Przyjęte to potwierdzenie odbioru, a nie dowód optymalizacji kampanii ani przypisania zakupu do reklamy.
Następny krok
Połącz GA4 w Integracjach, włącz „Wysyłaj zakupy” w Konwersjach i po dniu porównaj przychód w GA4 z kafelkiem zamówień w bilansie. Opis całej części konwersji znajdziesz na stronie Konwersje, a listę wszystkich połączeń na stronie Integracje.
O autorze
Aleksander
Założyciel Basketly.io, BooksyAudit.pl i SMSPortal.app
Założył Basketly.io, BooksyAudit.pl i SMSPortal.app. W bazie wiedzy opisuje, jak przekazywać do Meta zakupy ze sklepu, jak dbać o katalog produktów i jak liczyć koszt zakupu z reklam.
Wszystkie artykuły autoraNajczęściej zadawane pytania
Czy GA4 pokaże, z jakiej kampanii przyszedł zakup wysłany z serwera?
Nie. Zakup z serwera nie ma sesji przeglądarki, z którą GA4 mógłby go połączyć, dlatego Basketly tworzy identyfikator klienta z numeru zamówienia. GA4 policzy transakcję i przychód, ale nie przypisze ich do źródła ruchu ani kampanii.
Czy TikTok policzy zakup dwa razy, jeśli w sklepie działa też piksel TikToka?
Nie powinien, o ile piksel wysyła zakup z tym samym identyfikatorem zdarzenia. Basketly wysyła CompletePayment z identyfikatorem zakupu ze sklepu, a TikTok deduplikuje zdarzenia piksela i serwera po tym identyfikatorze.
Czy Basketly wyśle do GA4 zakupy z ostatniego miesiąca?
Nie. Wysyłka obejmuje nowe zakupy od chwili włączenia przełącznika, nic nie jest wysyłane wstecz. Dodatkowo GA4 przyjmuje przez Measurement Protocol zdarzenia najwyżej 3 dni wstecz, więc starszy zakup kończy się błędem.
Dlaczego GA4 jest „Zapisane, niesprawdzone”?
Google nie daje sposobu, żeby z góry potwierdzić klucz Measurement Protocol. Basketly sprawdza poprawny format identyfikatora pomiaru i zapisuje połączenie bez sprawdzenia. TikTok sprawdzamy od razu na liście pikseli konta reklamowego.
Czy Pinterest też dostaje zakupy?
Tak. Po połączeniu Pinteresta kluczem i włączeniu „Wysyłaj zakupy” zakup idzie przez Pinterest Conversions API jako checkout z tym samym identyfikatorem zdarzenia co tag Pinteresta. Tak samo działa Klaviyo (zdarzenie Placed Order, tylko zakupy z e-mailem). Google Ads i Microsoft Ads łączysz logowaniem i dostają tylko zakupy z kliknięć swoich reklam, więc razem Basketly wysyła zakupy do siedmiu platform.
