Platforme de publicitate și magazine online

Meta Conversions API (CAPI): ghid practic

Un ghid practic pentru Meta Conversions API: rulează-l alături de pixel cu un singur event_id, trimite parametrii potriviți, testează evenimentele și remediază erorile frecvente.

·Actualizat pe ·9 min de citit·De echipa ROASaurus

Ideile principale
  • 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âmpCe conține
event_nameAcțiunea, de exemplu Purchase, AddToCart sau InitiateCheckout
event_timeCând s-a întâmplat, ca Unix timestamp în secunde
event_idUn id unic pentru acest eveniment, folosit pentru deduplicarea lui față de pixel
action_sourceUnde s-a întâmplat: website pentru achizițiile din magazin
event_source_urlURL-ul paginii unde a avut loc evenimentul
user_dataInformații despre client pentru potrivire: email și telefon cu hash, adresă IP, user agent, fbp și fbc
custom_dataDetalii precum value, currency și content_ids
Fiecare eveniment Conversions API are aceeași structură: acțiunea, informațiile despre client și detaliile.

Un eveniment Purchase simplificat arată așa:

Conversions API: un eveniment Purchase (prescurtat)
{
  "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.

Pixelul Meta (browser)
  • 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ă
Conversions API (server)
  • 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
Pixelul aduce identificatorii din browser, iar serverul aduce comanda. Fiecare singur pierde o parte din tablou.

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.

Pixelul Meta: același Purchase cu eventID
fbq('track', 'Purchase', { value: 74.00, currency: 'USD' }, { eventID: 'order-1042' });
Cumpărătorul plăteșteComanda 1042, $74.00
Pixelul trimite PurchaseeventID order-1042, din browser
Serverul trimite Purchaseevent_id order-1042, din comandă
Meta numără unulAcelași nume și id în 48 de ore
Ambele copii au același nume de eveniment și același id, așa că Meta păstrează o achiziție în loc de două.

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 și 1042 sunt id-uri diferite.
  • Potrivește exact numele evenimentului. Purchase și purchase sunt 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.

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.

ParametruEvenimente de pe siteCe trimiți
event_nameObligatoriuUn eveniment standard, precum Purchase, sau un nume de eveniment personalizat
event_timeObligatoriuTimp Unix în secunde, cu cel mult 7 zile în trecut
action_sourceObligatoriuwebsite pentru evenimentele din magazinul tău
event_source_urlObligatoriuURL-ul paginii unde a avut loc evenimentul
client_user_agentObligatoriuȘirul user agent al browserului cumpărătorului, nu cel al serverului tău
user_dataObligatoriuCel puțin un parametru de informații despre client
event_idRecomandatAcelași id pe care îl folosește pixelul, pentru deduplicare
em, phRecomandatEmail și telefon, normalizate și cu hash SHA-256
client_ip_addressRecomandatAdresa IP a cumpărătorului, fără hash
fbp, fbcRecomandatCookie-urile cu id-ul de browser și click id-ul, fără hash
external_idRecomandatPropriul tău id de client, același în evenimentele din browser și de pe server
value, currencySe trimite cu PurchaseValoarea comenzii și un cod de monedă din trei litere
Meta listează action_source, event_source_url și client_user_agent ca obligatorii pentru evenimentele de pe site trimise prin Conversions API.

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 și anna@example.com dau 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 fbc este fb.1., momentul creării în milisecunde, un punct și fbclid din 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ă.

  1. 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ă.

  2. 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.

  3. 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.

  4. 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ă.

  5. 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ă.

  6. 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 pixel
Purchase server order-1042 74.00 USDDe la Conversions API
event_name + event_id matchNumărate ca o singură achiziție
em ph fbp fbc client_ip_address client_user_agentInformații despre client în evenimentul de pe server
Ce arată o comandă de test bună (valori de exemplu): două copii, un id și informații complete despre client.

Erori frecvente la Conversions API și cum le rezolvi

Ce veziCauză probabilăSoluție
Întreaga cerere eșuează și niciun eveniment nu este procesatUn eveniment din lot are un event_time mai vechi de 7 zileTrimite 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ăuEvent id-uri diferite, un eveniment de pixel fără eventID sau o a doua aplicație care trimite același pixelFoloseș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 serverServerul tău trimite propria adresă IP și propriul user agentTransmite adresa IP și user agent-ul înregistrate din browserul cumpărătorului sau din comandă.
Puține evenimente cu fbcfbclid nu a fost salvat pe pagina de destinație sau a fost modificatStochează fbclid exact așa cum sosește și construiește fbc din el.
Emailul și telefonul nu se potrivescValori cu hash fără normalizare sau trimise fără hashElimină 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 expiratAccess 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.
Cele mai multe probleme cu Conversions API apar ca cereri respinse, dubluri de numărare sau calitate scăzută a potrivirii.

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 și fbc salvate 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

  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

În ROASaurus

Continuă lectura

Platforme de publicitate și magazine onlineTracking-ul conversiilor pentru plata ramburs și checkout-urile externeTracking-ul conversiilor pentru plata ramburs: de ce pixelii pierd comenzile ramburs și pe cele din checkout-uri externe, când să trimiți achiziția și cum gestionezi comenzile refuzate.Platforme de publicitate și magazine onlineTracking-ul conversiilor în CCV Shop: ghid de configurareTracking-ul conversiilor în CCV Shop: trimite comenzile plătite către Meta și TikTok printr-un webhook semnat, leagă-le de click-urile pe reclame, configurează, testează și gestionează plățile întârziate.Platforme de publicitate și magazine onlineEnhanced conversions în Google Ads pe ShopifyEnhanced conversions adaugă date de client cu hash la achizițiile din Google Ads pe Shopify. Cum funcționează, prin ce diferă de importurile offline și cum se configurează.
Întrebări frecvente

Întrebări, cu răspunsuri

Am nevoie și de pixelul Meta, și de Conversions API?

Meta recomandă să le folosești pe ambele. Pixelul adaugă date din browser, precum cookie-ul fbp, iar Conversions API livrează evenimentele pe care browserul le ratează. Dă ambelor copii același nume de eveniment și același event id, ca Meta să numere fiecare eveniment o singură dată.

Cât așteaptă Meta pentru a deduplica un eveniment din browser și unul de pe server?

Meta deduplică un eveniment din browser și unul de pe server cu același nume de eveniment și același event id atunci când ajung la cel mult 48 de ore unul de celălalt. O copie care ajunge mai târziu este numărată din nou.

Conversions API cere ca datele clienților să primească hash?

Da, pentru datele de contact. Câmpurile de email, telefon, nume și adresă trebuie normalizate și să primească hash SHA-256. Adresa IP, user agent-ul, fbp și fbc se trimit fără hash.

Ce câmpuri sunt obligatorii pentru un eveniment de pe site?

Fiecare eveniment are nevoie de event_name, event_time, action_source și de cel puțin un parametru de informații despre client. Pentru evenimentele de pe site, Meta cere și event_source_url și client_user_agent.

Pot trimite comenzi vechi prin Conversions API?

Doar pe cele recente. event_time poate fi cu cel mult 7 zile în trecut, iar dacă un eveniment dintr-o cerere este mai vechi, Meta respinge întreaga cerere.

Fiecare vânzare, urmărită până la reclama care a adus-o

Tracking server-side, profit și lifetime value într-o singură aplicație. Probă gratuită de 14 zile, fără card bancar.

Începe proba gratuită →