- 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.
| Felt | Hvad det indeholder |
|---|---|
event_name | Handlingen, for eksempel Purchase, AddToCart eller InitiateCheckout |
event_time | Hvornår det skete, som et Unix-tidsstempel i sekunder |
event_id | Et unikt id for dette event, brugt til at deduplikere det mod pixelen |
action_source | Hvor det skete: website for køb i shoppen |
event_source_url | URL'en på den side, hvor eventet skete |
user_data | Kundeoplysninger til matching: hashet e-mail og telefon, IP-adresse, user agent, fbp og fbc |
custom_data | Detaljer som value, currency og content_ids |
Et forkortet Purchase-event ser sådan ud:
{
"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.
- 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
- 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
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.
fbq('track', 'Purchase', { value: 74.00, currency: 'USD' }, { eventID: 'order-1042' });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-1042og1042er forskellige id'er. - Match eventnavnet præcist.
Purchaseogpurchaseer 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.
Hvilke parametre er påkrævet, og hvilke er anbefalede?
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.
| Parameter | Website-events | Hvad du skal sende |
|---|---|---|
event_name | Påkrævet | Et standardevent som Purchase eller et brugerdefineret eventnavn |
event_time | Påkrævet | Unix-tid i sekunder, højst 7 dage tilbage i tiden |
action_source | Påkrævet | website for events i din shop |
event_source_url | Påkrævet | URL'en på den side, hvor eventet skete |
client_user_agent | Påkrævet | Shopperens browserstreng, ikke din servers |
user_data | Påkrævet | Mindst én parameter med kundeoplysninger |
event_id | Anbefalet | Det samme id, som pixelen bruger, til deduplikering |
em, ph | Anbefalet | E-mail og telefon, normaliseret og hashet med SHA-256 |
client_ip_address | Anbefalet | Shopperens IP-adresse, ikke hashet |
fbp, fbc | Anbefalet | Cookies med browser-id og klik-id, ikke hashet |
external_id | Anbefalet | Dit eget kunde-id, det samme på browser- og server-events |
value, currency | Sendes med Purchase | Ordreværdien og en valutakode på tre bogstaver |
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.comoganna@example.comgiver 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
fbcerfb.1., oprettelsestidspunktet i millisekunder, et punktum ogfbclidfra landingssidens URL.fbclidskelner 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.
- Åbn Test events
Vælg dit dataset (pixel) i Events Manager, og åbn fanen Test events. Kopiér den testkode, den viser.
- Føj koden til dine server-events
Send den som
test_event_codei forespørgslen. I ROASaurus indsætter du den i feltet Test event code på Meta-pixelen. - Læg en testordre
Besøg shoppen, læg et produkt i kurven, og betal, så både pixelen og serveren sender et Purchase.
- Sammenlign de to kopier
Begge kopier skal vise samme eventnavn, event-id, værdi og valuta.
- 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.
- 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 pixelenPurchase server order-1042 74.00 USDFra Conversions APIevent_name + event_id matchTalt som ét købem ph fbp fbc client_ip_address client_user_agentKundeoplysninger på server-eventetAlmindelige Conversions API-fejl og hvordan du løser dem
| Det, du ser | Sandsynlig årsag | Løsning |
|---|---|---|
| Hele forespørgslen fejler, og ingen events bliver behandlet | Ét event i batchen har en event_time, der er mere end 7 dage gammel | Send events, når de sker. Ret eller drop gamle events, før du prøver igen. |
| Meta rapporterer flere køb, end din shop havde | Forskellige event-id'er, et pixel-event uden eventID eller en anden app, der sender den samme pixel | Brug ét id til begge kopier og én server-afsender pr. pixel. |
| Lav matchkvalitet på server-events | Din server sender sin egen IP-adresse og user agent | Videregiv den IP-adresse og user agent, der er registreret fra shopperens browser eller ordre. |
| Få events med fbc | fbclid blev ikke gemt på landingssiden, eller det blev ændret | Gem fbclid præcis, som det ankommer, og byg fbc ud fra det. |
| E-mail og telefon matcher ikke | Værdier, der er hashet uden normalisering, eller sendt uden hashing | Fjern 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 token | Adgangstokenet stammer fra et Facebook-login, og login-tokens udløber | Forbind igen, eller brug et System User-token fra Business Manager, som du kan oprette uden udløbsdato. |
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
fbpogfbc, 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
- Meta for Developers: Handling Duplicate Pixel and Conversions API Events
- Meta for Developers: Server Event Parameters
- Meta for Developers: Customer Information Parameters
- Meta for Developers: Using the API - Conversions API
- Meta for Developers: ClickID and the fbp and fbc Parameters