Fungerar min TikTok-pixel? Så kontrollerar du den
TikTok-pixeln skickar POST-anrop till analytics.tiktok.com/api/v2/pixel med en JSON-kropp, så till skillnad från Meta syns händelsen inte i adressen: öppna anropets Payload för att se din pixelkod och händelsens namn. Ett köp ska komma fram som CompletePayment (eller Purchase) med värde, valuta och event_id.
Två saker gör TikTok annorlunda. Allt intressant ligger i anropets kropp, så listan med adresser säger ingenting. Och pixeln har en egen samtyckesbrytare, ttq.holdConsent(), som många installationer aldrig anropar. Då ignorerar pixeln cookiebannern om inte samtyckesverktyget blockerar den helt.
Hoppa över DevTools: den gratis skanningen öppnar din sida i en riktig webbläsare, godkänner och nekar cookiebannern och visar vad TikTok-pixeln faktiskt skickade. Rapporten är på engelska.
POST https://analytics.tiktok.com/api/v2/pixel
{"event"1:"CompletePayment","event_id"2:"order-20391","context":{"pixel":{"code"3:"C4ABCDEFGHIJKLMNOPQR"},"page":{"url":"https://shop.example/thank-you"}},"properties":{"value"4:59,"currency"5:"GBP"}}
"event"händelsens namn: Pageview, AddToCart, CompletePayment…"event_id"ID:t som TikTok använder för att slå ihop händelsen med samma händelse från Events API."code"din pixelkod."value"orderns värde, som ett tal."currency"valutakoden enligt ISO.
Exempelvärden. Långa anrop är förkortade till de parametrar som spelar roll.
I korthet
- Taggskript
analytics.tiktok.com/i18n/pixel/events.js?sdkid=<pixelkod>- Händelseanrop
- POST till
analytics.tiktok.com/api/v2/pixel, med händelsens detaljer i en JSON-kropp - Pixelkod
- Ungefär 20 versaler och siffror, oftast med C först
- Klick-ID
ttclid- Samtycke
ttq.holdConsent()innan pixeln laddas, sedanttq.grantConsent()ellerttq.revokeConsent()
Följ den i din egen webbläsare
- Öppna din sajt i ett privat fönster med DevTools på fliken Network och filtrera på
analytics.tiktok.com. - Godkänn cookiebannern och ladda om. Du ska se
events.jsladdas och sedan ett eller flera anrop till/api/v2/pixel. - Öppna ett av anropen och titta under Payload:
context.pixel.codeär din pixelkod ocheventär händelsens namn (sidvisningen heter oftastPageview). - Gör ett testköp. På orderbekräftelsen ska kroppen innehålla
"event": "CompletePayment"(eller"Purchase") och underpropertiesett numerisktvalueoch encurrencysom"SEK". Kontrollera även attevent_idfinns. - Öppna pixeln i TikTok Events Manager och använd Test events för att se samma händelser komma in.
TikTok Pixel Helper (ett Chrome-tillägg) ger en snabbare översikt, med varningar för parametrar som saknas.
Därför slutar TikTok-pixeln fungera, och så åtgärdar du det
CompletePayment utan värde eller valuta
Värdebaserad optimering och ROAS-rapportering kräver båda. TikToks standardhändelser förväntar sig value som ett tal och currency som en ISO-kod:
ttq.track('CompletePayment', {
value: 59.00,
currency: 'GBP',
contents: [{ content_id: 'SKU-123', quantity: 1, price: 59.00 }]
}, { event_id: 'order-20391' });
För katalogannonser (video shopping) måste content_id stämma med produkt-ID:na i din TikTok-katalog, annars kan händelserna inte kopplas till produkter.
Pixeln och Events API räknas två gånger
Shopify och andra plattformar skickar ofta samma händelser från servern via TikToks Events API. TikTok deduplicerar en händelse från webbläsaren och en från servern när båda har samma event_id (och händelsenamn). Utan det rapporteras köpen två gånger. Kontrollera att kroppen från webbläsaren har ett event_id och att din serverintegration skickar samma värde.
Samma pixel installerad två gånger
En pixel som har lagts in via TikToks försäljningskanal plus en manuell installation i temat eller Google Tag Manager betyder att varje händelse skickas två gånger. I fliken Network ser du två /api/v2/pixel-anrop med samma händelse per sidvisning. Ta bort en av installationerna.
Pixeln ignorerar cookiebannern
TikTok-pixeln har en egen samtyckesbrytare: anropa ttq.holdConsent() innan den laddas, så att den väntar, och ttq.grantConsent() när besökaren godkänner. Utan det, eller utan att samtyckesverktyget blockerar pixeln, skickas händelser innan besökaren har svarat. Se Ad pixel fires before consent or after "reject" (på engelska).
ttclid försvinner på landningssidan
TikTok lägger till ttclid på annonsklick, och pixeln sparar det för attribuering. En omdirigering som tappar parametrarna (från http till https, till en språkversion, till en adress med avslutande snedstreck) tappar det, och konverteringar från TikTok ser ut att komma från ingenstans. Testa med testet av klick-ID vid omdirigering.
Det här kontrollerar den gratis skanningen
- TikTok-pixeln laddas och skickar minst en sidvisning
- Bara ett ID för plattformen, annars en varning
- TikTok-pixeln väntar tills besökaren har godkänt cookies
- TikTok-pixeln slutar skicka när besökaren klickar på "neka alla"
- Inga e-postadresser i klartext i anropen
- På en orderbekräftelse: köpet har värde, valuta och händelse-ID
- Klick-ID:t ttclid följer med genom dina omdirigeringar
Händelser från servern (Conversions API:er, server-side-taggning) syns inte för en publik skanning, så rapporten markerar dem aldrig som fungerande eller trasiga.
Läs också
- Kontrollera TikTok-pixeln
- Testa klick-ID vid omdirigering (gclid, fbclid, ttclid, msclkid)
- TikTok pixel not firing: how to find out why (på engelska)
- Ad pixel fires before consent or after "reject": how to fix it (på engelska)
- Redirects drop the gclid and other ad click IDs: how to keep them (på engelska)
- Pixels stopped firing on Shopify's thank-you page: how to move them (på engelska)
- Why Meta, Google Ads and GA4 don't match your orders (på engelska)
Källor
- TikTok: Set up and verify the pixel
- TikTok: Supported standard events and parameters
- TikTok: About event deduplication
- TikTok: How to use cookies with TikTok Pixel
Bygger på plattformarnas offentliga dokumentation (oftast på engelska) och de anrop som deras publika taggar gör. Menyer och namn ändras, så kontrollera de länkade sidorna om ett steg ser annorlunda ut.