Platformy reklamowe i sklepy internetowe

TikTok Events API dla Shopify: konfiguracja i deduplikacja

TikTok Events API wysyła zakupy ze Shopify do TikToka z twojego serwera. Poznaj zdarzenia, ttclid i _ttp, deduplikację przez event_id i testowanie.

·Zaktualizowano ·10 min czytania·Autor: zespół ROASaurus

Najważniejsze wnioski
  • TikTok Events API wysyła zdarzenia konwersji z serwera do TikTok, więc zakup nie zależy od działania piksela TikTok w przeglądarce kupującego.
  • TikTok zmienił nazwę CompletePayment na Purchase, ale nadal akceptuje starą nazwę; dla deduplikacji piksel i serwer muszą używać tej samej nazwy.
  • TikTok deduplikuje zdarzenie z piksela i zdarzenie z serwera, gdy oba mają tę samą nazwę zdarzenia i ten sam event_id, i zapisuje pierwszą otrzymaną kopię.
  • Click id ttclid, cookie _ttp, zahashowany e-mail i telefon, adres IP oraz user agent to klucze, których TikTok używa do dopasowania zdarzenia do osoby.
  • Najpierw testuj z kodem zdarzenia testowego i odłącz piksel w każdej innej aplikacji, która go wysyła, bo inaczej TikTok liczy zakupy dwa razy.

TikTok Events API to połączenie TikTok z serwera na serwer dla danych o konwersjach. Zamiast polegać tylko na pikselu TikTok w przeglądarce kupującego, twój sklep lub narzędzie takie jak ROASaurus wysyła zdarzenia, na przykład zakupy, prosto do TikTok. TikTok zaleca uruchamianie Events API obok piksela i deduplikowanie obu za pomocą wspólnego event_id.

Ten poradnik opisuje, co Events API wysyła ze sklepu Shopify, nazwy zdarzeń Purchase i CompletePayment, click id i cookie, po których TikTok dopasowuje zdarzenia, jak działa deduplikacja, jak testować w TikTok Events Manager i jak to wszystko skonfigurować w ROASaurus.

Czym jest TikTok Events API?

Piksel TikTok to skrypt w twoim sklepie. Wysyła zdarzenia z przeglądarki kupującego, więc liczy tylko to, co dzieje się, gdy skrypt się ładuje i działa. Zatrzymać go może bloker reklam, błąd skryptu albo kupujący, który zamknie kartę, zanim załaduje się potwierdzenie zamówienia.

Events API wysyła ten sam rodzaj zdarzeń z serwera. W Shopify najbardziej niezawodnym zapisem zakupu jest samo zamówienie. Shopify zgłasza każde opłacone zamówienie przez webhook, niezależnie od tego, czy skrypt w przeglądarce się uruchomił. Na tym polega idea server-side tracking w Shopify.

Te dwa rozwiązania nie wykluczają się. Rada TikTok jest taka, żeby udostępniać zdarzenia obiema drogami, utrzymywać ich spójność na całej ścieżce zakupowej i pozwolić TikTok usuwać duplikaty.

Piksel TikTok (przeglądarka)
  • Działa w przeglądarce kupującego
  • Mogą go zatrzymać blokery reklam i błędy skryptu
  • Domyślnie przekazuje adres IP i user agent
  • Wysyła wyświetlenia stron i zdarzenia przeglądania na bieżąco
Events API (serwer)
  • Działa na serwerze, na podstawie danych zamówień
  • Nie zależy od załadowania skryptu w przeglądarce
  • Nadawca musi dodać adres IP i user agent
  • Wysyła każde opłacone zamówienie, nawet gdy piksel się nie uruchomił
TikTok zaleca oba: piksel dla sygnałów z przeglądarki, Events API dla każdego zamówienia, z deduplikacją przez jeden event_id.

Jakie zdarzenia ROASaurus wysyła do TikTok?

Cztery momenty w sklepie Shopify mają znaczenie dla optymalizacji TikTok: wyświetlenie produktu, dodanie do koszyka, rozpoczęcie checkoutu i zakup. ROASaurus wysyła wszystkie cztery do Events API i uruchamia te same cztery przez piksel TikTok, z tymi samymi event id. Wyświetlenia stron idą tylko przez piksel.

Działanie kupującegoZdarzenie TikTokPiksel (przeglądarka)Events API (serwer)
Wyświetla stronęWyświetlenie stronyTakNie
Wyświetla produktViewContentTakTak
Dodaje do koszykaAddToCartTakTak
Rozpoczyna checkoutInitiateCheckoutTak, z pikselem checkoutuTak
Finalizuje zamówienieCompletePaymentTak, z pikselem checkoutuTak, z zamówienia
Każde zdarzenie wysyłane obiema drogami ma jeden event id, więc TikTok może zachować jedną kopię.

W ustawieniach piksela możesz odznaczyć zdarzenia server-side, których nie chcesz wysyłać, i dodać filtry, takie jak kraj lub minimalna wartość zamówienia.

Purchase czy CompletePayment?

TikTok zmienił nazwę swojego zdarzenia zakupu. Obecna nazwa to Purchase. Stara nazwa, CompletePayment, nadal działa: TikTok konwertuje starsze nazwy po swojej stronie, pokazuje je pod nową nazwą w raportowaniu, grupach odbiorców i optymalizacji oraz podaje, że CompletePayment będzie obsługiwane bezterminowo. TikTok prosi, aby nowe konfiguracje piksela używały Purchase.

ROASaurus wysyła CompletePayment, w pikselu i w Events API. W TikTok Events Manager i Ads Manager te zdarzenia są pokazywane jako Purchase. Dla deduplikacji liczy się to, że obie kopie zakupu używają tej samej nazwy zdarzenia, i tak właśnie jest.

Jak TikTok dopasowuje zdarzenie do kupującego?

Zdarzenie pomaga twoim kampaniom tylko wtedy, gdy TikTok może powiązać je z osobą, która zobaczyła reklamę lub w nią kliknęła. TikTok nazywa te identyfikatory match keys, a jego poradnik Events API prosi o przekazywanie wszystkich istotnych match keys, aby zwiększyć odsetek dopasowań. Events Manager pokazuje wynik jako Event Match Quality score, czyli średnią ważoną tego, jak często występuje każdy match key.

Match keySkąd pochodziWysyłane jako
ttclidClick id, które TikTok dodaje do adresu URL strony docelowej, gdy ktoś kliknie reklamęWartość bez zmian
_ttp cookieCookie first-party piksela TikTok w domenie twojego sklepuWartość bez zmian
E-mailZamówienie ShopifyHash SHA-256
TelefonZamówienie ShopifyHash SHA-256
external_idId klienta Shopify lub visitor id ROASaurusHash SHA-256
Adres IP i user agentSesja checkoutu kupującego lub zamówienieWartość bez zmian
TikTok prosi o zahashowanie e-maila, telefonu i external_id. Click id, cookie, adres IP i user agent są wysyłane bez zmian.

TikTok zaznacza, że piksel domyślnie przekazuje adres IP i user agent, ale w Events API trzeba je dodać ręcznie. ROASaurus pobiera je z sesji checkoutu kupującego albo z zamówienia, jeśli nie było sesji. Dwa inne klucze wymagają uwagi w Shopify.

ttclid: click id TikTok

Gdy kupujący kliknie reklamę TikTok, TikTok dodaje ttclid do adresu URL strony docelowej. Jeśli twój sklep nie zapisze go na tej pierwszej stronie, zniknie, zanim nadejdzie zamówienie, kilka stron później. ROASaurus odczytuje ttclid na stronie docelowej, zapisuje go razem z visitor id, zapisuje w koszyku Shopify i dodaje do zdarzenia server-side, gdy przychodzi zamówienie.

_ttp: cookie piksela

Cookie _ttp to cookie first-party, którego piksel TikTok używa w twojej domenie. ROASaurus odczytuje je w witrynie sklepu i w checkoucie i wysyła jako ttp w zdarzeniu server-side. To jeszcze jeden powód, żeby piksel działał obok Events API.

Przykład: zakup w takiej postaci, w jakiej ROASaurus wysyła go do Events API (hashe skrócone)
{
  "event_source": "web",
  "event_source_id": "CXXXXXXXXXXXXXXXXXXX",
  "data": [{
    "event": "CompletePayment",
    "event_time": 1793016000,
    "event_id": "order-5512345678901",
    "user": {
      "email": "a3f1…9c2e",
      "phone": "7b40…11d8",
      "external_id": "e05c…4a7f",
      "ttclid": "E.C.P.v3…",
      "ttp": "2Xb7…",
      "ip": "203.0.113.24",
      "user_agent": "Mozilla/5.0 (iPhone; …)"
    },
    "page": { "url": "https://example-store.com/checkouts/…/thank-you" },
    "properties": {
      "currency": "USD",
      "value": 84,
      "content_type": "product",
      "contents": [{ "content_id": "44123456789", "content_name": "Linen shirt", "quantity": 2, "price": 42 }],
      "order_id": "5512345678901"
    }
  }]
}

Jak działa deduplikacja?

Gdy piksel i Events API zgłaszają ten sam zakup, TikTok otrzymuje dwa zdarzenia dla jednego zamówienia. Aby zachować tylko jedno, TikTok potrzebuje, aby dwie wartości były identyczne w obu kopiach: nazwa zdarzenia i event_id. TikTok zapisuje wtedy pierwszą otrzymaną kopię na potrzeby pomiaru i raportowania, więc zamówienie liczy się raz. Działa to dla pasujących kopii, które docierają w ciągu 48 godzin od pierwszej.

ROASaurus buduje event id zakupu z id zamówienia Shopify. Zakup z zamówienia 5512345678901 ma event id order-5512345678901, w pikselu checkoutu i na serwerze. Zdarzenia witryny, takie jak wyświetlenia produktów i dodania do koszyka, dostają losowe id w chwili wystąpienia, a kopia z przeglądarki i kopia z serwera mają je wspólne.

Checkout zakończonyPiksel checkoutu uruchamia CompletePayment z event_id order-5512345678901.
Zamówienie opłaconeShopify wysyła opłacone zamówienie do ROASaurus przez webhook.
Events APIROASaurus wysyła CompletePayment z tym samym event_id i zahashowanymi danymi zamówienia.
TikTokTa sama nazwa i ten sam event_id: liczony jest jeden zakup.
Dwie kopie jednego zakupu docierają do TikTok. Wspólny event_id pozwala TikTok policzyć go raz.

Oto co to oznacza dla liczb. Weźmy przykładowy sklep z 200 zamówieniami w tygodniu. Piksel uruchamia się dla 150 z nich. Pozostałych 50 kupujących użyło blokera reklam, odrzuciło marketingowe cookie albo wyszło, zanim załadowała się strona potwierdzenia. Events API wysyła wszystkie 200.

Zdarzenia Purchase zapisane przez TikTok w ciągu tygodnia (przykładowy sklep, 200 zamówień)
Tylko piksel
150
Tylko Events API
200
Piksel i Events API, różne id
350
Piksel i Events API, wspólny event_id
200
Bez wspólnego event_id 150 zamówień jest liczonych dwa razy. Z nim TikTok zapisuje każde z 200 zamówień raz.

To 350 jest liczbą, która powinna niepokoić. Zawyżyłaby liczbę zakupów w TikTok i oparty na niej ROAS o 75% względem rzeczywistości, bo 350 ÷ 200 = 1.75. TikTok używa tych zdarzeń także do optymalizacji i targetowania, więc jego ustalanie stawek (bidding) uczyłoby się na 150 zakupach, które się nie wydarzyły.

Dlaczego zakupy są liczone dwa razy w Shopify?

Podwójne liczenie zdarza się, gdy TikTok otrzymuje dwie kopie zakupu, których nie może dopasować. Sprawdź te przyczyny, zanim zaufasz skokowi liczby zakupów w TikTok:

  • Dwa narzędzia wysyłają ten sam piksel. Aplikacja kanału sprzedaży TikTok w Shopify może też wysyłać zdarzenia dla twojego piksela. Jej event id nie zgadzają się z id używanymi przez ROASaurus, więc TikTok liczy każde zamówienie dwa razy. Odłącz piksel w tej aplikacji.
  • Piksel jest też w kodzie motywu. Fragment piksela wklejony do motywu wysyła własne zdarzenia bez twoich event id. Usuń go i pozwól, żeby piksel ładowało jedno narzędzie.
  • Jedna strona nie ma event_id. Zakupu z serwera bez event_id lub z nowym losowym id nie da się dopasować do kopii z piksela.
  • Nazwy zdarzeń się różnią. TikTok deduplikuje tylko identyczne zdarzenia. Obie kopie zakupu muszą używać tej samej nazwy zdarzenia.

Artykuł pomocy o podwójnym liczeniu przeprowadza przez te same kontrole dla Meta i pozostałych platform.

Jak przetestować Events API w TikTok Events Manager?

TikTok Events Manager ma kartę Test events zarówno dla zdarzeń z przeglądarki, jak i z serwera. Użyj jej, zanim zaczniesz polegać na danych:

  1. Skopiuj kod zdarzenia testowego

    W TikTok Events Manager otwórz swój piksel i przejdź do Test events. Skopiuj kod zdarzenia testowego.

  2. Wklej go w ROASaurus

    Otwórz Tracking & platforms, edytuj piksel TikTok i wklej kod w polu Test event code. Zdarzenia server-side będą go teraz zawierać.

  3. Złóż zamówienie testowe

    Wejdź do swojego sklepu, wyświetl produkt, dodaj go do koszyka i złóż zamówienie.

  4. Sprawdź obie strony

    W Test events przefiltruj zdarzenia z przeglądarki i z serwera. Zakup powinien być widoczny w obu. W ROASaurus Event log pokazuje każde dostarczenie z serwera jako wysłane lub nieudane.

  5. Usuń kod testowy

    Usuń kod zdarzenia testowego, gdy skończysz, aby twoje zdarzenia server-side na żywo nie były już wysyłane jako zdarzenia testowe.

TikTok może odpowiedzieć na żądanie HTTP 200 i mimo to odrzucić zdarzenie, z kodem błędu w treści odpowiedzi. ROASaurus odczytuje ten kod, więc odrzucone zdarzenie jest pokazywane w Event log jako nieudane, zamiast przechodzić bez echa.

Po dniu ruchu na żywo otwórz przegląd piksela w Events Manager. Wymienia on każde zdarzenie z metodą połączenia, wynikiem Event Match Quality i czasem ostatniego odbioru. Szczegóły zdarzenia zawierają informacje o dopasowaniu i deduplikacji, a Diagnostics wymienia problemy z jakością wraz ze wskazówkami, jak je naprawić.

Jak skonfigurować TikTok Events API w Shopify z ROASaurus

Potrzebujesz sklepu Shopify z aplikacją ROASaurus i dostępu do TikTok Events Manager. Strona integracji z TikTok wymienia wszystkie pola, które wysyła ROASaurus.

  1. Połącz swój sklep Shopify

    Przejdź do Add a store › Shopify, kliknij Install app i włącz osadzenie aplikacji ROASaurus w edytorze motywu. Osadzenie przechwytuje ttclid i cookie _ttp na każdej stronie. Poradnik konfiguracji Shopify pokazuje każdy krok.

  2. Dodaj piksel checkoutu

    W Shopify admin › Settings › Customer events dodaj własny piksel o nazwie ROASaurus i wklej fragment kodu ze strony Tracking & platforms. Uruchamia on piksel TikTok w checkoucie, w tym kopię zakupu z przeglądarki.

  3. Utwórz token dostępu

    W TikTok Events Manager otwórz swój piksel i wygeneruj w jego ustawieniach token dostępu do Events API. Skopiuj token i kod piksela.

  4. Dodaj piksel TikTok w ROASaurus

    Przejdź do Tracking & platforms, kliknij Add pixel na karcie TikTok i wypełnij Pixel code oraz Events API access token. Zostaw zaznaczone Also load the browser pixel (recommended, deduplicated), aby zdarzenia z przeglądarki i z serwera miały wspólne id.

  5. Dodaj wydatki (opcjonalnie)

    Wypełnij Advertiser ID for spend i Marketing API token. ROASaurus zaimportuje wtedy wydatki z TikTok, więc kampanie TikTok pokażą ROAS i CPA obok twoich pozostałych kanałów.

  6. Przetestuj, potem uruchom na żywo

    Wyślij zamówienie testowe z kodem zdarzenia testowego, jak opisano wyżej, a potem usuń kod.

Gdy Respect visitor consent jest włączone, co jest ustawieniem domyślnym, ROASaurus przestrzega wyboru kupującego w banerze cookie Shopify. Gdy kupujący odrzuci marketingowe cookie, ROASaurus nie ładuje dla niego piksela TikTok, nie ustawia visitor id, więc jego kliknięcia nie są z nim powiązane, i nie wysyła jego zdarzeń przeglądania do TikTok. Jego opłacone zamówienie jest nadal wysyłane z serwera do Events API, z zahashowanymi danymi zamówienia oraz adresem IP i user agent z zamówienia, ale bez ttclid i _ttp. Poradnik o zgodach i prywatności wyjaśnia, co jest zapisywane i wysyłane.

Gdy wydatki są zsynchronizowane, kampanie TikTok pojawiają się w raportach atrybucji obok Meta, a analityka kreacji dodaje statystyki wideo TikTok dla każdej reklamy. ROASaurus przypisuje zamówienia do zapisanych kliknięć w reklamy i UTM, a konwersje view-through liczy tylko jako modelowany szacunek w modelu Clicks & views, więc jego sumy zwykle różnią się od TikTok Ads Manager. O pozostałych platformach server-side przeczytasz w poradniku Pinterest Conversions API i poradniku Meta Conversions API.

Źródła

  1. TikTok For Business: About Events API
  2. TikTok Ads Manager: About Event Deduplication
  3. TikTok Ads Manager: How to Adopt TikTok's Updated Standard Events
  4. TikTok Ads Manager: How to set up matching events with Events API
  5. TikTok Ads Manager: About diagnostic and monitoring tools in TikTok Events Manager

W ROASaurus

Czytaj dalej

Platformy reklamowe i sklepy internetoweTracking konwersji przy płatności za pobraniem i zewnętrzne checkoutyTracking konwersji przy płatności za pobraniem: dlaczego piksele pomijają zamówienia COD i z zewnętrznych checkoutów, kiedy wysłać zakup i jak obsłużyć odrzucone zamówienia.Platformy reklamowe i sklepy internetoweTracking konwersji w CCV Shop: poradnik konfiguracjiTracking konwersji w CCV Shop: wysyłaj opłacone zamówienia do Meta i TikTok przez podpisany webhook, powiąż je z kliknięciami w reklamy, skonfiguruj, przetestuj i obsłuż opóźnione płatności.Platformy reklamowe i sklepy internetoweGoogle Ads enhanced conversions w ShopifyEnhanced conversions dodają zahashowane dane klientów do zakupów w Google Ads w Shopify. Jak działają, czym różnią się od importu offline i jak je skonfigurować.
FAQ

Pytania i odpowiedzi

Czy CompletePayment to to samo co Purchase w TikTok?

Tak. CompletePayment to starsza nazwa zdarzenia zakupu w TikTok. TikTok konwertuje ją po swojej stronie, pokazuje jako Purchase w raportowaniu i podaje, że nadal będzie obsługiwać starą nazwę.

Czy nadal potrzebuję piksela TikTok, jeśli używam Events API?

TikTok zaleca używanie obu. Piksel dodaje sygnały z przeglądarki, takie jak cookie _ttp, Events API wysyła każde zamówienie, a wspólny event_id sprawia, że TikTok nie liczy zakupu dwa razy.

Czym jest ttclid?

ttclid to click id, które TikTok dodaje do adresu URL twojej strony docelowej, gdy ktoś kliknie reklamę. Zapisz je, gdy kupujący wejdzie na stronę, i wyślij razem z zakupem, aby TikTok mógł powiązać zamówienie z kliknięciem.

Jak długo TikTok czeka na deduplikację zdarzeń?

TikTok deduplikuje zdarzenia o tej samej nazwie i tym samym event_id, które docierają w ciągu 48 godzin od pierwszego. Zapisuje pierwszą otrzymaną kopię na potrzeby pomiaru i raportowania.

Czy potrzebuję też aplikacji TikTok w Shopify?

Nie. Jeśli ją zostawisz, odłącz piksel w aplikacji TikTok. Jej zdarzenia mają inne id, więc TikTok liczyłby każdy zakup dwa razy.

Czy zakupy są nadal wysyłane, gdy kupujący odrzuci cookie?

Gdy Respect visitor consent jest włączone, ROASaurus nie ładuje piksela ani nie wiąże click id z tym kupującym. Opłacone zamówienie jest nadal wysyłane server-side z zahashowanymi danymi zamówienia oraz adresem IP i user agent z zamówienia.

Każda sprzedaż przypisana do reklamy, która ją przyniosła

Server-side tracking, zysk i wartość życiowa klienta w jednej aplikacji. 14-dniowy darmowy okres próbny, bez karty kredytowej.

Zacznij darmowy okres próbny →