- Na Shopify server-side tracking odesílá každý nákup ze zaplacené objednávky, kterou Shopify hlásí přes webhook, takže nezávisí na načtení poděkovací stránky.
- ID návštěvníka a ID kliknutí na reklamu se ukládají jako atributy košíku, takže je Shopify zkopíruje do objednávky a objednávku lze spárovat s kliknutím.
- Události z prohlížeče a ze serveru sdílejí jedno ID události sestavené z ID objednávky, takže Meta, TikTok, Snapchat, Pinterest a Reddit započítají každý nákup jednou.
- Se zapnutou volbou Respect visitor consent nedostane návštěvník, který odmítne marketingové cookies, žádné ID návštěvníka a jeho události z prohlížeče se reklamním platformám neodesílají, ale zaplacená objednávka se přesto odešle s hashovanými údaji o zákazníkovi z objednávky.
- Nastavení v ROASaurus má čtyři hlavní kroky: nainstalovat aplikaci, zapnout theme app embed, přidat pixel pokladny a připojit své reklamní platformy.
Server-side tracking na Shopify znamená, že každý nákup se do Meta, TikToku a dalších reklamních platforem dostane z dat objednávek vašeho obchodu, odeslaných serverem, a ne jen z pixelu v prohlížeči nakupujícího. Shopify hlásí každou zaplacenou objednávku trackovací aplikaci přes webhook a aplikace ji odešle do rozhraní Conversions API každé platformy, spárovanou s kliknutím na reklamu, které nakupujícího přivedlo.
Tento průvodce popisuje části tohoto toku na straně Shopify: theme app embed a app proxy, pixely v pokladně, webhook orders/paid, párování objednávek, deduplikaci, souhlas a nastavení v ROASaurus. Pro obecnou představu si nejdřív přečtěte co je server-side tracking.
Jak funguje server-side tracking na Shopify
Kliknutí a nákup se odehrávají v různých okamžicích a na různých místech. Kliknutí je vidět jen v prohlížeči, na vstupní stránce. Zaplacená objednávka je jistá až na straně Shopify, když je platba přijata. Server-side tracking zaznamená první, počká na druhé a obojí spojí.
Součásti Shopify: app embed, app proxy, pixely a webhooky
Obchod na Shopify nabízí trackovací aplikaci čtyři místa, kde může pracovat. Každé má jiný úkol a kompletní nastavení využívá všechna čtyři.
| Součást | Kde běží | Co dělá |
|---|---|---|
| Theme app embed | Každá stránka obchodu | Načítá trackovací skript, čte ID kliknutí na reklamy a ukládá ID návštěvníka do košíku |
| App proxy | Cesta na vaší vlastní doméně obchodu | Přijímá události z webu obchodu jako first-party požadavky |
| Customer events (pixely) | Pokladna a poděkovací stránka | Hlásí kroky pokladny a dokončenou pokladnu ze sandboxu |
| Webhooky objednávek | Servery Shopify | Odesílají objednávku aplikaci při jejím vytvoření a při zaplacení |
Theme app embed a app proxy
Theme app embed je blok, který aplikace přidá do vašeho motivu. Zapnete ho v editoru motivů, takže nemusíte vkládat žádný kód. Embed ROASaurus načítá skript na každé stránce. Na vstupní stránce čte ID kliknutí, například fbclid, ttclid a gclid, a parametry UTM a ukládá je spolu s first-party ID návštěvníka.
Skript odesílá své události přes app proxy Shopify. App proxy předává požadavky z cesty na vaší vlastní doméně, například yourstore.com/apps/roasaurus, na server aplikace. Pro prohlížeč je to požadavek na váš vlastní web, což může pomoci proti blokátorům reklam, které blokují známé trackovací domény. Shopify odstraňuje hlavičku Cookie z požadavků přes app proxy a hlavičku Set-Cookie z odpovědí, takže ID návštěvníka putuje uvnitř samotné události, a ne v cookie.
Customer events a pixely v pokladně
V pokladně Shopify běží trackovací skripty jako pixely v sandboxu, ne přímo na stránce. Spravujete je v části Settings › Customer events. Existují dva druhy. Pixely aplikací přicházejí s aplikací a běží v přísném sandboxu. Vlastní pixely přidává obchodník a běží v méně přísném sandboxu, který může načítat skripty třetích stran, například pixel Meta.
ROASaurus používá oba. Jeho pixel aplikace se zapne při instalaci aplikace. Hlásí do ROASaurus zahájení pokladny, krok s kontaktními údaji a dokončenou pokladnu. Volitelný vlastní pixel přidává do pokladny pixely v prohlížeči od Meta, TikTok, Snapchat, Pinterest a Reddit a odesílá konverze Google Ads.
Webhooky objednávek
Webhook je zpráva, kterou Shopify pošle aplikaci, když se v obchodě něco stane. ROASaurus odebírá mimo jiné orders/paid a orders/create. Objednávka ve webhooku obsahuje ID objednávky, hodnotu, položky, údaje o zákazníkovi, tokeny košíku a pokladny, atributy košíku a IP adresu a prohlížeč, ze kterých byla objednávka vytvořena. Přichází ze serverů Shopify, takže ji nemůže zastavit blokátor reklam ani zavřená karta.
Jak se objednávky párují s kliknutími na reklamy
Webhook sdělí ROASaurus, že objednávka byla zaplacena. K odeslání užitečné konverze ROASaurus potřebuje vědět také, který návštěvník objednávku vytvořil, protože záznam návštěvníka obsahuje ID kliknutí. Zkouší tato propojení postupně, od nejpřímějšího po nejméně přímé:
| Metoda | Jak to funguje | Kdy se používá |
|---|---|---|
| Atribut košíku | Skript zapíše ID návštěvníka a hodnoty fbc, fbp, ttp, gclid a ttclid jako atributy košíku. Shopify je zkopíruje do objednávky. | První volba |
| Tokeny košíku a pokladny | Skript propojí token košíku s návštěvníkem a pixel v pokladně propojí token pokladny. Webhook nese oba tokeny. | Když chybí atribut košíku |
| Událost pokladny | Pixel v pokladně hlásí dokončenou pokladnu s ID objednávky a ID návštěvníka. | Když nesouhlasí žádný token |
| E-mailová adresa | Zahashovaný e-mail návštěvníka, který ho zadal dříve, například v kroku s kontaktními údaji v pokladně. | Když neexistuje žádná událost pokladny |
| IP adresa a prohlížeč | Návštěvník zaznamenaný se stejnou IP adresou a prohlížečem krátce před objednávkou. | Jen když odpovídá právě jeden návštěvník |
Atributy košíku jsou důvodem, proč je párování na Shopify přímé. Jsou to dvojice klíč–hodnota uložené v košíku a Shopify je kopíruje do objednávky. Hodnota zapsaná na stránce produktu je tam stále, když webhook dorazí, i když nakupující poděkovací stránku předčasně zavřel.
Jedna výjimka: tlačítka zrychlené pokladny, například Buy it now, košík přeskakují. ROASaurus doporučuje je vypnout, aby se Add to cart sledovalo vždy. Objednávky vytvořené přes ně se přesto mohou spárovat přes token pokladny.
Jedna objednávka od začátku do konce
Takto to probíhá u jedné objednávky z reklamy na Meta při nainstalovaném vlastním pixelu:
page_view ?fbclid=IwAR2x…Nakupující přijde z reklamy na Meta. ID kliknutí se uloží k návštěvníkovi 3f2a.cart _tl=3f2a _tl_fbc=fb.1.…ID návštěvníka a hodnota kliknutí Meta se uloží jako atributy košíku.checkout_started ic-c1a9…Token pokladny se propojí se stejným návštěvníkem.checkout_completed order-6123456789012Pixel v pokladně nahlásí objednávku a pixel Meta odešle Purchase s tímto ID události.orders/paid #1042 id 6123456789012 $86.00Shopify odešle zaplacenou objednávku přes webhook.Meta CAPI Purchase order-6123456789012Po krátkém zdržení odejde serverová událost s ID kliknutí, IP adresou a user agentem.Kdy se nákup odešle: orders/paid nebo orders/create
Který webhook spustí nákup, závisí na tom, jak vaši zákazníci platí. Vybíráte ho jako typ pokladny v Store settings.
| Typ pokladny | Webhook | Kdy se nákup odešle |
|---|---|---|
| Shopify checkout | orders/paid | Když je objednávka zaplacena. Objednávky, které se nikdy nezaplatí, se neodesílají. |
| External / COD checkout | orders/create | Když je objednávka vytvořena. Pro dobírku a pro pokladny, například Checkify a CheckoutChamp, které vytvářejí objednávky ve Shopify. |
ROASaurus každý nákup po příchodu webhooku krátce zdrží. Během té doby obvykle dorazí i událost dokončené pokladny z prohlížeče. Její URL stránky, IP adresa a user agent se pak přidají k serverové události vedle ID kliknutí ze záznamu návštěvníka. Objednávky, které Shopify označí jako testovací, se zaznamenají, ale reklamním platformám se neodesílají.
Jak funguje deduplikace s pixely v prohlížeči
Když pixely v prohlížeči běží vedle serverových událostí, platforma dostane každý nákup dvakrát a musí si ponechat jen jeden. Dělá to pomocí ID události. ROASaurus dává oběma kopiím nákupu stejné ID sestavené z ID objednávky ve Shopify: order-6123456789012 pro objednávku s ID 6123456789012. Je to dlouhé číslo v URL objednávky v Shopify admin, ne název objednávky, například #1042. Pixel v pokladně ho používá pro Purchase z prohlížeče a server pro událost přes conversions API. Meta například ponechá jednu kopii, když se shoduje název a ID události a obě dorazí do 48 hodin.
| Platforma | Pixel v prohlížeči z ROASaurus | Deduplikuje se se serverovou událostí |
|---|---|---|
| Meta, TikTok, Snapchat, Pinterest, Reddit | Web obchodu a pokladna | Ano |
| X, Microsoft Advertising, Taboola | Žádný, jen serverové události | Není co slučovat |
| Google Ads | Jen pokladna, přes vlastní pixel | Odesláno jednou, z pokladny |
ID události funguje jen mezi událostmi, které ho nesou. Pokud stejný pixel odesílá jiná aplikace, její události mají vlastní ID a platforma objednávku započítá znovu. Na Shopify bývají obvyklými příčinami kanál Facebook & Instagram připojený ke stejnému pixelu, aplikace TikTok a kód pixelu vložený do theme.liquid. Náš průvodce duplicitními událostmi nákupu ukazuje, jak je najít, a Předcházení dvojímu započítání uvádí řešení.
Souhlas přes Customer Privacy API Shopify
Customer Privacy API od Shopify ukládá volbu cookies každého návštěvníka. Vyplňuje ji vaše cookie lišta, ať už používáte vlastní lištu Shopify, nebo aplikaci pro souhlas připojenou k API. Skripty a pixely se jí pak mohou zeptat, zda je pro tohoto návštěvníka marketing povolen.
Se zapnutou volbou Respect visitor consent, která je ve výchozím stavu v Store settings, se skript ROASaurus na webu obchodu a pixely v pokladně před sledováním zeptají API.
- Uloží se ID návštěvníka, ID kliknutí a události z procházení
- Pixely v prohlížeči se načtou a odesílají události
- Zaplacená objednávka se odešle ze serveru a spáruje s kliknutím na reklamu
- Nenastaví se žádné ID návštěvníka, takže se jeho návštěvy a kliknutí na reklamy k němu nepropojí
- Události z prohlížeče se uchovávají bez ID návštěvníka, IP adresy a údajů o prohlížeči a neodesílají se reklamním platformám
- Zaplacená objednávka se přesto odesílá ze serveru s hashovanými údaji o zákazníkovi z objednávky a s IP adresou a user agentem objednávky
- Událost, která dorazí do reklamní platformy, nenese žádné ID kliknutí
E-maily, telefonní čísla, jména a adresy se před odesláním reklamní platformě hashují pomocí SHA-256. Důležité jsou ještě tři detaily:
- Rozhoduje vaše lišta. ROASaurus se řídí tím, co API hlásí. Pokud API na stránce není k dispozici, ROASaurus bere návštěvníka jako souhlasícího, proto zkontrolujte, že je vaše lišta k API připojena.
- Vstupní stránka zůstává u objednávky. Shopify ukládá adresu vstupní stránky ke každé objednávce a může obsahovat značky kampaní a ID kliknutí. ROASaurus ji používá ve svých vlastních atribučních reportech, i u návštěvníků, kteří odmítli, a reklamním platformám ji neposílá.
- Odeslání objednávky je právní rozhodnutí. Zda lze zaplacenou objednávku návštěvníka, který odmítl, vůbec odeslat, je právní otázka pro váš obchod.
Náš průvodce Consent Mode v2 a GDPR vysvětluje pravidla v hrubých rysech a Souhlas a soukromí obsahuje podrobnosti.
Jak nastavit server-side tracking na Shopify v ROASaurus
Kroky nastavení proveďte v tomto pořadí:
- Nainstalujte aplikaci
Přejděte na Add a store, zvolte Shopify, zadejte svou doménu
.myshopify.coma klikněte na Install app. Schvalte aplikaci ve Shopify. ROASaurus zaregistruje webhooky objednávek a zapne svůj pixel aplikace. - Zapněte theme app embed
Na stránce Tracking & platforms klikněte na Open theme editor, zapněte app embed ROASaurus a uložte.
- Přidejte pixel pro pokladnu
V Shopify admin přejděte do Settings › Customer events a přidejte vlastní pixel s názvem ROASaurus. Nastavte jeho oprávnění na Not required, protože skript ROASaurus kontroluje volbu návštěvníka ohledně marketingu sám. Vložte kód z Tracking & platforms. Tento pixel potřebujete pro pixely v prohlížeči v pokladně a pro Google Ads.
- Připojte své reklamní platformy
V části Tracking & platforms klikněte u každé platformy na Add pixel nebo u Meta na Connect with Facebook. Ponechte zapnutou volbu, která načte i pixel v prohlížeči, pokud chcete deduplikované události z prohlížeče.
- Zkontrolujte nastavení obchodu
V Store settings zvolte typ pokladny a ponechte zapnuté Respect visitor consent, pokud prodáváte tam, kde se souhlas vyžaduje.
- Odstraňte ostatní odesílatele
V kanálu Facebook & Instagram odstraňte tento pixel z nastavení sdílení dat. Snížení úrovně sdílení dat nestačí, protože každá úroveň, včetně Standard, odesílá pixel Meta z prohlížeče. Pokud stejný pixel odesílá aplikace TikTok, zastavte ho i tam a odstraňte kód pixelu ze svého motivu.
Kód vlastního pixelu vypadá takto. Zkopírujte ho z Tracking & platforms, kde je už vyplněn klíč vašeho obchodu. Stejné kroky obsahuje průvodce nastavením Shopify.
self.tl = this; document.head.appendChild(document.createElement('script')).src = 'https://app.roasaurus.com/c.js?k=YOUR_STORE_KEY';Jak ověřit, že to funguje
Než se na čísla spolehnete, otestujte jednu skutečnou objednávku:
- Otevřete svůj obchod s
?roasaurus=connectedna konci URL. Zpráva potvrdí, že skript běží. - U Meta vložte kód z Events Manager › Test events do pole Test event code u pixelu.
- Vytvořte skutečnou objednávku s nízkou cenou a poté ji vraťte. Testovací objednávky Shopify se neodesílají.
- V Event log se serverové doručení objednávky u každé platformy zobrazí jako sent spolu s odpovědí platformy.
- V testovacím zobrazení platformy ověřte, že Purchase z prohlížeče i ze serveru sdílejí ID události
order-plus ID objednávky ve Shopify. - Testovací kód události poté odstraňte.
Co server-side tracking na Shopify nevyřeší
- Odmítnutý souhlas. Objednávky od návštěvníků, kteří odmítli marketingové cookies, se odesílají, ale bez ID kliknutí, takže je reklamní platformy párují hůř.
- Omezení cookies v Safari. Nakupující, který se vrátí po více než 7 dnech, může vypadat jako nový návštěvník. First-party trackovací subdoména udrží sběr dat na vaší doméně, ale Safari může i tyto cookies omezit na 7 dní.
- Rozdíly v atribuci. Každá reklamní platforma stále připisuje prodeje podle vlastních oken a modelů. Chcete-li kanály porovnávat podle jednotných pravidel, použijte vlastní atribuci.
- Další aplikace na stejném pixelu. ID událostí slučují jen události, které je sdílejí.
Řeší naopak nákup, který se uskutečnil, ale k reklamní platformě nikdy nedorazil, protože se událost z prohlížeče ztratila. Co ROASaurus každé platformě odesílá, najdete na stránce server-side tracking a v integraci Shopify.
Zdroje
- Shopify: Customer Privacy API
- Shopify: Authenticate app proxies
- Shopify Help Center: Manage your custom pixels
- Shopify Help Center: Facebook data sharing
- Meta: Handling Duplicate Pixel and Conversions API Events
V ROASaurus
- Nápověda: nastavení ROASaurus na Shopify
- Integrace Shopify
- Server-side tracking v ROASaurus
- Nápověda: souhlas a soukromí