- Server-side tracking pro WooCommerce odesílá každou zaplacenou objednávku z vlastních dat objednávek obchodu do Meta, TikToku a dalších reklamních platforem, takže se nákup započítá, i když se pixel v prohlížeči nikdy nespustí.
- ROASaurus považuje objednávku z WooCommerce za zaplacenou, když má stav processing nebo completed, což zahrnuje objednávky na dobírku a bankovní převody, jakmile je potvrdíte.
- Plugin ROASaurus uloží u každé objednávky v pokladně ID návštěvníka a cookies s kliknutím na reklamu, takže je objednávka přesně propojena se svým kliknutím na reklamu.
- Bez pluginu webhooky stále doručují každou zaplacenou objednávku, ale neprobíhá párování přes poděkovací stránku: objednávky se propojují jen podle e-mailu zadaného dříve na webu nebo podle jedinečné IP adresy a prohlížeče.
- Na WooCommerce se skript ROASaurus řídí pluginy pro správu souhlasů, které používají WP Consent API, například Complianz a CookieYes, a také lištami Cookiebot, OneTrust a IAB TCF.
Server-side tracking pro WooCommerce odesílá každou zaplacenou objednávku z dat objednávek vašeho obchodu do Meta, TikToku a dalších reklamních platforem, místo aby se spoléhal jen na pixel v prohlížeči nakupujícího. Nákup se nahlásí, i když blokátor reklam pixel zastaví nebo nakupující na poděkovací stránku nikdy nedorazí.
Tento průvodce popisuje, proč e-shopy na WooCommerce ztrácejí konverze, jaká data objednávek vám WooCommerce poskytuje a dva způsoby připojení ROASaurus: plugin pro WordPress nebo webhooky. Poté následuje párování, souhlas, nastavení a testování. Obecnou myšlenku vysvětluje článek co je server-side tracking.
Proč e-shopy na WooCommerce ztrácejí konverze?
Pixel v prohlížeči nahlásí nákup, jen když se načte skript pixelu, nakupující dorazí na poděkovací stránku a prohlížeč odešle událost. Každý z těchto kroků může selhat. Samotná objednávka je přesto ve vaší databázi, protože ji WooCommerce ukládá na serveru.
| Co se děje | Pixel v prohlížeči | Data objednávek ve WooCommerce |
|---|---|---|
| Nakupující platí přes přesměrování (například PayPal nebo bankovní aplikaci) a zavře kartu | Žádná poděkovací stránka, žádná událost nákupu | Zaplacená objednávka, stav processing |
| Blokátor reklam nebo nastavení soukromí zablokuje skript pixelu | Žádná událost nákupu | Zaplacená objednávka |
| Návštěvník odmítne marketingové cookies | Pixel se nesmí načíst | Zaplacená objednávka |
| Bankovní převod se potvrdí o tři dny později | V tu chvíli není otevřený žádný prohlížeč | Stav se změní z on hold na processing |
| Plugin pro cache nebo optimalizaci skriptů zpozdí pixel | Událost může přijít pozdě nebo chybět | Zaplacená objednávka |
Chybějící nákupy škodí dvojím způsobem. Reklamní platforma optimalizuje na méně konverzí a vaše reporty ukazují nižší návratnost, než ve skutečnosti dosahujete. Tady je druhý efekt v číslech pro ukázkový e-shop s ROAS bodu zvratu 2.2:
| Ukázkový e-shop, jeden měsíc | Pouze pixel | Každá zaplacená objednávka |
|---|---|---|
| Útrata za reklamu na Meta | $8,000 | $8,000 |
| Nákupy z kliknutí na Meta | 260 | 320 |
| Tržby při $60 na objednávku | $15,600 | $19,200 |
| ROAS | 15,600 ÷ 8,000 = 1.95 | 19,200 ÷ 8,000 = 2.40 |
| Proti bodu zvratu (2.2) | Vypadá jako ztráta | Ziskové |
Co vám WooCommerce nabízí: objednávky, webhooky a REST API
Které stavy objednávky se považují za zaplacené?
WooCommerce popisuje stav processing jako přijatou platbu s objednávkou čekající na vyřízení. ROASaurus odesílá objednávky se stavem processing nebo completed a přeskakuje objednávky ve stavech pending payment, on hold, failed, cancelled a refunded. Pozornost vyžadují dva způsoby platby:
- Dobírka. WooCommerce nastavuje tyto objednávky na processing, dokud se platba nevybere, takže je ROASaurus odesílá při vytvoření. Výjimkou jsou objednávky se stahovatelným produktem: ty přejdou do stavu on hold. Co to znamená pro vratky a odmítnuté zásilky, najdete v článku tracking objednávek na dobírku.
- Bankovní převod. WooCommerce tyto objednávky drží ve stavu on hold, dokud platbu neověříte. ROASaurus je odešle, když je přesunete do stavu processing.
Webhooky
Webhook je zpráva, kterou WooCommerce pošle jinému systému, když se něco změní. Vytvoříte ho v části WooCommerce › Settings › Advanced › Webhooks. U topicu objednávky je payload stejný objekt objednávky, jaký vrací REST API. Každé doručení nese hlavičku X-WC-Webhook-Signature: hash HMAC-SHA256 payloadu v kódování base64, vytvořený pomocí tajného klíče, který zvolíte. ROASaurus tento podpis ověří, než objednávku přijme.
V praxi záleží na dvou detailech. WooCommerce doručuje webhooky na pozadí, ve výchozím nastavení přes WP-Cron, takže se doručení může zpozdit, když tato fronta běží se zpožděním. A WooCommerce webhook vypne po více než pěti neúspěšných doručeních po sobě.
REST API
REST API umožňuje, aby si ROASaurus objednávky vyžádal sám. S API klíčem jen pro čtení se ROASaurus každých 5 minut zeptá na objednávky ve stavech processing a completed změněné od poslední kontroly, s 30minutovým překryvem. Objednávky, které už má, se ignorují. Takto se zachytí každá objednávka, kterou webhook zmeškal.
| Pole objednávky | Co s ním ROASaurus dělá |
|---|---|
id | Stane se ID události order-1042, které sdílí serverová událost i událost z prohlížeče |
total | Hodnota nákupu: celková částka včetně daně a dopravy |
| Fakturační e-mail, telefon, jméno, město, stát, PSČ, země | Zahashováno pomocí SHA-256 a odesláno jako údaje o zákazníkovi |
customer_ip_address, customer_user_agent | Odesílá se s událostí a slouží ke spárování objednávky s návštěvníkem |
line_items | ID produktů (ID varianty, pokud existuje), množství a ceny |
date_paid_gmt | Čas události u objednávek z webhooku nebo REST API (datum vytvoření, pokud datum zaplacení chybí) |
meta_data | S pluginem: ID návštěvníka a cookies Meta a TikTok |
Plugin, nebo webhooky: dva způsoby připojení
Obě připojení odesílají každou zaplacenou objednávku. Liší se tím, jak dobře je každá objednávka propojená s kliknutím na reklamu, které nakupujícího přivedlo.
| Plugin ROASaurus | Jen webhooky | |
|---|---|---|
| Co instalujete | Plugin pro WordPress (PHP 7.4 a WooCommerce 6.0 nebo novější) | Nic: webhook v nastavení WooCommerce |
| Jak objednávky přicházejí | Plugin odešle každou zaplacenou objednávku do API pro objednávky ROASaurus | WooCommerce odešle událost Order updated; volitelná kontrola přes REST API každých 5 minut |
| Trackovací skript | Načítá ho plugin na každé stránce | Přidáte ho sami, například pomocí pluginu WPCode nebo ve svém motivu |
| ID návštěvníka a cookies s kliknutím u objednávky | Ano, uloží se v pokladně (klasické i blokové) | Ne |
| Nákup z prohlížeče na poděkovací stránce | Ano, se stejným ID události jako serverová událost | Ne |
| Párování přes poděkovací stránku | Ano | Ne |
Můžete používat obojí najednou. Plugin uloží ID návštěvníka k objednávce jako meta data objednávky a payload webhooku ho přenáší s sebou. ROASaurus ukládá každou objednávku jen jednou podle jejího ID objednávky ve WooCommerce, takže plugin a webhook nikdy nevytvoří dva nákupy. Plugin také deklaruje podporu pro High-Performance Order Storage ve WooCommerce.
Jak se objednávka z WooCommerce páruje s kliknutím na reklamu?
Reklamní platforma může připsat nákup reklamě jen tehdy, když dokáže obojí propojit. ROASaurus to dělá tak, že objednávku propojí s návštěvníkem, který na reklamu klikl, a tento návštěvník nese ID kliknutí (například fbclid a ttclid) a parametry UTM z příchodu na web. Zkouší tyto metody postupně a zastaví se u první, která funguje:
- ID návštěvníka uložené u objednávky. Jen s pluginem. Je to přesné propojení.
- Nákup z prohlížeče na poděkovací stránce, který nese stejné ID objednávky. Jen s pluginem.
- Zahashovaný e-mail, který návštěvník zadal dříve na vašem webu, například ve vyskakovacím formuláři Klaviyo, Attentive nebo Wisepops či prostřednictvím volání Identify.
- Stejná IP adresa a prohlížeč, zaznamenané od 3 hodin před objednávkou do 15 minut po ní, ale jen tehdy, když odpovídá právě jeden návštěvník. Ve sdílených sítích, například v kancelářích a u mobilních operátorů, sdílí jednu IP adresu často více návštěvníků a ROASaurus pak nehádá.
ROASaurus před odesláním každého nákupu krátce počká, aby mohla jako první dorazit událost z poděkovací stránky. Pokud je objednávka stále nespárovaná, zkusí to znovu v okamžiku odeslání. Stránka Orders ukazuje výsledek u každé objednávky ve sloupci Matched by. Objednávky propojené přes ID návštěvníka z pluginu ukazují cart, stejný štítek, jaký dostávají objednávky ze Shopify.
| Odesláno do Meta pro objednávku 1042 | Spárováno (plugin) | Nespárováno (jen webhooky) |
|---|---|---|
ID události order-1042 | Ano | Ano |
| Zahashovaný e-mail, telefon, jméno a adresa | Ano | Ano |
| IP adresa a prohlížeč objednávky | Ano | Ano |
ID kliknutí Meta a ID prohlížeče (fbc, fbp) | Ano | Ne |
Zahashované ID návštěvníka (external_id) | Ano | Ne |
| Kliknutí na reklamu v atribuci ROASaurus | Kampaň a reklama kliknutí | Zobrazí se jako přímé nebo neznámé |
Tyto identifikátory kliknutí zvyšují míru spárování události u Meta. Event Match Quality vysvětluje, jak je Meta hodnotí.
Souhlas na WooCommerce
Každý obchod v ROASaurus má nastavení Respect visitor consent, které je ve výchozím stavu zapnuté. Na WooCommerce skript ROASaurus čte volbu návštěvníka z WP Consent API, které vyplňují pluginy pro správu souhlasů, například Complianz a CookieYes. Čte také Cookiebot, OneTrust, lišty IAB TCF a Google consent mode. Dokud návštěvník nepřijme marketingové cookies, skript nenastavuje žádné ID návštěvníka a nenačítá žádné pixely v prohlížeči.
Když návštěvník odmítne, skript nenastavuje žádné ID návštěvníka, neukládá žádná ID kliknutí a nespouští žádné pixely v prohlížeči a plugin k objednávce neukládá žádné trackovací cookies. Zaplacená objednávka se přesto odesílá ze serveru vašim připojeným reklamním platformám s hashovanými údaji o zákazníkovi z objednávky a s IP adresou a prohlížečem objednávky. Pokud podle vašeho právního poradenství vyžadují předchozí souhlas i události nákupu, kontaktujte ROASaurus dřív, než zapnete server-side nákupy. Podrobnosti najdete na stránce nápovědy o souhlasu a právní pozadí popisuje článek Consent Mode v2 a GDPR.
Jak nastavit server-side tracking na WooCommerce
Kroky pro variantu s pluginem:
- Přidejte obchod
V ROASaurus přejděte na Add a store, vyberte WooCommerce a zadejte doménu, na kterou chodí vaši zákazníci.
- Vytvořte klíč API
Otevřete Store settings a v části Orders API klikněte na Create API key. Klíč hned zkopírujte: zobrazí se jen jednou, vedle klíče vašeho obchodu. Endpoint je adresa před
/api/v1/ordersna této stránce. - Nainstalujte plugin
Stáhněte plugin a nahrajte soubor zip ve WordPressu v Plugins › Add New Plugin › Upload Plugin. Potom ho aktivujte.
- Zadejte klíče
V části WooCommerce › ROASaurus zadejte endpoint, klíč obchodu a API klíč a uložte.
- Připojte své reklamní platformy
V části Tracking & platforms použijte pro Meta, TikTok a další platformy Connect with Facebook nebo Add pixel. Zaškrtněte volbu, která načte i pixel v prohlížeči, aby se nákup z poděkovací stránky deduplikoval se serverovou událostí.
- Nastavte souhlas a otestujte
Zablokujte skript ve svém nástroji pro správu souhlasů, dokud návštěvník nepřijme marketingové cookies, a pak vytvořte testovací objednávku.
Bez pluginu přidejte tag skriptu z Tracking & platforms na každou stránku a poté vytvořte webhook. Na záložce Connection vašeho obchodu najdete URL webhooku. Držte ji v soukromí: kdokoli s touto URL může do vašeho obchodu posílat objednávky.
WooCommerce › Settings › Advanced › Webhooks › Add webhook Status Active Topic Order updated Delivery URL (your webhook URL from the Connection tab) Secret (a secret of your choice; paste the same one in ROASaurus) API version WP REST API Integration v3
Jako zálohu vytvořte klíč v části WooCommerce › Settings › Advanced › REST API s oprávněním ke čtení. Vložte consumer key a secret na záložce Connection, uložte a stiskněte Test connection. Fetch orders now okamžitě stáhne nedávné zaplacené objednávky. Všechny možnosti najdete pohromadě na stránce integrace WooCommerce.
Jak otestovat server-side tracking na WooCommerce?
Nejdřív otestujte stranu prohlížeče, pak vytvořte objednávku a sledujte ji až k reklamním platformám.
- Otevřete svůj obchod s
?roasaurus=connectedv adrese. Upozornění potvrdí, že skript běží. S?roasaurus=debugskript zapisuje do konzole prohlížeče, co odesílá. - V Event log by v části Collected events měla zobrazení stránek ukazovat ID návštěvníka.
- Vytvořte testovací objednávku. Nejrychlejší je dobírka, protože objednávka je ve stavu processing hned.
- Na záložce Connection ukazuje Last order received čas poslední objednávky.
- V Event log dostane každá připojená platforma v části Server deliveries řádek se stavem sent a odpovědí platformy.
PageView visitor 3f9c2a1eSkript načtený se souhlasemPurchase order-1042Poděkovací stránka, pixely v prohlížeči se spustilyorder 1042 processingPřijato z pluginuMeta Purchase sentStejné ID události, bez duplicitTikTok CompletePayment sentStejné ID události, bez duplicitChcete-li událost vidět v Meta, vložte kód z Events Manager › Test events do pole Test event code u svého pixelu Meta v ROASaurus. Až skončíte, kód odstraňte, protože je určen jen pro testování. Pokud plugin objednávku nemůže doručit, přidá do WooCommerce k objednávce poznámku, která začíná „ROASaurus: order not sent“, následovanou chybou.
Chyby, kterým se vyhnout
- Použití topicu Order created. Objednávky placené přesměrováním se vytvářejí jako pending payment. ROASaurus ignoruje nezaplacené objednávky a po přijetí platby nepřijde druhá zpráva „created“. Použijte Order updated.
- Tajný klíč, který nesouhlasí. ROASaurus odmítne doručení, jehož podpis nesouhlasí s tajným klíčem, který má. Po více než pěti neúspěších po sobě WooCommerce webhook vypne. Opravte tajný klíč, nastavte webhook zpět na Active a přidejte REST API klíč, aby se objednávky z mezery stáhly.
- Dva nástroje odesílají stejný pixel. Pokud váš pixel Meta nebo TikTok odesílá i jiný plugin, používá vlastní ID událostí a platforma započítá každý prodej dvakrát. Pro tento pixel ho vypněte. Viz předcházení dvojímu započítání a duplicitní události nákupu.
- Očekávání událostí přidání do košíku. Na WooCommerce skript sleduje zobrazení stránek sám od sebe. Zobrazení produktů a přidání do košíku se automaticky zjišťují jen na Shopify. Vývojář je může odeslat pomocí volání
tlqtrack. - Očekávání konverzí Google Ads. ROASaurus odesílá nákupní konverze Google Ads jen z pokladny Shopify. Z WooCommerce odesílá nákupy do Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn a dalších reklamních platforem, které připojíte.
- Pozdní bankovní převody. Meta přijímá serverové události nejpozději 7 dní po čase události. Plugin odesílá objednávku s datem jejího vytvoření, takže Meta odmítne převod potvrzený více než 7 dní po pokladně. Objednávky, které přijdou přes webhook nebo REST API, používají místo toho datum zaplacení. Všimněte si také, že poděkovací stránka spouští nákup z prohlížeče v pokladně, ještě před zaplacením převodu. Pokud se platba potvrdí o více než 48 hodin později, Meta a TikTok nedokážou kopie z prohlížeče a ze serveru sloučit a převod, který se nikdy nezaplatí, si svůj nákup z prohlížeče ponechá.
Jakmile objednávky začnou proudit, atribuční reporty ukážou, z kterých kampaní a reklam pocházejí.
Zdroje
- WooCommerce: Webhooks Documentation
- WooCommerce REST API Documentation - WP REST API v3
- WooCommerce: Order Statuses Documentation
- WooCommerce: Cash on Delivery Documentation
- Meta for Developers: Server Event Parameters