- Server-side tracking wysyła zdarzenia konwersji, takie jak zakupy, z serwera do API platformy reklamowej, a nie tylko z piksela w przeglądarce.
- Gdy zakup jest wysyłany z danych zamówienia w twoim sklepie, blokery reklam i strona z podziękowaniem, która nigdy się nie ładuje, nie powodują już gubienia sprzedaży.
- Przeglądarka jest nadal potrzebna do zapisania click id na stronie docelowej, a piksel może działać obok serwera z tym samym event_id, dzięki czemu każdy zakup liczy się raz.
- Server-side tagging, na przykład kontener serwerowy Google Tag Manager, nadal wychodzi od zdarzeń z przeglądarki, więc nie odzyska zakupów, których przeglądarka nigdy nie wysłała.
- Server-side tracking nie jest sposobem na obejście zgody: przepisy o prywatności dotyczą danych niezależnie od drogi, jaką przechodzą.
Server-side tracking oznacza, że zdarzenia konwersji, takie jak zakup, są wysyłane do platform reklamowych z serwera, a nie tylko ze skryptu w przeglądarce kupującego. W sklepie internetowym serwer wysyła każde zamówienie do Meta, TikToka lub Google przez ich API, więc sprzedaż jest raportowana nawet wtedy, gdy piksel w przeglądarce jest zablokowany albo w ogóle się nie ładuje.
Ten poradnik wyjaśnia różnicę między pikselem w przeglądarce a server-side trackingiem, śledzi dane od kliknięcia w reklamę do platformy reklamowej i pokazuje, co zawiera zdarzenie server-side. Omawia też deduplikację, server-side tagging, zgody oraz to, jak sprawdzić, czy twój sklep tego potrzebuje. Samą konfigurację w Shopify opisuje tekst server-side tracking w Shopify.
Piksel w przeglądarce a server-side tracking
Piksel w przeglądarce to fragment JavaScriptu od platformy reklamowej. Działa na twoich stronach i wysyła zdarzenia z urządzenia kupującego prosto do platformy: wyświetlenie strony, dodanie do koszyka, zakup na stronie z podziękowaniem. Działa tylko wtedy, gdy skrypt się załaduje, uruchomi i dotrze do platformy, zanim kupujący opuści stronę.
Server-side tracking przenosi wysyłanie na serwer. Zdarzenie może wychodzić z danych, które twój sklep już ma, takich jak opłacone zamówienie, a serwer wysyła je do API platformy. Meta nazywa to API Conversions API, a TikTok Events API. Google Ads używa enhanced conversions, które dodają do konwersji zahashowane dane klienta.
- Działa w przeglądarce kupującego
- Wysyła zdarzenia bezpośrednio do platformy reklamowej
- Ustawia i odczytuje cookie first-party, takie jak _fbp dla Meta
- Nie wysyła nic, gdy skrypt jest zablokowany albo strona się nie ładuje
- Działa na serwerze, który kontrolujesz ty lub dostawca usługi
- Wysyła zdarzenia do API platformy
- Może wychodzić z rekordu zamówienia w twoim sklepie
- Nie zależy od załadowania strony z podziękowaniem
Uruchomienie obu metod daje platformie najpełniejsze dane. Zdarzenie z przeglądarki dodaje cookie i kontekst strony. Zdarzenie z serwera dociera nawet wtedy, gdy przeglądarka zawiedzie. Wspólny event id sprawia, że platforma liczy każdy zakup tylko raz.
Jak działa server-side tracking?
Server-side tracking w sklepie internetowym ma dwie połowy. Pierwsza dzieje się w przeglądarce: gdy kupujący trafia z reklamy na stronę, skrypt zapisuje click id z adresu URL. Druga dzieje się na serwerze: gdy zamówienie zostanie opłacone, serwer łączy to click id z zamówieniem i wysyła zakup.
Przechwytywanie kliknięcia
Platformy reklamowe dodają do adresu strony docelowej click id: fbclid w Meta, ttclid w TikToku, gclid w Google Ads i msclkid w Microsoft Ads. Click id to najsilniejsze powiązanie między sprzedażą a reklamą, która ją wywołała, dlatego trzeba je zapisać już przy pierwszym wyświetleniu strony. Parametry UTM dodają nazwy kampanii, zestawu reklam i reklamy w formacie, który sam kontrolujesz.
Dopasowanie zamówienia
Następnie serwer musi wiedzieć, który odwiedzający złożył zamówienie. Najpewniejsze powiązanie to wartość, która wędruje z koszykiem do zamówienia, na przykład visitor id zapisany w koszyku. Inne metody są słabsze: adres e-mail, który odwiedzający wpisał wcześniej na stronie, albo ten sam adres IP i ta sama przeglądarka widziane krótko przed zamówieniem. Każda platforma sklepowa daje inne możliwości. Nasz poradnik o innych sklepach internetowych wymienia metody, których ROASaurus używa na poszczególnych platformach.
Wysłanie zdarzenia
Na końcu serwer wysyła zakup do API każdej platformy. Zdarzenie zawiera wartość zamówienia, click id oraz dane klienta, które pomagają platformie znaleźć osobę, która kliknęła. Jeśli platforma nie działa albo zwraca błąd, dobra konfiguracja ponawia próbę później, żeby zakup nie zginął.
Co zawiera zdarzenie server-side?
Każda platforma ma własne nazwy pól, ale zdarzenie zakupu wszędzie niesie te same rodzaje danych. Oto skrócony przykład dla Meta Conversions API:
{
"data": [{
"event_name": "Purchase",
"event_time": 1793009700,
"event_id": "order-1042",
"action_source": "website",
"event_source_url": "https://yourstore.com/checkout/thank-you",
"user_data": {
"em": ["8c87b489ce35cf2e2f39f80e282cb2e804932a56a213983eeeb428407d43b52d"],
"ph": ["6d420c869d4eb97fe7de4576c9d04bb34d1a5788e0b3a657f61d7be020d8ead0"],
"client_ip_address": "203.0.113.24",
"client_user_agent": "Mozilla/5.0 (iPhone; CPU iPhone OS 18_6 like Mac OS X) ...",
"fbc": "fb.1.1792832531000.IwAR2xExampleClickId",
"fbp": "fb.1.1792832529000.1234567890"
},
"custom_data": { "currency": "USD", "value": 84.00 }
}]
}| Pole | Co to jest | Zahashowane? |
|---|---|---|
| Nazwa i czas zdarzenia | Purchase oraz moment złożenia zamówienia | Nie |
| Wartość i waluta | Wartość zamówienia, której platforma używa do ROAS i ustalania stawek opartego na wartości | Nie |
event_id | Unikalny id na zdarzenie, taki sam w przeglądarce i na serwerze, służący do deduplikacji | Nie |
| E-mail, telefon, imię i nazwisko, adres | Dane klienta z zamówienia, znormalizowane i zahashowane algorytmem SHA-256 | Tak |
| Click id (fbc, ttclid, gclid) | Id z kliknięcia w reklamę, zapisane po wejściu kupującego na stronę | Nie |
| Adres IP i user agent | Pomagają platformie dopasować zdarzenie do urządzenia | Nie |
Hashowanie zamienia adres e-mail w ciąg znaków o stałej długości. Ten sam adres zawsze daje ten sam ciąg, ale ciąg nie ujawnia adresu. Platforma używa zahashowanych wartości tylko do szukania dopasowania wśród własnych użytkowników. Dzięki temu zakup można dopasować do osoby, która zobaczyła reklamę lub w nią kliknęła, nawet gdy przeglądarka tej osoby zablokowała piksel.
Jak działa deduplikacja?
Gdy piksel i serwer wysyłają ten sam zakup, platforma musi policzyć go raz. Obie kopie mają tę samą nazwę zdarzenia i ten sam event id, na przykład order-1042. Meta porównuje parę i zachowuje jedną kopię, o ile druga kopia dotrze w ciągu 48 godzin od pierwszej.
Purchase event_id=order-1042 browserOdebrano z pikselaPurchase event_id=order-1042 serverTa sama nazwa i id: policzone razPurchase event_id=order-1043 serverPiksel został zablokowany: kopia z serwera jest jedynąPurchase event_id=1044 serverPrzeglądarka wysłała order-1044: id się różnią, więc liczy się podwójnieWiększość podwójnego liczenia bierze się z dwóch nadawców, którzy nie współdzielą id. Typowy przypadek to własna aplikacja platformy sklepowej i osobne narzędzie do trackingu, które oba wysyłają zakupy z własnymi id. Nasz artykuł pomocy o zapobieganiu podwójnemu liczeniu wymienia typowe przyczyny i rozwiązania.
Server-side tagging a wysyłanie z danych zamówienia
Pojęcie server-side tracking oznacza dwie różne konfiguracje. Obie wysyłają zdarzenia z serwera, ale zaczynają się w różnych miejscach.
Server-side tagging, na przykład kontenery serwerowe Google Tag Manager
Przy server-side tagging przeglądarka wysyła swoje zdarzenia do twojego własnego serwera, a nie do każdego dostawcy osobno. Dobrze znanym przykładem jest kontener serwerowy Google Tag Manager. Działa w twoim własnym projekcie Google Cloud lub w innym środowisku, które wybierzesz. Odbiera żądania z przeglądarki, a jego tagi przekazują dane do Google Analytics, Meta i innych dostawców. Ty decydujesz, jakie dane trafiają dokąd, a serwer może działać na subdomenie twojej strony.
Zdarzenia nadal zaczynają się w przeglądarce. Jeśli tag w przeglądarce jest zablokowany albo strona z podziękowaniem nigdy się nie ładuje, kontener serwerowy nie ma czego przekazać. Serwer musisz też sam uruchamiać, opłacać i aktualizować.
Wysyłanie z danych zamówienia
Drugie podejście zaczyna zakup od rekordu zamówienia w twoim sklepie. Sklep zgłasza opłacone zamówienie do serwera przez webhook lub API, a serwer wysyła je do każdej połączonej platformy. Przeglądarka jest potrzebna tylko wcześniej, żeby zapisać click id, gdy kupujący wejdzie na stronę.
| Server-side tagging | Wysyłanie z danych zamówienia | |
|---|---|---|
| Skąd zaczyna się zakup | Tag w przeglądarce | Opłacone zamówienie w twoim sklepie |
| Strona z podziękowaniem zamknięta za wcześnie | Zakup utracony | Zakup wysłany |
| Tag zablokowany w przeglądarce | Zakup utracony, chyba że przejdzie endpoint first-party | Zakup wysłany |
| Płatność za pobraniem i zewnętrzne strony płatności | Zależy od strony z podziękowaniem | Wysyłane, gdy zamówienie zostanie utworzone lub opłacone |
| Zdarzenia przeglądania (wyświetlenia stron, dodanie do koszyka) | Tak | Wymaga osobnego kolektora w przeglądarce |
| Kto prowadzi serwer | Ty: hosting i aktualizacje | Ty albo dostawca usługi |
Oba podejścia można łączyć. Wiele sklepów zbiera wyświetlenia stron i dodania do koszyka w przeglądarce, a zakup wysyła z danych zamówienia. Zakup to zdarzenie, którego platformy reklamowe używają do raportowania ROAS i optymalizacji ustalania stawek, więc to właśnie ono najbardziej musi być kompletne.
Co server-side tracking naprawia, a czego nie naprawia?
- Zakupy utracone, bo bloker reklam zatrzymał piksel
- Zakupy utracone, bo strona z podziękowaniem się nie załadowała
- Zakupy z metod płatności, które kończą się poza twoją stroną
- Słabe dopasowanie, przez dodanie zahashowanych danych klienta do każdego zdarzenia
- Zgody: odwiedzający, który odmówił, nadal jest odwiedzającym, który odmówił
- Różnych okien atrybucji i modeli na każdej platformie
- Zduplikowanych nadawców, którzy używają różnych event id
- Click id, które nigdy nie zostały zapisane na stronie docelowej
Zgoda nadal obowiązuje
Server-side tracking to sposób dostarczania danych, a nie sposób na obejście przepisów o prywatności. Tam, gdzie prawo wymaga zgody na marketingowe cookie lub tracking, ten wymóg obejmuje dane, które zbierasz, niezależnie od drogi, jaką trafiają do platformy. Przeniesienie trackera na twój serwer nie zmienia tego, na co zgodził się odwiedzający.
Atrybucja nadal zależy od platformy
Każda platforma nadal przypisuje zakupy według własnych okien i zasad. Zdarzenia server-side dają każdej platformie lepsze dane, ale sumy z Meta, TikTok i Google nadal mogą być większe niż przychód twojego sklepu. Aby porównywać kanały według jednego zestawu zasad, użyj jednego modelu atrybucji dla wszystkich, takiego jak modele w atrybucji ROASaurus.
Czy twój sklep potrzebuje server-side trackingu?
Sklep, który wydaje znaczący budżet na płatne reklamy w social mediach lub w wyszukiwarce, zwykle na tym korzysta. Argumenty są najmocniejsze, gdy prawdziwych jest kilka z poniższych punktów:
- Platforma reklamowa dostaje wyraźnie mniej zdarzeń zakupu, niż twój sklep ma zamówień internetowych. Nasz poradnik o blokerach reklam i trackingu pokazuje, jak zmierzyć tę lukę.
- Wielu twoich odwiedzających używa Safari na iPhonie lub Macu, gdzie cookie ustawiane przez skrypty trwają najwyżej 7 dni. Zobacz Safari ITP a tracking reklam.
- Kupujący często kupują dni po pierwszym kliknięciu w reklamę.
- Płatność kończy się poza twoją stroną albo zamówienia są opłacane później, jak przy płatności za pobraniem lub przelewie bankowym.
- Optymalizujesz kampanie pod zakupy lub wartość zakupów, więc platforma potrzebuje każdej sprzedaży, żeby się na niej uczyć.
Oto jak luka zmienia decyzje w praktyce. Przykładowy sklep ma w miesiącu 1,000 zamówień internetowych. Jego piksel Meta zgłosił 820 zdarzeń Purchase, więc 18% zamówień nigdy nie dotarło do Meta z przeglądarki.
ROAS progu rentowności sklepu wynosi 2.5, a Ads Manager pokazuje ROAS 2.3 na danych z piksela. Przy takich liczbach kampanie tracą pieniądze. Gdyby zamówienia z reklam były pomijane w tym samym odsetku 18%, prawdziwy ROAS wynosi około 2.3 ÷ 0.82 = 2.8, czyli więcej niż próg rentowności. To szacunek górny, bo nie każde brakujące zamówienie pochodziło z reklamy. Mimo to pokazuje, jak luka w trackingu może sprawić, że rentowna kampania wygląda na stratną.
Server-side tracking ma mniejsze znaczenie dla sklepu, który się nie reklamuje albo wydaje na reklamy bardzo mało.
Jak ROASaurus wysyła zdarzenia server-side
ROASaurus przechwytuje na stronie docelowej 19 click id i sześć pól UTM i zapisuje je razem z first-party visitor id. Wysyła każdy zakup z opłaconych zamówień twojego sklepu do Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn, OpenAI Ads, Spotify, AppLovin, Criteo, AdRoll i Outbrain. W Shopify konwersje Google Ads są wysyłane z checkoutu Shopify. Piksele w przeglądarce mogą działać obok zdarzeń z serwera z tym samym event id, a Meta, TikTok, Snapchat, Pinterest, Reddit, OpenAI Ads, AppLovin i Spotify je deduplikują. Każda wysyłka i odpowiedź platformy są wymienione w Event log.
Przeczytaj więcej na stronie server-side tracking albo znajdź swój sklep internetowy na stronie integracji.
Źródła
- Meta for Developers: Conversions API
- Meta for Developers: Handling Duplicate Pixel and Conversions API Events
- Meta for Developers: Customer Information Parameters
- Google for Developers: An introduction to server-side tagging
- Google Ads Help: About enhanced conversions