Reklamní platformy a e-shopy

Server-side tracking pro WooCommerce: průvodce nastavením

Nastavte server-side tracking pro WooCommerce: odesílejte zaplacené objednávky do Meta a TikTok pomocí pluginu ROASaurus nebo webhooků, párujte je s kliknutími na reklamu a testujte.

·Aktualizováno ·11 min čtení·Od týmu ROASaurus

Nejdůležitější poznatky
  • 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ějePixel v prohlížečiData 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ákupuZaplacená objednávka, stav processing
Blokátor reklam nebo nastavení soukromí zablokuje skript pixeluŽádná událost nákupuZaplacená objednávka
Návštěvník odmítne marketingové cookiesPixel se nesmí načístZaplacená objednávka
Bankovní převod se potvrdí o tři dny pozdějiV 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í pixelUdálost může přijít pozdě nebo chybětZaplacená objednávka
V každém z těchto případů zaplacená objednávka ve WooCommerce existuje. Server-side tracking tuto objednávku odešle bez ohledu na to, co se stalo v prohlížeči.

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ícPouze pixelKaždá zaplacená objednávka
Útrata za reklamu na Meta$8,000$8,000
Nákupy z kliknutí na Meta260320
Tržby při $60 na objednávku$15,600$19,200
ROAS15,600 ÷ 8,000 = 1.9519,200 ÷ 8,000 = 2.40
Proti bodu zvratu (2.2)Vypadá jako ztrátaZiskové
Ilustrativní čísla. Stejná kampaň vypadá na datech z pixelu jako ztrátová a na datech objednávek vydělává.

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ávkyCo s ním ROASaurus dělá
idStane se ID události order-1042, které sdílí serverová událost i událost z prohlížeče
totalHodnota 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_agentOdesílá se s událostí a slouží ke spárování objednávky s návštěvníkem
line_itemsID 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_dataS pluginem: ID návštěvníka a cookies Meta a TikTok
Co ROASaurus čte z objednávky ve WooCommerce. Webhook a REST API vracejí stejná pole.

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.

PokladnaPlugin uloží do objednávky ID návštěvníka a cookies s kliknutím
Objednávka zaplacenaStav processing nebo completed
ROASaurusPřijme objednávku z pluginu nebo z webhooku
Reklamní platformyMeta, TikTok a další dostanou událost Purchase s ID události order-1042
Cesta dat s pluginem. Bez něj krok v pokladně neukládá nic navíc a objednávka dorazí jen přes webhook.
Plugin ROASaurusJen webhooky
Co instalujetePlugin 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 ROASaurusWooCommerce odešle událost Order updated; volitelná kontrola přes REST API každých 5 minut
Trackovací skriptNačítá ho plugin na každé stráncePř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ávkyAno, uloží se v pokladně (klasické i blokové)Ne
Nákup z prohlížeče na poděkovací stránceAno, se stejným ID události jako serverová událostNe
Párování přes poděkovací stránkuAnoNe
Obě připojení odesílají každou zaplacenou objednávku. Jen plugin propojí každou objednávku s jejím návštěvníkem už v pokladně.

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:

  1. ID návštěvníka uložené u objednávky. Jen s pluginem. Je to přesné propojení.
  2. Nákup z prohlížeče na poděkovací stránce, který nese stejné ID objednávky. Jen s pluginem.
  3. 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.
  4. 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 1042Spárováno (plugin)Nespárováno (jen webhooky)
ID události order-1042AnoAno
Zahashovaný e-mail, telefon, jméno a adresaAnoAno
IP adresa a prohlížeč objednávkyAnoAno
ID kliknutí Meta a ID prohlížeče (fbc, fbp)AnoNe
Zahashované ID návštěvníka (external_id)AnoNe
Kliknutí na reklamu v atribuci ROASaurusKampaň a reklama kliknutíZobrazí se jako přímé nebo neznámé
Nespárovaná objednávka se do Meta stále dostane s daty objednávky. Spárovaná objednávka přidá identifikátory kliknutí, které Meta používá k připsání zásluhy reklamě.

Tyto identifikátory kliknutí zvyšují míru spárování události u Meta. Event Match Quality vysvětluje, jak je Meta hodnotí.

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:

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

  2. 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/orders na této stránce.

  3. Nainstalujte plugin

    Stáhněte plugin a nahrajte soubor zip ve WordPressu v Plugins › Add New Plugin › Upload Plugin. Potom ho aktivujte.

  4. Zadejte klíče

    V části WooCommerce › ROASaurus zadejte endpoint, klíč obchodu a API klíč a uložte.

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

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

Nastavení webhooku
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=connected v adrese. Upozornění potvrdí, že skript běží. S ?roasaurus=debug skript 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 souhlasem
Purchase order-1042Poděkovací stránka, pixely v prohlížeči se spustily
order 1042 processingPřijato z pluginu
Meta Purchase sentStejné ID události, bez duplicit
TikTok CompletePayment sentStejné ID události, bez duplicit
Příklad v pořádku proběhlé testovací objednávky s pluginem. Při použití jen webhooků řádek poděkovací stránky chybí a to je očekávané.

Chcete-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í tlq track.
  • 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

  1. WooCommerce: Webhooks Documentation
  2. WooCommerce REST API Documentation - WP REST API v3
  3. WooCommerce: Order Statuses Documentation
  4. WooCommerce: Cash on Delivery Documentation
  5. Meta for Developers: Server Event Parameters

V ROASaurus

Čtěte dál

Reklamní platformy a e-shopyTracking konverzí u plateb na dobírku a externích pokladenTracking konverzí u dobírky: proč pixely přehlédnou objednávky na dobírku i z externích pokladen, kdy odeslat nákup a jak naložit s nepřevzatými objednávkami.Reklamní platformy a e-shopyTracking konverzí v CCV Shop: průvodce nastavenímTracking konverzí v CCV Shop: odesílejte zaplacené objednávky do Meta a TikTok podepsaným webhookem, propojte je s kliknutími na reklamu, vše nastavte a otestujte a zvládněte i pozdní platby.Reklamní platformy a e-shopyGoogle Ads enhanced conversions na ShopifyEnhanced conversions přidávají hashované údaje o zákazníkovi k nákupům v Google Ads na Shopify. Jak fungují, čím se liší od offline importů a jak je nastavit.
Časté dotazy

Otázky a odpovědi

Potřebuji pro WooCommerce plugin ROASaurus?

Ne. K odeslání každé zaplacené objednávky stačí webhook ve WooCommerce. Plugin přidává ke každé objednávce ID návštěvníka a cookies s kliknutím a deduplikovaný nákup z prohlížeče na poděkovací stránce, což propojuje objednávky s kliknutími na reklamy přesně, a proto se doporučuje.

Jaký topic webhooku ve WooCommerce mám použít?

Order updated, s verzí API WP REST API Integration v3. ROASaurus ignoruje objednávky, které nejsou ve stavu processing nebo completed, a každou objednávku ukládá jen jednou, takže opakované aktualizace nevytvářejí nákupy navíc.

Odesílají se objednávky na dobírku do Meta a TikToku?

Ano. WooCommerce dává objednávkám na dobírku při vytvoření stav processing a ROASaurus objednávky ve stavu processing počítá jako zaplacené. Objednávky s bankovním převodem se odešlou, když je přesunete z on hold do processing.

Co se odešle, když návštěvník odmítne cookies?

Zaplacená objednávka se přesto odešle ze serveru s hashovanými údaji o zákazníkovi a s IP adresou a prohlížečem z objednávky. Skript by bez souhlasu neměl běžet, takže neexistuje žádné ID návštěvníka ani ID kliknutí, kterým by se objednávka propojila s kliknutím na reklamu.

Proč přestal fungovat můj webhook ve WooCommerce?

WooCommerce webhook vypne po více než pěti neúspěšných doručeních po sobě. Zkontrolujte, že tajný klíč ve WooCommerce odpovídá klíči v ROASaurus, nastavte webhook zpět na Active a přidejte REST API klíč, aby se zmeškané objednávky stahovaly každých 5 minut.

Odesílá ROASaurus konverze Google Ads z WooCommerce?

Pro nákupy ne. Nákupní konverze Google Ads se odesílají jen z pokladny Shopify. Z WooCommerce ROASaurus 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.

Každý prodej dohledaný k reklamě, která ho přinesla

Server-side tracking, zisk a celoživotní hodnota zákazníka v jedné aplikaci. 14denní zkušební verze zdarma, bez platební karty.

Začněte svou zkušební verzi zdarma →