Pixel- och taggkontroller

Fungerar min Meta-pixel? Så kontrollerar du den på två minuter

Öppna fliken Network, filtrera på facebook.com/tr och ladda om sidan: ett anrop per sidvisning, med ditt pixel-ID och ev=PageView, betyder att pixeln lever. Att fbevents.js laddas bevisar ingenting i sig. Skriptet kan laddas utan att skicka något, eller skicka allt två gånger.

Det som skiljer Meta från andra plattformar är hur sällan pixeln bara är installerad en gång. En kodsnutt i temat, butikens Facebook-app och en tagg i Tag Manager kan alla ladda den, och Meta räknar varje kopia. Frågan är alltså inte bara "skickar den?" utan "hur många gånger?".

Hoppa över DevTools: den gratis skanningen öppnar din sida i en riktig webbläsare, godkänner och nekar cookiebannern och visar vad Meta-pixeln faktiskt skickade. Rapporten är på engelska.

I korthet

Taggskript
connect.facebook.net/…/fbevents.js, plus en konfigurationsfil per pixel från /signals/config/<pixel-ID>
Händelseanrop
www.facebook.com/tr/?id=<pixel-ID>&ev=PageView (GET, eller POST för större mängder data)
Pixel-ID
Ett tal, oftast 15 eller 16 siffror
Klick-ID
fbclid, som pixeln sparar i cookien _fbc
Samtycke
fbq('consent', 'revoke') före init, fbq('consent', 'grant') när besökaren godkänner
En Purchase-händelse, så som den syns i fliken Network
https://www.facebook.com/tr/?id=11234567890123456&ev=2Purchase&dl=3https%3A%2F%2Fshop.example%2Fthank-you&cd[value]4=129.90&cd[currency]5=EUR&eid=6order-10045&fbp=fb.1.1761900000000.123456789
  1. id= ditt pixel-ID. Två olika ID:n på samma sida betyder en andra pixel.
  2. ev= händelsens namn. En PageView per sidladdning; Purchase bara på orderbekräftelsen.
  3. dl= sidan som händelsen kom från. Om adressen innehåller en e-postadress får Meta den också.
  4. cd[value] orderns värde, som ett tal.
  5. cd[currency] valutakoden enligt ISO. Utan den kan Meta inte rapportera intäkter.
  6. eid= händelse-ID:t som låter Meta slå ihop händelsen med samma händelse från Conversions API.

Exempelvärden. Långa anrop är förkortade till de parametrar som spelar roll.

Kontrollen på två minuter i DevTools

  1. Öppna din sajt i ett privat fönster, öppna DevTools (F12 eller Cmd+Option+I) och gå till fliken Network.
  2. Skriv facebook.com/tr i filterrutan, godkänn cookiebannern och ladda om sidan.
  3. Klicka på det första anropet. Under Payload (eller i adressens parametrar) kontrollerar du att id är ditt pixel-ID och att ev är PageView. Ett anrop per pixel-ID och sidvisning är rätt; två med samma ID betyder att pixeln är installerad två gånger.
  4. Lägg en testorder (eller öppna orderbekräftelsen i en testorder) och leta efter ev=Purchase. Parametrarna ska innehålla cd[value], cd[currency] och ett eid (händelse-ID).
  5. Öppna ditt dataset i Meta Events Manager och använd Test events med din sajts adress för att se samma händelser komma in i realtid.

Tillägget Meta Pixel Helper för Chrome visar samma sak i ett popup-fönster, men det är fliken Network som gäller: den visar vad som faktiskt lämnade webbläsaren, även anrop som tillägget inte märker upp.

Sex sätt som Meta-pixeln går fel på

Pixeln är installerad två gånger

Det vanligaste Meta-problemet i butiker: temat eller en utvecklare lade in baskoden, och senare lade en Shopify- eller WooCommerce-integration in den igen. Varje PageView och Purchase räknas då två gånger, Det ger en uppblåst ROAS och förvirrar budgivningen. I fliken Network ser du två /tr-anrop med samma ev. Behåll en installation, oftast plattformens integration, och ta bort den andra.

Ett närliggande fall är ett helt annat pixel-ID, ofta en gammal byrås pixel som fortfarande tar emot din data. Kontrollera att varje ID hör till ett annonskonto som du har kontroll över.

Purchase saknar värde eller valuta

Utan value och currency kan Meta varken rapportera intäkter eller optimera mot värde. Anropet ska se ut så här, med orderns totalsumma och en valutakod enligt ISO 4217:

fbq('track', 'Purchase', { value: 129.90, currency: 'EUR' }, { eventID: 'order-10045' });

Se upp med värden som skickas som text med valutasymbol ("129,90 kr") eller med tusentalsavgränsare: Meta förväntar sig ett tal, med punkt som decimaltecken.

Pixeln och Conversions API dedupliceras inte

Om du också skickar händelser från din server (Conversions API, ofta via en Shopify-integration eller server-side-taggning) räknar Meta händelsen från webbläsaren och servern som en bara när båda har samma händelsenamn och händelse-ID. Webbläsaren skickar det som eventID i det fjärde argumentet (det syns som eid i anropet); servern skickar event_id. En Purchase utan eid bredvid ett fungerande Conversions API betyder dubbelräkning.

Pixeln skickar före samtycke

I EU och Storbritannien får pixeln bara sätta cookies och skicka händelser efter att besökaren har godkänt marknadsföringscookies. Pixlar som en app har lagt in eller som är hårdkodade i temat går ofta förbi samtyckesverktyget. Lösningen är att ladda pixeln via samtyckesverktyget, eller anropa fbq('consent', 'revoke') före fbq('init', …) och ge samtycke när besökaren godkänner. Se Ad pixel fires before consent or after "reject" (på engelska).

SPA-sajter skickar bara en PageView

På sajter byggda som SPA (single page application), till exempel med React, Vue eller en headless-butik, laddas inte sidan om när besökaren går vidare, så baskodens enda fbq('track', 'PageView') körs en gång. Skicka en PageView vid varje sidbyte, eller kontrollera att din integration gör det. Annars förblir retargetingmålgrupper som bygger på URL-regler tomma.

E-postadresser i anropet

Advanced matching ska skicka kunddata hashade. En e-postadress i klartext i ett /tr-anrop kommer oftast från sidans adress (en tacksida med ?email=) eller från en egen parameter. Meta kan då begränsa datan, och det är ett integritetsproblem i sig. Ta bort personuppgifter från adresser och låt pixeln hasha det den skickar.

Det här kontrollerar den gratis skanningen

  • Meta-pixeln laddas och skickar minst en sidvisning
  • Bara ett ID för plattformen, annars en varning
  • Meta-pixeln väntar tills besökaren har godkänt cookies
  • Meta-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 fbclid 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å

Källor

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.

Andra plattformar