- Meta Conversions API trimite evenimente precum Purchase de pe serverul tău, așa că ajung la Meta chiar și când pixelul din browser este blocat.
- Rulează-l alături de pixel și dă ambelor copii același nume de eveniment și același event_id; Meta numără atunci evenimentul o singură dată dacă ambele ajung în 48 de ore.
- Evenimentele de pe site au nevoie de action_source, event_source_url și de user agent-ul cumpărătorului; emailul și telefonul cu hash, adresa IP, fbp și fbc decid cât de bine le poate potrivi Meta.
- Testează cu fila Test events din Events Manager, apoi elimină codul de test, pentru că evenimentele de test nu sunt ignorate.
- Cele mai multe probleme provin din event id-uri nepotrivite, din adresa IP a serverului însuși, dintr-un fbclid pierdut sau din date de contact care au primit hash fără normalizare.
Meta Conversions API (CAPI) permite serverului tău să trimită evenimente precum Purchase direct către Meta. Pixelul Meta trimite aceleași evenimente din browserul cumpărătorului. CAPI le trimite de pe serverul tău, așa că ajung în continuare când un blocant de reclame oprește pixelul, un cookie a dispărut sau pagina de mulțumire nu se încarcă niciodată.
Acest ghid explică ce conține un eveniment Conversions API, cum îl rulezi alături de pixel cu un singur event_id, ce parametri cere și recomandă Meta, cum testezi cu Test events și erorile care apar cel mai des.
Ce este Meta Conversions API?
Conversions API face parte din Graph API al Meta. Serverul tău trimite o cerere HTTPS POST către graph.facebook.com/VERSION/PIXEL_ID/events cu un access token și o listă data de până la 1,000 de evenimente. Fiecare eveniment descrie o acțiune, cum ar fi o achiziție, în trei părți: ce s-a întâmplat, cine a făcut-o și detaliile.
| Câmp | Ce conține |
|---|---|
event_name | Acțiunea, de exemplu Purchase, AddToCart sau InitiateCheckout |
event_time | Când s-a întâmplat, ca Unix timestamp în secunde |
event_id | Un id unic pentru acest eveniment, folosit pentru deduplicarea lui față de pixel |
action_source | Unde s-a întâmplat: website pentru achizițiile din magazin |
event_source_url | URL-ul paginii unde a avut loc evenimentul |
user_data | Informații despre client pentru potrivire: email și telefon cu hash, adresă IP, user agent, fbp și fbc |
custom_data | Detalii precum value, currency și content_ids |
Un eveniment Purchase simplificat arată așa:
{
"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" }
}]
}Câmpurile de contact, precum emailul și telefonul, sunt normalizate și primesc hash SHA-256 înainte să părăsească serverul tău. Adresa IP, user agent-ul, fbp și fbc sunt trimise ca atare.
De ce să rulezi Conversions API alături de pixel?
Meta recomandă să rulezi Conversions API alături de pixel și să trimiți aceleași evenimente prin ambele. Fiecare parte vede ceva ce cealaltă nu vede, iar împreună îi dau Meta date mai complete.
- Setează cookie-ul _fbp și stochează fbclid-ul unui click pe reclamă în cookie-ul _fbc
- Vede pagina și browserul cât timp are loc vizita
- Se pierde când browserul îl blochează sau pagina nu se încarcă
- Trimite comanda plătită din datele magazinului tău
- Poate adăuga email, telefon și adresă cu hash din comandă
- Nu depinde de browser, așa că blocantele de reclame nu îl opresc
Prețul rulării ambelor este că Meta primește acum două copii ale fiecărui eveniment. Secțiunea următoare arată cum păstrează Meta doar una.
Cum funcționează deduplicarea cu un singur event_id?
Meta tratează un eveniment din browser și un eveniment de pe server drept același eveniment când se potrivesc două lucruri: numele evenimentului și event id-ul. În pixel, id-ul se pune în opțiunea eventID. În Conversions API, aceeași valoare se pune în event_id.
fbq('track', 'Purchase', { value: 74.00, currency: 'USD' }, { eventID: 'order-1042' });Meta deduplică o pereche potrivită doar dacă cele două copii ajung la cel mult 48 de ore una după cealaltă. Câteva reguli fac ca asta să funcționeze în practică:
- Creează id-ul o singură dată. Construiește-l din ceva ce știu ambele părți, precum numărul comenzii, și transmite-l și browserului, și serverului. Două sisteme care își creează fiecare propriul id nu se vor potrivi.
- Folosește un singur format.
order-1042și1042sunt id-uri diferite. - Potrivește exact numele evenimentului.
Purchaseșipurchasesunt evenimente diferite. - Trimite evenimentul de pe server cu promptitudine. Un eveniment de pe server care ajunge la mai mult de 48 de ore după evenimentul din browser este numărat a doua oară.
Meta descrie și o a doua metodă, care asociază evenimentele după fbp sau external_id. Meta spune că, în general, funcționează doar când evenimentul din browser ajunge înaintea celui de pe server, așa că un event_id comun este alegerea mai fiabilă. Dacă Meta raportează totuși mai multe achiziții decât a avut magazinul tău, ghidul nostru despre evenimentele de achiziție duplicate listează cauzele obișnuite.
Ce parametri sunt obligatorii și care sunt recomandați?
Câmpurile obligatorii fac un eveniment valid. Câmpurile recomandate decid câte dintre evenimentele tale poate Meta să le potrivească cu o persoană, iar doar evenimentele potrivite pot fi folosite pentru atribuire și livrarea reclamelor.
| Parametru | Evenimente de pe site | Ce trimiți |
|---|---|---|
event_name | Obligatoriu | Un eveniment standard, precum Purchase, sau un nume de eveniment personalizat |
event_time | Obligatoriu | Timp Unix în secunde, cu cel mult 7 zile în trecut |
action_source | Obligatoriu | website pentru evenimentele din magazinul tău |
event_source_url | Obligatoriu | URL-ul paginii unde a avut loc evenimentul |
client_user_agent | Obligatoriu | Șirul user agent al browserului cumpărătorului, nu cel al serverului tău |
user_data | Obligatoriu | Cel puțin un parametru de informații despre client |
event_id | Recomandat | Același id pe care îl folosește pixelul, pentru deduplicare |
em, ph | Recomandat | Email și telefon, normalizate și cu hash SHA-256 |
client_ip_address | Recomandat | Adresa IP a cumpărătorului, fără hash |
fbp, fbc | Recomandat | Cookie-urile cu id-ul de browser și click id-ul, fără hash |
external_id | Recomandat | Propriul tău id de client, același în evenimentele din browser și de pe server |
value, currency | Se trimite cu Purchase | Valoarea comenzii și un cod de monedă din trei litere |
Trei detalii provoacă cele mai multe probleme:
- Normalizează înainte să aplici hash. Meta se așteaptă ca emailul să fie curățat de spații și scris cu litere mici, iar numerele de telefon să fie cifre cu prefixul de țară.
Anna@Example.comșianna@example.comdau hash-uri diferite, iar doar al doilea se poate potrivi. - Nu aplica hash identificatorilor din browser.
fbp,fbc, adresa IP și user agent-ul se trimit ca valori simple. - Păstrează click id-ul exact așa cum este. Valoarea
fbcestefb.1., momentul creării în milisecunde, un punct șifbcliddin URL-ul paginii de destinație.fbclidține cont de majuscule și minuscule. Salvează-l când vizitatorul ajunge pe site, pentru că la checkout nu se mai află în URL.
Cât de bine se potrivesc aceste câmpuri este ceea ce măsoară scorul Event Match Quality al Meta. Ghidul nostru despre Event Match Quality tratează fiecare parametru, regulile de hash și scorul spre care să țintești.
Cum testezi evenimentele cu Test events?
Events Manager are o filă Test events care arată evenimentele pe măsură ce sosesc. Folosește-o înainte să te bazezi pe o configurare nouă.
- Deschide Test events
În Events Manager, selectează setul tău de date (pixelul) și deschide fila Test events. Copiază codul de test pe care îl arată.
- Adaugă codul la evenimentele de pe server
Trimite-l ca
test_event_codeîn cerere. În ROASaurus, lipește-l în câmpul Test event code al pixelului Meta. - Plasează o comandă de test
Intră în magazin, adaugă un produs și plătește, ca atât pixelul, cât și serverul să trimită un Purchase.
- Compară cele două copii
Ambele copii ar trebui să arate același nume de eveniment, același event id, aceeași valoare și aceeași monedă.
- Verifică informațiile despre client
Evenimentul de pe server ar trebui să conțină email și telefon cu hash, adresa IP, user agent-ul și fbp, plus fbc dacă vizita a început cu un click pe o reclamă.
- Elimină codul de test
Meta spune că acest câmp este doar pentru testare, așa că elimină-l înainte să te bazezi pe evenimente.
Purchase browser order-1042 74.00 USDDe la pixelPurchase server order-1042 74.00 USDDe la Conversions APIevent_name + event_id matchNumărate ca o singură achizițieem ph fbp fbc client_ip_address client_user_agentInformații despre client în evenimentul de pe serverErori frecvente la Conversions API și cum le rezolvi
| Ce vezi | Cauză probabilă | Soluție |
|---|---|---|
| Întreaga cerere eșuează și niciun eveniment nu este procesat | Un eveniment din lot are un event_time mai vechi de 7 zile | Trimite evenimentele când au loc. Corectează sau elimină evenimentele vechi înainte să reîncerci. |
| Meta raportează mai multe achiziții decât a avut magazinul tău | Event id-uri diferite, un eveniment de pixel fără eventID sau o a doua aplicație care trimite același pixel | Folosește un singur id pentru ambele copii și un singur expeditor de pe server per pixel. |
| Calitate scăzută a potrivirii la evenimentele de pe server | Serverul tău trimite propria adresă IP și propriul user agent | Transmite adresa IP și user agent-ul înregistrate din browserul cumpărătorului sau din comandă. |
| Puține evenimente cu fbc | fbclid nu a fost salvat pe pagina de destinație sau a fost modificat | Stochează fbclid exact așa cum sosește și construiește fbc din el. |
| Emailul și telefonul nu se potrivesc | Valori cu hash fără normalizare sau trimise fără hash | Elimină spațiile și scrie emailul cu litere mici, păstrează cifrele și prefixul de țară ale telefonului, apoi aplică hash SHA-256. |
| Cererile eșuează cu o eroare de token expirat | Access tokenul provine dintr-o autentificare Facebook, iar tokenurile de autentificare expiră | Reconectează-te sau folosește un token System User din Business Manager, pe care îl poți crea fără dată de expirare. |
După câteva zile de trafic real, deschide fila Diagnostics din Events Manager. Meta listează acolo problemele, cu recomandări pentru remediere. Apoi compară numărul zilnic de Purchase din Events Manager cu comenzile plătite din magazinul tău pentru aceleași zile. Dacă Meta este clar mai sus, pagina noastră de ajutor despre evitarea numărării duble listează setările de verificat.
Cum configurezi Conversions API cu ROASaurus
ROASaurus trimite evenimentele Conversions API din datele comenzilor din magazinul tău, așa că nu trebuie să construiești tu partea de server. În Tracking & platforms, fă click pe Connect with Facebook și alege contul tău de reclame și pixelul, sau lipește id-ul pixelului (al setului de date) și un token Conversions API. Ghidul de configurare Meta parcurge ambele variante, iar pagina integrării Meta listează fiecare câmp trimis.
- Un singur id pe ambele părți. Evenimentele din browser și de pe server împart același event id. Pentru o achiziție, acesta este
order-urmat de id-ul comenzii. - O scurtă pauză înainte de achiziție. Purchase-ul de pe server așteaptă un scurt moment după sosirea comenzii, ca evenimentul de achiziție din browser să poată fi asociat mai întâi. Adresa IP, user agent-ul și URL-ul paginii acestuia pleacă apoi cu evenimentul de pe server, împreună cu
fbpșifbcsalvate pentru vizitator. - Informații despre client din comandă. Emailul, telefonul, numele și adresa sunt normalizate și primesc hash SHA-256. Id-ul clientului din magazin și id-ul de vizitator ROASaurus intră cu hash ca
external_id. - Evenimentele pe care Meta nu le poate potrivi sunt omise. Un eveniment fără
fbc,fbp, email, telefon sau adresă IP nu este trimis.
Event log afișează fiecare livrare de pe server cu cererea și răspunsul Meta. Dacă marjele tale diferă mult între produse, poți trimite și o valoare de profit alături de fiecare achiziție: ghidul nostru despre optimizarea valorii Meta pentru profit explică cum. Pentru traseul complet al datelor de la click la comandă, vezi tracking-ul server-side.
Surse
- 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