- TikTok Events API skickar konverteringshändelser från en server till TikTok, så att ett köp inte är beroende av att TikTok-pixeln körs i köparens webbläsare.
- TikTok har bytt namn på CompletePayment till Purchase men accepterar fortfarande det gamla namnet; för deduplicering måste pixeln och servern använda samma namn.
- TikTok deduplicerar en pixelhändelse och en serverhändelse när båda har samma händelsenamn och samma event_id, och registrerar den första kopian den tar emot.
- Klick-id:t ttclid, cookien _ttp, hashad e-post och hashat telefonnummer, IP-adressen och user agent är de nycklar TikTok använder för att matcha en händelse mot en person.
- Testa först med en testhändelsekod, och koppla bort pixeln i alla andra appar som skickar den, annars räknar TikTok köp två gånger.
TikTok Events API är TikToks server-till-server-anslutning för konverteringsdata. I stället för att bara förlita sig på TikTok-pixeln i köparens webbläsare skickar din butik, eller ett verktyg som ROASaurus, händelser som köp direkt till TikTok. TikTok rekommenderar att du kör Events API vid sidan av pixeln och deduplicerar de två med ett gemensamt event_id.
Den här guiden går igenom vad Events API skickar från en Shopify-butik, händelsenamnen Purchase och CompletePayment, klick-id:t och cookien som TikTok matchar på, hur deduplicering fungerar, hur du testar i TikTok Events Manager och hur du sätter upp allt i ROASaurus.
Vad är TikTok Events API?
TikTok-pixeln är ett skript i din butik. Den utlöser händelser från köparens webbläsare, så den räknar bara det som händer medan skriptet laddas och körs. En annonsblockerare, ett skriptfel eller en köpare som stänger fliken innan orderbekräftelsen har laddats kan alla stoppa den.
Events API skickar samma sorts händelse från en server. På Shopify är det mest tillförlitliga underlaget för ett köp själva ordern. Shopify rapporterar varje betald order via webhook, oavsett om webbläsarskriptet körts eller inte. Det är tanken bakom server-side tracking på Shopify.
De två är inte alternativ till varandra. TikToks råd är att dela händelser via båda, hålla dem konsekventa genom hela köpresan och låta TikTok ta bort dubbletterna.
- Körs i köparens webbläsare
- Kan stoppas av annonsblockerare och skriptfel
- Delar IP-adress och user agent som standard
- Utlöser sidvisningar och webbläsarhändelser medan de sker
- Körs på en server, från din orderdata
- Är inte beroende av att ett skript laddas i webbläsaren
- Avsändaren måste lägga till IP-adress och user agent
- Skickar varje betald order, även när pixeln inte utlöstes
Vilka händelser skickar ROASaurus till TikTok?
Fyra ögonblick i en Shopify-butik spelar roll för TikToks optimering: en produktvisning, ett tillägg i varukorgen, starten på kassan och köpet. ROASaurus skickar alla fyra till Events API och utlöser samma fyra via TikTok-pixeln, med samma händelse-id:n. Sidvisningar går bara via pixeln.
| Köparens handling | TikTok-händelse | Pixel (webbläsare) | Events API (server) |
|---|---|---|---|
| Tittar på en sida | Sidvisning | Ja | Nej |
| Tittar på en produkt | ViewContent | Ja | Ja |
| Lägger i varukorgen | AddToCart | Ja | Ja |
| Startar kassan | InitiateCheckout | Ja, med kassapixeln | Ja |
| Slutför en order | CompletePayment | Ja, med kassapixeln | Ja, från ordern |
I pixelinställningarna kan du avmarkera serverhändelser du inte vill skicka och lägga till filter, som ett land eller ett lägsta ordervärde.
Purchase eller CompletePayment?
TikTok bytte namn på sin köphändelse. Det nuvarande namnet är Purchase. Det gamla namnet, CompletePayment, fungerar fortfarande: TikTok konverterar äldre namn på sin sida, visar dem under det nya namnet i rapportering, målgrupper och optimering, och säger att CompletePayment kommer att stödjas på obestämd tid. TikTok ber nya pixeluppsättningar använda Purchase.
ROASaurus skickar CompletePayment, både i pixeln och i Events API. I TikTok Events Manager och Ads Manager visas de händelserna som Purchase. För deduplicering är det viktiga att båda kopiorna av ett köp använder samma händelsenamn, och det gör de.
Hur matchar TikTok en händelse mot en köpare?
En händelse hjälper bara dina kampanjer om TikTok kan koppla den till den person som såg eller klickade på annonsen. TikTok kallar de här identifierarna match keys, och dess guide för Events API ber dig skicka tillbaka alla relevanta match keys för att öka matchningsgraden. Events Manager visar resultatet som en Event Match Quality-poäng, ett viktat medelvärde av hur ofta varje match key finns med.
| Match key | Varifrån den kommer | Skickas som |
|---|---|---|
| ttclid | Ett klick-id som TikTok lägger till i landningssidans URL när någon klickar på en annons | Oförändrat värde |
| _ttp-cookie | En förstapartscookie från TikTok-pixeln på din butiks domän | Oförändrat värde |
| E-post | Shopify-ordern | SHA-256-hash |
| Telefon | Shopify-ordern | SHA-256-hash |
| external_id | Shopify-kund-id:t, eller ROASaurus besökar-id | SHA-256-hash |
| IP-adress och user agent | Köparens kassasession eller ordern | Oförändrat värde |
TikTok noterar att pixeln delar IP-adress och user agent som standard, men att Events API kräver att de läggs till manuellt. ROASaurus hämtar dem från köparens kassasession, eller från ordern om det inte fanns någon session. Två andra nycklar kräver uppmärksamhet på Shopify.
ttclid: TikToks klick-id
När en köpare klickar på en TikTok-annons lägger TikTok till ttclid i landningssidans URL. Om din butik inte sparar det på den första sidan är det borta när ordern kommer in, flera sidor senare. ROASaurus läser ttclid på landningssidan, sparar det tillsammans med besökar-id:t, skriver det till Shopify-varukorgen och lägger till det i serverhändelsen när ordern kommer in.
_ttp: pixelns cookie
Cookien _ttp är en förstapartscookie som TikTok-pixeln använder på din domän. ROASaurus läser den i butiken och i kassan och skickar den som ttp i serverhändelsen. Det är ytterligare en anledning att låta pixeln köra vid sidan av Events API.
{
"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"
}
}]
}Hur fungerar deduplicering?
När pixeln och Events API rapporterar samma köp får TikTok två händelser för en order. För att behålla bara en behöver TikTok att två värden är identiska i båda kopiorna: händelsenamnet och event_id. TikTok registrerar då den första kopian den tar emot för mätning och rapportering, så ordern räknas en gång. Det fungerar för matchande kopior som kommer in inom ett 48-timmarsfönster från den första.
ROASaurus bygger händelse-id:t för ett köp från Shopifys order-id. Köpet från ordern 5512345678901 har händelse-id:t order-5512345678901, i kassapixeln och på servern. Händelser i butiken, som produktvisningar och tillägg i varukorgen, får ett slumpmässigt id när de sker, och webbläsarkopian och serverkopian delar det.
Så här påverkar det siffrorna. Ta en exempelbutik med 200 ordrar på en vecka. Pixeln utlöses för 150 av dem. De andra 50 köparna använde en annonsblockerare, tackade nej till marknadsföringscookies eller lämnade sidan innan bekräftelsesidan hade laddats. Events API skickar alla 200.
Talet 350 är det som är oroande. Det skulle göra TikToks köpantal, och den ROAS som bygger på det, 75% högre än verkligheten, eftersom 350 ÷ 200 = 1.75. TikTok använder också de här händelserna för optimering och målgruppsinriktning, så dess budgivning skulle lära sig av 150 köp som aldrig skedde.
Varför räknas köp två gånger på Shopify?
Dubbelräkning sker när TikTok tar emot två kopior av ett köp som det inte kan matcha. Kontrollera de här orsakerna innan du litar på ett hopp i TikTok-köp:
- Två verktyg skickar samma pixel. TikTok-försäljningskanalens app i Shopify kan också skicka händelser för din pixel. Dess händelse-id:n matchar inte de id:n som ROASaurus använder, så TikTok räknar varje order två gånger. Koppla bort pixeln i den appen.
- Pixeln finns också i ditt temas kod. Ett pixelsnippet som klistrats in i temat utlöser egna händelser utan dina händelse-id:n. Ta bort det och låt ett enda verktyg ladda pixeln.
- Den ena sidan saknar event_id. Ett serverköp utan event_id, eller med ett nytt slumpmässigt id, kan inte matchas mot pixelkopian.
- Händelsenamnen skiljer sig åt. TikTok deduplicerar bara identiska händelser. Båda kopiorna av ett köp måste använda samma händelsenamn.
Hjälpartikeln om dubbelräkning går igenom samma kontroller för Meta och de andra plattformarna.
Hur testar du Events API i TikTok Events Manager?
TikTok Events Manager har fliken Test events för både webbläsar- och serverhändelser. Använd den innan du förlitar dig på datan:
- Kopiera en testhändelsekod
Öppna din pixel i TikTok Events Manager och gå till Test events. Kopiera testhändelsekoden.
- Klistra in den i ROASaurus
Öppna Tracking & platforms, redigera TikTok-pixeln och klistra in koden i fältet Test event code. Serverhändelserna bär den nu.
- Lägg en testorder
Besök din butik, titta på en produkt, lägg den i varukorgen och slutför en order.
- Kontrollera båda sidor
Filtrera på webbläsar- och serverhändelser i Test events. Du bör se köpet från båda. I ROASaurus visar Event log varje serverleverans som skickad eller misslyckad.
- Ta bort testkoden
Ta bort testhändelsekoden när du är klar, så att dina skarpa serverhändelser inte längre skickas som testhändelser.
TikTok kan svara på ett anrop med HTTP 200 och ändå avvisa händelsen, med en felkod i svarets innehåll. ROASaurus läser den koden, så en avvisad händelse visas som misslyckad i Event log i stället för att passera obemärkt.
Efter en dag med live-trafik, öppna pixelns översikt i Events Manager. Den listar varje händelse med dess anslutningsmetod, Event Match Quality-poäng och när den senast togs emot. Händelsedetaljerna innehåller information om matchning och deduplicering, och Diagnostics listar kvalitetsproblem med vägledning om hur du åtgärdar dem.
Så sätter du upp TikTok Events API på Shopify med ROASaurus
Du behöver en Shopify-butik med ROASaurus-appen och tillgång till TikTok Events Manager. TikTok-integrationssidan listar varje fält som ROASaurus skickar.
- Anslut din Shopify-butik
Gå till Add a store › Shopify, klicka på Install app och slå på ROASaurus-appinbäddningen i temaredigeraren. Inbäddningen fångar ttclid och cookien _ttp på varje sida. Guiden för Shopify-uppsättning visar varje steg.
- Lägg till kassapixeln
Gå till Shopify admin › Settings › Customer events, lägg till en anpassad pixel med namnet ROASaurus och klistra in snippeten från sidan Tracking & platforms. Den utlöser TikTok-pixeln i kassan, inklusive webbläsarkopian av köpet.
- Skapa en åtkomsttoken
Öppna din pixel i TikTok Events Manager och generera en åtkomsttoken för Events API i dess inställningar. Kopiera token och pixelkoden.
- Lägg till TikTok-pixeln i ROASaurus
Gå till Tracking & platforms, klicka på Add pixel på TikTok-kortet och fyll i Pixel code och Events API access token. Låt Also load the browser pixel (recommended, deduplicated) vara ikryssat, så att webbläsar- och serverhändelser delar id:n.
- Lägg till annonskostnad (valfritt)
Fyll i Advertiser ID for spend och en Marketing API token. ROASaurus importerar då TikTok-kostnaden, så att TikTok-kampanjer visar ROAS och CPA bredvid dina andra kanaler.
- Testa, gå sedan live
Skicka en testorder med en testhändelsekod enligt beskrivningen ovan och ta sedan bort koden.
Med Respect visitor consent påslaget, vilket är standard, följer ROASaurus köparens val i Shopifys cookiebanner. När en köpare tackar nej till marknadsföringscookies laddar ROASaurus inte TikTok-pixeln för den personen, sätter inget besökar-id, så att personens klick inte kopplas till den, och skickar inte webbläsarhändelserna till TikTok. Den betalda ordern skickas ändå till Events API från servern, med hashad orderdata samt orderns IP-adress och user agent, men utan ttclid eller _ttp. Guiden om samtycke och integritet förklarar vad som sparas och skickas.
Med synkad kostnad visas TikTok-kampanjer i attributionsrapporter bredvid Meta, och kreativanalysen lägger till TikToks videostatistik per annons. ROASaurus tillskriver ordrar till de annonsklick och UTM:er det har registrerat och räknar view-through-konverteringar bara som en modellerad uppskattning i modellen Clicks & views, så dess totaler skiljer sig oftast från TikTok Ads Manager. För de andra server-side-plattformarna, se guiden om Pinterest Conversions API och guiden om Meta Conversions API.
Källor
- TikTok For Business: About Events API
- TikTok Ads Manager: About Event Deduplication
- TikTok Ads Manager: How to Adopt TikTok's Updated Standard Events
- TikTok Ads Manager: How to set up matching events with Events API
- TikTok Ads Manager: About diagnostic and monitoring tools in TikTok Events Manager
I ROASaurus
- TikTok-integration
- Server-side tracking i ROASaurus
- Hjälp: förhindra dubbelräkning
- Hjälp: sätt upp ROASaurus på Shopify