Pri jednom nákupe môže e-shop posielať Meta Purchase z prehliadača cez Pixel aj zo servera cez Conversions API. Ak obe cesty reprezentujú tú istú obchodnú udalosť, Meta ich má vedieť spárovať podľa aktuálnych pravidiel — najmä cez event_id a názov eventu.
Táto príručka vysvetľuje, čo ide browserom, čo serverom, čo je event_id, čo možno technicky overiť z prehliadača a kde už treba server-side alebo Meta account evidenciu.
Obsah vychádza z oficiálnej Meta dokumentácie a metodiky AdsLeak používanej pri overovaní odosielaných nákupných dát.
Diagnostika
Pixel posiela event z prehliadača. Conversions API posiela event zo servera na Graph API. Meta ich popisuje ako dva kanály na zdieľanie tej istej udalosti — nie ako tvrdenie, že CAPI je vždy presnejšie. Pozri Conversions API v dokumentácii Meta.
| Vrstva | Meta Pixel | Conversions API |
|---|---|---|
| Odkiaľ ide event | Prehliadač (Pixel / fbq) | Server (Conversions API) |
| Browser Network / HAR | Typicky pozorovateľný | Nie priamo — Graph API request z prehliadača nevidno |
| Ovplyvnenie browserom | Áno (consent, blokovanie, načítanie tagu) | Odlišné — závisí od serverovej implementácie |
| Purchase parametre | Podľa browser payloadu | Podľa server payloadu (custom_data, user_data) |
| Overenie spracovania v Meta | Nie bez Events Manager | Nie bez Events Manager alebo server evidencie |
Pri diagnostike Meta Purchase nestačí jedna vrstva. Browser Pixel, server CAPI a Events Manager môžu o tom istom nákupe hovoriť rôzne.
1. vrstva
Browser-side Purchase môže byť pri teste pozorovateľný v network vrstve: event, value, currency, eventID a content údaje, ak ich request obsahuje.
2. vrstva
Server → Meta request v bežnom browser HAR nie je viditeľný. Pixel v prehliadači nedokazuje, že CAPI odišlo, ani aký payload server poslal.
3. vrstva
Prijatie, matching, výsledok deduplikácie a reporting sú platform-side. Bez prístupu do Meta alebo server-side evidencie AdsLeak túto vrstvu nepotvrdzuje.
Prioritou sú parametre pre ecommerce QA, nie kompletný API reference. Pixel syntax a CAPI payload sú dva formáty tej istej obchodnej udalosti. Oficiálny zoznam Pixel standard events je v Meta Pixel standard events v dokumentácii Meta; CAPI polia v Server event parameters v dokumentácii Meta a Custom data parameters v dokumentácii Meta.
| Parameter | Čo to v praxi znamená |
|---|---|
| event / event_name | Pri nákupe má ísť o standard event Purchase. Pixel používa názov v fbq track, CAPI pole event_name. Na deduplikáciu sa musia zhodovať. |
| value + currency | Meta pri Pixel Purchase vyžaduje value a currency. CAPI ich posiela v custom_data. Nie sú automaticky celková suma, ktorú zákazník zaplatil — záleží na implementácii. |
| content_ids / contents | Identifikátory a položky nákupu. Pre katalógové reklamy Meta vyžaduje contents alebo content_ids. content_type sa často posiela ako product. |
| eventID / event_id | Identifikátor udalosti na párovanie Pixel + CAPI. V Pixeli ide ako eventID v štvrtom argumente fbq. V CAPI ako event_id. Majú sa zhodovať. |
| event_time, action_source | CAPI server event: čas udalosti a zdroj akcie (pri webe website). Pixel ich v tejto podobe neposiela. |
Meta pri Pixel Purchase vyžaduje currency a value. Value nie je automaticky suma, ktorú zákazník zaplatil — záleží na tom, čo implementácia do payloadu vloží. Princíp source-side QA je rovnaký ako pri GA4 Purchase evente: porovnávať odoslané parametre s testovanou objednávkou, nie s reportingom v účte.
Zjednodušený príklad podľa aktuálnej Meta Pixel dokumentácie. Nie je to jediný možný spôsob implementácie. Čísla nie sú z reálneho e-shopu. eventID ide ako štvrtý argument fbq('track'), nie ako pole vo vnútri custom objectu.
Zjednodušený príklad
fbq("track", "Purchase", {
value: 79.90,
currency: "EUR",
content_ids: ["SKU-001"],
content_type: "product"
}, {
eventID: "ORDER-12345"
});Zjednodušený server payload tej istej objednávky. Nie je to produkčný request ani návod na credentials. User data sú placeholdery — Meta vyžaduje SHA-256 hash normalizovaných údajov, pozri Customer information parameters v dokumentácii Meta. event_id sa zhoduje s Pixel eventID.
Zjednodušený príklad
{
"data": [
{
"event_name": "Purchase",
"event_time": 1711929600,
"event_id": "ORDER-12345",
"action_source": "website",
"user_data": {
"em": ["HASHED_EMAIL_SHA256"],
"ph": ["HASHED_PHONE_SHA256"],
"client_user_agent": "Mozilla/5.0"
},
"custom_data": {
"value": 79.90,
"currency": "EUR",
"content_ids": ["SKU-001"],
"content_type": "product",
"contents": [
{ "id": "SKU-001", "quantity": 1, "item_price": 79.90 }
]
}
}
]
}Meta sa snaží rozpoznať, keď Pixel a Conversions API posielajú tú istú udalosť, a duplicitu zahodiť. Odporúčaná metóda je kombinácia identifikátora a názvu eventu. Pravidlá sú v Handling Duplicate Pixel and Conversions API Events.
Pixel eventID sa musí zhodovať s CAPI event_id. Meta uvádza, že ID má byť unikátne pre danú udalosť — napríklad číslo objednávky, ak každá objednávka dostane iné.
Pixel event sa musí zhodovať s CAPI event_name. Purchase s AddToCart sa nespárujú, aj keď majú rovnaké ID.
Meta uvádza, že ak na ten istý Pixel ID príde rovnaká kombinácia ID + názov do 48 hodín od prvého eventu s daným event_id, následné eventy zahodí. Server event Meta nezahodí, ak v predchádzajúcich 48 hodinách ešte neprišiel browser event — aj keď identický Pixel event príde neskôr.
V server event parameters Meta uvádza: ak sa eventy zhodujú do 48 hodín, berie sa prvý. Ak server a browser/app event prídu približne v rovnakom čase (do 5 minút), Meta uprednostní browser/app event.
Ako sekundárnu pomôcku Meta v best practices spomína aj kombináciu external_id a fbp. Odporúčaná metóda ostáva event_id + názov eventu. Help Center verzia je v Deduplication for Meta Pixel and Conversions API events (Help Center).
Aj keď browser a server používajú rovnaké ID, meranie stále môže zlyhať. Rozlišujte technicky pozorovateľný problém od výsledku platform-side deduplikácie v Events Manageri.
Tieto body z browser HAR nevyplývajú. AdsLeak ich bez Meta účtu alebo server evidencie nepotvrdzuje.
Pri konkrétnom flowe môže byť Pixel Purchase v network vrstve pozorovateľný: či request odišiel, event name, value, currency, event ID a product/content údaje — iba ak ich request skutočne obsahuje.
Pixel request v browseri nie je dôkazom toho, čo server odoslal cez Conversions API.
First-party alebo server-side tagging endpoint v HAR tiež nie je Graph API request na Meta. Nedokazuje prijatie v Events Manageri ani úspešnú deduplikáciu.
Pre úplné vyhodnotenie CAPI implementácie treba inú evidenciu, ako je browser HAR. AdsLeak do týchto nástrojov prístup nemá.
Checklist platí pre zachytený Pixel payload. Nerozširujte ho automaticky na server CAPI.
Pri dokončenom nákupe sa Pixel Purchase v network nezachytil. To je source-side observation. Nehovorí, či CAPI odišlo zo servera.
CAPI event z browser HAR nepotvrdíte. Overenie vyžaduje server log, payload na Graph API alebo Test Events v Events Manageri.
Ak Pixel eventID v zachytenom requeste chýba alebo sa pri tom istom nákupe mení, AdsLeak to vie z browser evidencie ukázať. Zhoda so serverom z HAR nevyplýva.
Meta deduplikuje, keď sa Pixel eventID zhoduje s CAPI event_id a názvy eventov sedia. Rozdiel server/browser z prehliadača samého nevidno.
Meta používa event_id na odlíšenie podobných udalostí. Rovnaké ID pre rôzne objednávky môže spôsobiť, že Meta udalosti zlučí. Browser vie ukázať len ID v Pixel requeste.
Meta pri Pixel Purchase value a currency vyžaduje. Ak sa nezhodujú s objednávkou, ide o payload voči scenáru — nie automaticky o výsledok v Ads Manageri.
Viac Pixel Purchase pri jednom flowe je source-side observation. Ako to Meta následne spracuje, bez účtu AdsLeak nepotvrdzuje.
Ak Pixel a CAPI posielajú inú value, menu alebo content IDs pre tú istú objednávku, ide o nekonzistentný business payload. Browser scan ukáže len Pixel stranu. Server payload z HAR nevidno.
Body označené ako server / Meta browser scan sám nepotvrdí.
Pri testovacej objednávke AdsLeak vie overiť zachytený browser-side Meta Purchase a údaje, ktoré obsahoval. Samotný server → Meta CAPI request bez ďalšieho evidence source z browser HAR-u nevidíme.
AdsLeak vie na konkrétnej testovacej objednávke preveriť podporovanú source-side tracking vrstvu a porovnať odoslané nákupné dáta so scenárom. Server → Meta CAPI request z bežného browser záznamu nepotvrdzujeme.
Doplňujúce informácie
Pixel posiela event z prehliadača. Conversions API posiela event zo servera na Graph API. Pri jednom nákupe môžu ísť obe cesty. Pixel request v browseri nie je dôkazom toho, čo server odoslal cez CAPI.