Annonsplattformar och webbshoppar

TikTok Events API för Shopify: uppsättning och deduplicering

TikTok Events API skickar Shopify-köp till TikTok från din server. Lär dig händelserna, ttclid och _ttp, deduplicering med event_id och testning.

·Uppdaterad ·10 min läsning·Av ROASaurus-teamet

Det viktigaste
  • 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.

TikTok-pixel (webbläsare)
  • 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
Events API (server)
  • 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
TikTok rekommenderar båda: pixeln för webbläsarsignaler, Events API för varje order, deduplicerade med ett event_id.

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 handlingTikTok-händelsePixel (webbläsare)Events API (server)
Tittar på en sidaSidvisningJaNej
Tittar på en produktViewContentJaJa
Lägger i varukorgenAddToCartJaJa
Startar kassanInitiateCheckoutJa, med kassapixelnJa
Slutför en orderCompletePaymentJa, med kassapixelnJa, från ordern
Varje händelse som går åt båda hållen bär ett händelse-id, så att TikTok kan behålla en enda kopia.

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 keyVarifrån den kommerSkickas som
ttclidEtt klick-id som TikTok lägger till i landningssidans URL när någon klickar på en annonsOförändrat värde
_ttp-cookieEn förstapartscookie från TikTok-pixeln på din butiks domänOförändrat värde
E-postShopify-ordernSHA-256-hash
TelefonShopify-ordernSHA-256-hash
external_idShopify-kund-id:t, eller ROASaurus besökar-idSHA-256-hash
IP-adress och user agentKöparens kassasession eller ordernOförändrat värde
TikTok ber om att e-post, telefon och external_id ska hashas. Klick-id:t, cookien, IP-adressen och user agent skickas som de är.

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.

Exempel: ett köp så som ROASaurus skickar det till Events API (hashar förkortade)
{
  "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.

Köp slutförtKassapixeln utlöser CompletePayment med event_id order-5512345678901.
Order betaldShopify skickar den betalda ordern till ROASaurus via webhook.
Events APIROASaurus skickar CompletePayment med samma event_id och hashad orderdata.
TikTokSamma namn och samma event_id: ett köp räknas.
Två kopior av ett köp når TikTok. Det delade event_id låter TikTok räkna det en gång.

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.

Purchase-händelser som TikTok registrerar under en vecka (exempelbutik, 200 ordrar)
Bara pixel
150
Bara Events API
200
Pixel och Events API, olika id:n
350
Pixel och Events API, delat event_id
200
Utan ett delat event_id räknas 150 ordrar två gånger. Med det registrerar TikTok var och en av de 200 ordrarna en gång.

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:

  1. Kopiera en testhändelsekod

    Öppna din pixel i TikTok Events Manager och gå till Test events. Kopiera testhändelsekoden.

  2. 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.

  3. Lägg en testorder

    Besök din butik, titta på en produkt, lägg den i varukorgen och slutför en order.

  4. 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.

  5. 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.

  1. 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.

  2. 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.

  3. 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.

  4. 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.

  5. 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.

  6. 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

  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

I ROASaurus

Läs vidare

Annonsplattformar och webbshopparKonverteringstracking för postförskott och externa kassorKonverteringstracking för postförskott: varför pixlar missar ordrar med postförskott och externa kassor, när köpet ska skickas och hur du hanterar ordrar som kunden vägrar ta emot.Annonsplattformar och webbshopparKonverteringstracking för CCV Shop: en installationsguideKonverteringstracking för CCV Shop: skicka betalda ordrar till Meta och TikTok med en signerad webhook, koppla dem till annonsklick, sätt upp, testa och hantera sena betalningar.Annonsplattformar och webbshopparGoogle Ads enhanced conversions på ShopifyEnhanced conversions lägger till hashad kunddata på Google Ads-köp på Shopify. Så fungerar de, hur de skiljer sig från offlineimporter och hur du sätter upp dem.
Vanliga frågor

Frågor, besvarade

Är CompletePayment samma sak som Purchase på TikTok?

Ja. CompletePayment är det gamla namnet på TikToks köphändelse. TikTok konverterar det på sin sida, visar det som Purchase i rapportering och säger att det kommer att fortsätta stödja det gamla namnet.

Behöver jag fortfarande TikTok-pixeln om jag använder Events API?

TikTok rekommenderar att du använder båda. Pixeln lägger till webbläsarsignaler som cookien _ttp, Events API skickar varje order, och ett delat event_id hindrar TikTok från att räkna ett köp två gånger.

Vad är ttclid?

ttclid är det klick-id som TikTok lägger till i din landningssidas URL när någon klickar på en annons. Spara det när köparen landar och skicka det med köpet, så att TikTok kan koppla ordern till klicket.

Hur länge väntar TikTok med att deduplicera händelser?

TikTok deduplicerar händelser med samma händelsenamn och event_id som kommer in inom ett 48-timmarsfönster från den första. Det registrerar den första kopian det tar emot för mätning och rapportering.

Behöver jag TikTok-appen i Shopify också?

Nej. Om du behåller den, koppla bort pixeln i TikTok-appen. Dess händelser har andra id:n, så TikTok skulle räkna varje köp två gånger.

Skickas köp fortfarande när en köpare tackar nej till cookies?

Med Respect visitor consent påslaget laddar ROASaurus inte pixeln och kopplar inte klick-id:n till den köparen. Den betalda ordern skickas ändå server-side med hashad orderdata samt orderns IP-adress och user agent.

Varje försäljning, spårad till annonsen som genererade den

Server-side tracking, vinst och livstidsvärde i en app. 14 dagars gratis provperiod, inget kreditkort.

Starta din gratis provperiod →