Annonceplatforme og webshops

Meta Conversions API (CAPI): en praktisk guide

En praktisk guide til Meta Conversions API: Kør den ved siden af pixelen med ét event_id, send de rigtige parametre, test events, og ret almindelige fejl.

·Opdateret ·9 min. læsning·Af ROASaurus-teamet

Vigtigste pointer
  • Meta Conversions API sender events som Purchase fra din server, så de når Meta, selv når browserpixelen er blokeret.
  • Kør det ved siden af pixelen, og giv begge kopier samme eventnavn og event_id; Meta tæller så eventet én gang, hvis begge ankommer inden for 48 timer.
  • Website-events kræver action_source, event_source_url og shopperens user agent; hashet e-mail og telefon, IP-adresse, fbp og fbc afgør, hvor godt Meta kan matche dem.
  • Test med fanen Test events i Events Manager, og fjern derefter testkoden, fordi testevents ikke kasseres.
  • De fleste problemer skyldes uens event-id'er, serverens egen IP-adresse, et tabt fbclid eller kontaktdata, der er hashet uden normalisering.

Meta Conversions API (CAPI) lader din server sende events som Purchase direkte til Meta. Meta-pixelen sender de samme events fra shopperens browser. CAPI sender dem fra din server, så de stadig når frem, når en adblocker stopper pixelen, en cookie er væk, eller takkesiden aldrig indlæses.

Denne guide dækker, hvad et Conversions API-event indeholder, hvordan du kører det ved siden af pixelen med ét event_id, hvilke parametre Meta kræver og anbefaler, hvordan du tester med Test events, og de fejl, der opstår oftest.

Hvad er Meta Conversions API?

Conversions API er en del af Metas Graph API. Din server sender en HTTPS POST-forespørgsel til graph.facebook.com/VERSION/PIXEL_ID/events med et adgangstoken og en data-liste med op til 1,000 events. Hvert event beskriver én handling, for eksempel et køb, i tre dele: hvad der skete, hvem der gjorde det, og detaljerne.

FeltHvad det indeholder
event_nameHandlingen, for eksempel Purchase, AddToCart eller InitiateCheckout
event_timeHvornår det skete, som et Unix-tidsstempel i sekunder
event_idEt unikt id for dette event, brugt til at deduplikere det mod pixelen
action_sourceHvor det skete: website for køb i shoppen
event_source_urlURL'en på den side, hvor eventet skete
user_dataKundeoplysninger til matching: hashet e-mail og telefon, IP-adresse, user agent, fbp og fbc
custom_dataDetaljer som value, currency og content_ids
Hvert Conversions API-event har samme form: handlingen, kundeoplysningerne og detaljerne.

Et forkortet Purchase-event ser sådan ud:

Conversions API: et Purchase-event (forkortet)
{
  "data": [{
    "event_name": "Purchase",
    "event_time": 1792929600,
    "event_id": "order-1042",
    "action_source": "website",
    "event_source_url": "https://yourstore.com/checkouts/thank-you",
    "user_data": {
      "em": ["<SHA-256 of the normalized email>"],
      "ph": ["<SHA-256 of the normalized phone>"],
      "client_ip_address": "203.0.113.24",
      "client_user_agent": "Mozilla/5.0 (iPhone; ...)",
      "fbp": "fb.1.1792928400000.1234567890",
      "fbc": "fb.1.1792928400000.AbCdEf123"
    },
    "custom_data": { "value": 74.00, "currency": "USD" }
  }]
}

Kontaktfelter som e-mail og telefon normaliseres og hashes med SHA-256, før de forlader din server. IP-adressen, user agent, fbp og fbc sendes, som de er.

Hvorfor køre Conversions API ved siden af pixelen?

Meta anbefaler at køre Conversions API sammen med pixelen og sende de samme events gennem begge. Hver side ser noget, den anden ikke ser, og sammen giver de Meta mere komplette data.

Meta-pixel (browser)
  • Sætter cookien _fbp og gemmer fbclid fra et annonceklik i cookien _fbc
  • Ser siden og browseren, mens besøget foregår
  • Går tabt, når browseren blokerer den, eller siden ikke indlæses
Conversions API (server)
  • Sender den betalte ordre fra dine shopdata
  • Kan tilføje hashet e-mail, telefon og adresse fra ordren
  • Afhænger ikke af browseren, så adblockere stopper den ikke
Pixelen bringer browser-identifikatorerne, og serveren bringer ordren. Hver for sig mangler de en del af billedet.

Prisen for at køre begge er, at Meta nu modtager to kopier af hvert event. Næste afsnit viser, hvordan Meta kun beholder én.

Hvordan fungerer deduplikering med ét event_id?

Meta behandler et browser-event og et server-event som det samme event, når to ting matcher: eventnavnet og event-id'et. I pixelen kommer id'et i indstillingen eventID. I Conversions API kommer den samme værdi i event_id.

Meta-pixel: det samme Purchase med eventID
fbq('track', 'Purchase', { value: 74.00, currency: 'USD' }, { eventID: 'order-1042' });
Shopperen betalerOrdre 1042, $74.00
Pixelen sender PurchaseeventID order-1042, fra browseren
Serveren sender Purchaseevent_id order-1042, fra ordren
Meta tæller étSamme navn og id inden for 48 timer
Begge kopier har samme eventnavn og id, så Meta beholder ét køb i stedet for to.

Meta deduplikerer kun et matchende par, når de to kopier ankommer inden for 48 timer af hinanden. Nogle få regler får det til at virke i praksis:

  • Opret id'et én gang. Byg det ud fra noget, begge sider kender, for eksempel ordrenummeret, og giv det videre til både browseren og serveren. To systemer, der hver laver deres eget id, matcher ikke.
  • Brug ét format. order-1042 og 1042 er forskellige id'er.
  • Match eventnavnet præcist. Purchase og purchase er forskellige events.
  • Send server-eventet hurtigt. Et server-event, der ankommer mere end 48 timer efter browser-eventet, bliver talt en gang til.

Meta beskriver også en anden metode, der parrer events via fbp eller external_id. Meta siger, at den generelt kun virker, når browser-eventet ankommer før server-eventet, så et fælles event_id er det mere pålidelige valg. Hvis Meta stadig rapporterer flere køb, end din shop havde, viser vores guide til dobbelte købsevents de almindelige årsager.

De påkrævede felter gør et event gyldigt. De anbefalede felter afgør, hvor mange af dine events Meta kan matche med en person, og kun matchede events kan bruges til attribution og annoncelevering.

ParameterWebsite-eventsHvad du skal sende
event_namePåkrævetEt standardevent som Purchase eller et brugerdefineret eventnavn
event_timePåkrævetUnix-tid i sekunder, højst 7 dage tilbage i tiden
action_sourcePåkrævetwebsite for events i din shop
event_source_urlPåkrævetURL'en på den side, hvor eventet skete
client_user_agentPåkrævetShopperens browserstreng, ikke din servers
user_dataPåkrævetMindst én parameter med kundeoplysninger
event_idAnbefaletDet samme id, som pixelen bruger, til deduplikering
em, phAnbefaletE-mail og telefon, normaliseret og hashet med SHA-256
client_ip_addressAnbefaletShopperens IP-adresse, ikke hashet
fbp, fbcAnbefaletCookies med browser-id og klik-id, ikke hashet
external_idAnbefaletDit eget kunde-id, det samme på browser- og server-events
value, currencySendes med PurchaseOrdreværdien og en valutakode på tre bogstaver
Meta angiver action_source, event_source_url og client_user_agent som påkrævet for website-events, der sendes gennem Conversions API.

Tre detaljer forårsager de fleste problemer:

  • Normalisér, før du hasher. Meta forventer e-mail uden mellemrum og med små bogstaver og telefonnumre som cifre med landekode. Anna@Example.com og anna@example.com giver forskellige hashes, og kun den anden kan matche.
  • Hash ikke browseridentifikatorer. fbp, fbc, IP-adressen og user agent sendes som almindelige værdier.
  • Behold klik-id'et præcis, som det er. Værdien fbc er fb.1., oprettelsestidspunktet i millisekunder, et punktum og fbclid fra landingssidens URL. fbclid skelner mellem store og små bogstaver. Gem det, når den besøgende lander, fordi det ikke længere står i URL'en ved checkout.

Hvor godt disse felter matcher, er det, Metas Event Match Quality-score måler. Vores guide til Event Match Quality dækker hver parameter, hashingreglerne og den score, du bør sigte efter.

Hvordan tester du events med Test events?

Events Manager har en fane Test events, der viser events, efterhånden som de ankommer. Brug den, før du stoler på en ny opsætning.

  1. Åbn Test events

    Vælg dit dataset (pixel) i Events Manager, og åbn fanen Test events. Kopiér den testkode, den viser.

  2. Føj koden til dine server-events

    Send den som test_event_code i forespørgslen. I ROASaurus indsætter du den i feltet Test event code på Meta-pixelen.

  3. Læg en testordre

    Besøg shoppen, læg et produkt i kurven, og betal, så både pixelen og serveren sender et Purchase.

  4. Sammenlign de to kopier

    Begge kopier skal vise samme eventnavn, event-id, værdi og valuta.

  5. Tjek kundeoplysningerne

    Server-eventet skal bære hashet e-mail og telefon, IP-adressen, user agent og fbp, plus fbc, hvis besøget startede med et annonceklik.

  6. Fjern testkoden

    Meta siger, at feltet kun er til test, så fjern det, før du stoler på eventsene.

Purchase browser order-1042 74.00 USDFra pixelen
Purchase server order-1042 74.00 USDFra Conversions API
event_name + event_id matchTalt som ét køb
em ph fbp fbc client_ip_address client_user_agentKundeoplysninger på server-eventet
Det, en god testordre viser (eksempelværdier): to kopier, ét id og fulde kundeoplysninger.

Almindelige Conversions API-fejl og hvordan du løser dem

Det, du serSandsynlig årsagLøsning
Hele forespørgslen fejler, og ingen events bliver behandletÉt event i batchen har en event_time, der er mere end 7 dage gammelSend events, når de sker. Ret eller drop gamle events, før du prøver igen.
Meta rapporterer flere køb, end din shop havdeForskellige event-id'er, et pixel-event uden eventID eller en anden app, der sender den samme pixelBrug ét id til begge kopier og én server-afsender pr. pixel.
Lav matchkvalitet på server-eventsDin server sender sin egen IP-adresse og user agentVideregiv den IP-adresse og user agent, der er registreret fra shopperens browser eller ordre.
Få events med fbcfbclid blev ikke gemt på landingssiden, eller det blev ændretGem fbclid præcis, som det ankommer, og byg fbc ud fra det.
E-mail og telefon matcher ikkeVærdier, der er hashet uden normalisering, eller sendt uden hashingFjern mellemrum, og skriv e-mailen med små bogstaver, behold cifrene og landekoden i telefonnummeret, og hash derefter med SHA-256.
Forespørgsler fejler med en fejl om udløbet tokenAdgangstokenet stammer fra et Facebook-login, og login-tokens udløberForbind igen, eller brug et System User-token fra Business Manager, som du kan oprette uden udløbsdato.
De fleste problemer med Conversions API viser sig som afviste forespørgsler, dobbelttællinger eller lav matchkvalitet.

Efter nogle dages live trafik åbner du fanen Diagnostics i Events Manager. Meta viser dér problemer med anbefalinger til, hvordan du løser dem. Sammenlign derefter det daglige antal Purchase i Events Manager med de betalte ordrer i din shop for de samme dage. Hvis Meta ligger tydeligt højere, viser vores hjælpeside om at undgå dobbelttælling de indstillinger, du skal tjekke.

Sådan sætter du Conversions API op med ROASaurus

ROASaurus sender Conversions API-events fra din shops ordredata, så du ikke selv skal bygge serversiden. Klik på Connect with Facebook under Tracking & platforms, og vælg din annoncekonto og pixel, eller indsæt pixel-id'et (dataset-id'et) og et Conversions API-token. Meta-opsætningsguiden gennemgår begge muligheder, og Meta-integrationssiden viser alle felter, der sendes.

  • Ét id på begge sider. Browser- og server-events deler ét event-id. For et køb er det order- efterfulgt af ordre-id'et.
  • En kort pause før købet. Server-Purchase venter et kort øjeblik, efter ordren er kommet ind, så browserens købsevent kan blive koblet på først. Dens IP-adresse, user agent og side-URL går så ud med server-eventet sammen med de fbp og fbc, der er gemt for den besøgende.
  • Kundeoplysninger fra ordren. E-mail, telefon, navn og adresse normaliseres og hashes med SHA-256. Shoppens kunde-id og ROASaurus' besøgs-id sendes hashet som external_id.
  • Events, som Meta ikke kan matche, springes over. Et event uden fbc, fbp, e-mail, telefon eller IP-adresse sendes ikke.

Event log viser hver serverlevering med forespørgslen og Metas svar. Hvis dine marginer varierer meget mellem produkter, kan du også sende en overskudsværdi ved siden af hvert køb: Vores guide til Meta-værdioptimering til overskud forklarer, hvordan. For hele datastien fra klik til ordre, se server-side tracking.

Kilder

  1. Meta for Developers: Handling Duplicate Pixel and Conversions API Events
  2. Meta for Developers: Server Event Parameters
  3. Meta for Developers: Customer Information Parameters
  4. Meta for Developers: Using the API - Conversions API
  5. Meta for Developers: ClickID and the fbp and fbc Parameters

I ROASaurus

Læs videre

Annonceplatforme og webshopsKonverteringstracking ved efterkrav og eksterne checkoutsKonverteringstracking ved efterkrav: hvorfor pixels overser efterkravs- og eksterne checkout-ordrer, hvornår du skal sende købet, og hvordan du håndterer afviste ordrer.Annonceplatforme og webshopsKonverteringstracking med CCV Shop: en opsætningsguideKonverteringstracking med CCV Shop: send betalte ordrer til Meta og TikTok med en signeret webhook, knyt dem til annonceklik, sæt det op, test det, og håndtér sene betalinger.Annonceplatforme og webshopsGoogle Ads enhanced conversions på ShopifyEnhanced conversions tilføjer hashede kundedata til Google Ads-køb på Shopify. Sådan virker de, hvordan de adskiller sig fra offline-importer, og hvordan du sætter dem op.
FAQ

Spørgsmål, besvaret

Har jeg brug for både Meta-pixelen og Conversions API?

Meta anbefaler at bruge begge. Pixelen tilføjer browserdata som cookien fbp, og Conversions API leverer events, som browseren misser. Giv begge kopier samme eventnavn og event-id, så Meta tæller hvert event én gang.

Hvor længe venter Meta med at deduplikere et browser-event og et server-event?

Meta deduplikerer et browser-event og et server-event med samme eventnavn og event-id, når de ankommer inden for 48 timer af hinanden. En kopi, der ankommer senere, bliver talt igen.

Skal kundedata hashes i Conversions API?

Ja, for kontaktdata. Felter med e-mail, telefon, navn og adresse skal normaliseres og hashes med SHA-256. IP-adressen, user agent, fbp og fbc sendes uden hashing.

Hvilke felter er påkrævet for et website-event?

Hvert event kræver event_name, event_time, action_source og mindst én parameter med kundeoplysninger. For website-events kræver Meta også event_source_url og client_user_agent.

Kan jeg sende gamle ordrer gennem Conversions API?

Kun nyere. Værdien event_time kan højst være 7 dage tilbage i tiden, og hvis ét event i en forespørgsel er ældre, afviser Meta hele forespørgslen.

Hvert salg, sporet til annoncen, der skabte det

Server-side tracking, overskud og livstidsværdi i én app. 14 dages gratis prøve, uden kreditkort.

Start din gratis prøve →