Server-side tracking a Meta CAPI: proč ho potřebujete už dnes
Meta pixel sám o sobě dnes část nákupů nezměří. Conversions API posílá události přímo ze serveru e-shopu. Ukážeme, jak ho nasadit správně, bez dvojitého počítání a v souladu se souhlasem.
Meta pixel běží v prohlížeči návštěvníka. To je jeho síla i slabina. Blokátory reklam ho zastaví, Safari zkracuje život cookies, na které spoléhá, a část nákupů se prostě nezměří. Kampaně na Facebooku a Instagramu se pak učí z neúplných dat a report ukazuje méně objednávek, než kolik jich reklama skutečně přinesla.
Meta Conversions API (CAPI) posílá stejné události přímo ze serveru e-shopu. Nezávisí na tom, co se stane v prohlížeči. V článku ukážeme, jak funguje, jak zabránit dvojitému počítání a jaké jsou možnosti nasazení.
Co je Conversions API a proč nestačí pixel
Conversions API je rozhraní, přes které váš server posílá Metě události: zobrazení produktu, přidání do košíku, zahájení pokladny, nákup. Každá událost nese informace o akci (co, kdy, s jakou hodnotou) a o zákazníkovi (údaje pro spárování s účtem na Metě).
Meta doporučuje takzvané redundantní nastavení: pixel a CAPI běží souběžně a posílají stejné události. Pixel dobře zachytí chování na stránce a identifikátory z prohlížeče. Server spolehlivě pošle nákup, i když pixel selže. Dohromady dají úplnější obraz, než kterýkoli z nich zvlášť.
Proč to řešit už teď:
- Automatické nabídky a Advantage+ kampaně optimalizují podle změřených nákupů. Méně dat znamená horší optimalizaci.
- Optimalizace na hodnotu nákupu potřebuje spolehlivě změřené hodnoty.
- Server může poslat údaje, které pixel nemá, třeba informaci, jestli jde o nového zákazníka, nebo marži.
Širší souvislosti ztráty dat v měření shrnujeme v článku Cookieless budoucnost a dopad na PPC.
Deduplikace: jak nezměřit nákup dvakrát
Když pixel i server pošlou stejný nákup, Meta ho musí započítat jen jednou. K tomu slouží deduplikace.
Pravidla podle dokumentace Meta:
- Obě události musí mít stejný `event_name` (například
Purchase) a stejné `event_id`. - Deduplikují se události, které dorazí do 48 hodin od sebe. Meta ponechá první přijatou a duplicitu zahodí.
- Když serverová a prohlížečová událost dorazí zhruba ve stejnou dobu, Meta upřednostní událost z prohlížeče.
- Události bez
event_iddeduplikovat nejde.
V praxi e-shop vygeneruje ID jednou a použije ho na obou stranách. U nákupu se nabízí číslo objednávky. V pixelu se předá jako čtvrtý parametr volání, například fbq('track', 'Purchase', {value: 1290, currency: 'CZK'}, {eventID: 'OBJ-2026-10452'}). Server pošle v CAPI stejnou hodnotu v poli event_id.
Nejčastější chyba, kterou vidíme: pixel posílá eventID s jiným formátem než server (třeba s prefixem na jedné straně). Deduplikace pak nefunguje a Meta hlásí dvojnásobek nákupů. Druhá častá chyba je odlišný název události, například Purchase v pixelu a purchase ze serveru.
Co musí serverová událost obsahovat
U webových událostí jsou podle dokumentace Meta povinné:
event_nameaevent_time(čas události; smí být nejvýš 7 dní v minulosti, jinak Meta odmítne celý požadavek),action_sources hodnotouwebsite,event_source_url(adresa, kde událost nastala),client_user_agent(identifikace prohlížeče).
K tomu parametry pro spárování se zákazníkem. E-mail (em) a telefon (ph) se musí před odesláním normalizovat a hashovat algoritmem SHA-256. Naopak identifikátory fbp (cookie prohlížeče) a fbc (identifikátor prokliku z reklamy), IP adresa a user agent se nehashují.
Event Match Quality: jak dobře Meta pozná zákazníka
Event Match Quality (EMQ) je skóre od 0 do 10, které Meta ukazuje ve Správci událostí u serverových událostí. Vyjadřuje, jak účinně se daří události spárovat s účty na Facebooku a Instagramu. Počítá se podle toho, které údaje o zákazníkovi posíláte, jak jsou kvalitní a jaký podíl událostí se spáruje.
Jak ho zvýšit:
- Posílejte víc údajů u víc událostí. Nejen u nákupu, ale i u přidání do košíku a zahájení pokladny, pokud je zákazník přihlášený nebo už zadal e-mail.
- Předávejte `fbp` a `fbc`. Server je musí převzít z cookies nebo z URL a poslat dál. Bez nich se hůř páruje návštěva s proklikem z reklamy.
- Normalizujte před hashováním. E-mail malými písmeny bez mezer, telefon s předvolbou země bez znaků navíc.
- Posílejte v reálném čase. Meta doporučuje sdílet události co nejdřív po tom, co nastaly. Dávky jednou denně zhoršují optimalizaci.
Možnosti nasazení
| Způsob | Jak funguje | Pro koho |
|---|---|---|
| Nativní integrace platformy | Platforma posílá události sama, vy vložíte token | E-shopy na SaaS s vestavěnou podporou |
| Conversions API Gateway | Meta software běžící ve vašem cloudu (AWS nebo Google Cloud) | Menší a střední e-shopy bez vývojáře |
| Server-side Google Tag Manager | Vlastní měřicí server na subdoméně, CAPI jako jeden z tagů | E-shopy, které řeší i Google Ads a GA4 |
| Přímé napojení přes API | E-shop posílá události ze svého backendu | Vlastní řešení, velké e-shopy |
Nativní integrace. Například Shoptet umožňuje v administraci propojení s Facebookem vložit přístupový token pro Conversions API, podobnou volbu má i Eshop-rychle. Je to nejrychlejší cesta, ale máte menší kontrolu nad tím, co a jak se posílá. Po zapnutí vždy ověřujeme deduplikaci a EMQ.
Conversions API Gateway. Meta za software neúčtuje poplatek, platíte provoz v cloudu. Nastavení je bez programování, ale posílá hlavně to, co zachytí pixel. Údaje dostupné jen na serveru (marže, nový zákazník) tak nedoplní.
[Server-side tracking](/kb/marketing/server-side-tracking) přes Google Tag Manager. Měřicí server běží na subdoméně e-shopu (například data.vasobchod.cz). Jedním kanálem obsloužíte Metu, Google Ads i GA4 a data můžete před odesláním filtrovat. Google ve své dokumentaci doporučuje pro produkční provoz na Cloud Run aspoň 3 instance a uvádí orientačně kolem 45 USD měsíčně za instanci (k 9/2026, aktuální ceník ověřte u poskytovatele).
Přímé napojení. E-shop pošle nákup ze svého backendu ve chvíli, kdy objednávka vznikne nebo je zaplacená, případně přes webhooky do middleware. Nejvíc kontroly, nejvíc práce.
Souhlas a GDPR: CAPI není obezlička
Server-side měření se někdy nabízí jako způsob, jak „změřit i lidi, kteří odmítli cookies". To je cesta k problému. V Česku platí pro nenezbytné cookies a podobné technologie opt-in: bez souhlasu návštěvníka ho nesmíte pro reklamní účely sledovat, ať už z prohlížeče, nebo ze serveru. Odeslání osobních údajů do Mety navíc potřebuje právní základ podle GDPR.
Jak to řešíme:
- Stav souhlasu z cookie lišty se předává serveru spolu s událostí. Bez souhlasu se událost do Mety nepošle.
- V pixelu se odmítnutí promítne přes
fbq('consent', 'revoke'), po udělení souhlasufbq('consent', 'grant'). - Posíláme jen data, která jsou pro měření potřeba. Žádné adresy ani obsah košíku navíc.
- Zpracování popisujeme v zásadách ochrany osobních údajů e-shopu.
Server-side tracking tedy nezvýší počet lidí, které smíte měřit. Zajistí, že u těch, kteří souhlas dali, se ztratí méně dat.
Jak na to prakticky
- Audit současného stavu. Které události posílá pixel, s jakými hodnotami, a jak se liší počet nákupů ve Správci událostí od objednávek v e-shopu.
- Volba způsobu nasazení podle platformy a toho, zda řešíte i Google Ads (tabulka výše).
- Jednotné `event_id` pro všechny klíčové události, nejlépe číslo objednávky u nákupu.
- Předávání souhlasu z cookie lišty na server.
- Test v nástroji Testovat události ve Správci událostí: dorazí prohlížečová i serverová událost a jsou deduplikované?
- Kontrola EMQ po týdnu provozu a doplnění chybějících parametrů.
- Měsíční kontrola poměru změřených nákupů a objednávek v e-shopu.
Conversions API nasazujeme jako součást správy kampaní ve službě Meta Ads, serverové měření pro Google Ads v rámci služby PPC kampaně. Jak na kampaně samotné, popisuje článek Meta Ads pro e-shopy: kompletní návod.
Potřebujete s tím pomoct?