- Tracking konverzí v CCV Shop je nejúplnější, když se každá zaplacená objednávka odesílá z dat objednávky v CCV na serveru a na stránce úspěšné objednávky je snippet, který objednávku propojí s kliknutím na reklamu.
- Jedno kliknutí na Create webhook způsobí, že CCV Shop nahlásí každou objednávku v okamžiku, kdy je označena jako zaplacená, a každé doručení musí nést soukromý token vašeho obchodu.
- Objednávky z CCV Shop neobsahují IP adresu nakupujícího, takže snippet na stránce úspěšné objednávky je v CCV Shop důležitější než na většině platforem.
- 5minutová kontrola se dívá jen na nedávno vytvořené objednávky, takže objednávky zaplacené o dny později závisejí na webhooku: nechte ho aktivní.
- Meta odmítá serverové události starší než 7 dní od vytvoření objednávky, takže velmi pozdní platba převodem se do Meta nedostane.
Tracking konverzí v CCV Shop znamená nahlásit každou zaplacenou objednávku ve vašem e-shopu v CCV Shop reklamním platformám, jako jsou Meta a TikTok, aby připsaly zásluhu správným reklamám a optimalizovaly na skutečné prodeje. Nejúplnější způsob je odesílat každý nákup z dat objednávky v CCV na serveru a na stránku úspěšné objednávky přidat krátký snippet, který objednávku propojí s kliknutím na reklamu.
CCV Shop je hostovaná platforma pro e-shopy od nizozemské společnosti CCV, která uvádí, že provozuje 17,000 e-shopů. Tento průvodce vysvětluje, jak se k ní ROASaurus připojuje, jak se objednávky propojují s kliknutími na reklamu, co se dostane do Meta a TikTok, nastavení, testování a jak fungují pozdní platby. Obecnou myšlenku si přečtěte v článku co je server-side tracking.
Jak se ROASaurus připojuje k CCV Shop?
ROASaurus využívá tři části CCV Shop, všechny popsané v dokumentaci API od CCV:
| Část CCV Shop | K čemu ji ROASaurus využívá |
|---|---|
| REST API s veřejným a tajným klíčem | Čte každou zaplacenou objednávku a její řádky |
Webhook pro událost orders.updated.ispaid | CCV nahlásí objednávku v okamžiku, kdy se změní její stav platby |
Stránka úspěšné objednávky s Vertoshop.js | Snippet tam přečte ID objednávky a propojí objednávku s návštěvníkem |
Proč pixely v prohlížeči přehlédnou nákupy v CCV Shop?
Pixel v prohlížeči nahlásí nákup jen tehdy, když prohlížeč nakupujícího načte stránku úspěšné objednávky a spustí se skript pixelu. Několik běžných situací to naruší:
- Nakupující platí přes přesměrování, například pomocí iDEAL, a zavře kartu dřív, než se načte stránka úspěšné objednávky.
- Blokátor reklam nebo nastavení soukromí v prohlížeči zablokuje skript pixelu.
- Návštěvník odmítne marketingové cookies, takže se pixel nesmí načíst.
- Objednávka se zaplatí později, bankovním převodem nebo při doručení, kdy žádný prohlížeč nehraje roli.
V každém z těchto případů CCV Shop objednávku stále označí jako zaplacenou. ROASaurus ji odešle ze serveru, takže se nákup nahlásí bez ohledu na to, co se stalo v prohlížeči. Snippet na stránce úspěšné objednávky má jiný úkol: sdělí ROASaurus, kterému návštěvníkovi, a tedy kterému kliknutí na reklamu, objednávka patří.
Webhook zaplacené objednávky a 5minutová kontrola
Co dělá Create webhook
Když stisknete Create webhook, ROASaurus zaregistruje v CCV webhook pro událost orders.updated.ispaid, kterou CCV spustí, když se změní vlastnost zaplaceno u objednávky. Adresou je URL webhooku vašeho obchodu v ROASaurus, která obsahuje klíč obchodu a soukromý token. CCV do webhooku nepřidává nic, co by identifikovalo obchod, a jeho dokumentace doporučuje vložit identifikátor do adresy. To zajišťuje klíč obchodu.
CCV dává každému webhooku vlastní 32znakový tajný klíč. Když CCV tento klíč vrátí, ROASaurus ho uloží a od té chvíle musí každé doručení nést platnou hlavičku x-hash. Každé doručení musí nést také token vašeho obchodu. Když ROASaurus doručení přijme, ignoruje nezaplacené objednávky, z API přečte celou objednávku a její řádky a odešle ji, jen když CCV potvrdí, že je zaplacená.
Podepsaná volání API
CCV vyžaduje podpis každého volání API. ROASaurus odesílá tři hlavičky: x-public s vaším veřejným klíčem, x-date s aktuálním časem a x-hash. CCV odmítne časové razítko, které se od jeho serverového času liší o více než 5 minut. Samotný tajný klíč se nikdy neodesílá.
API call (ROASaurus → CCV) x-hash = HMAC-SHA512( public_key|METHOD|uri|body|timestamp , secret_key ) Webhook (CCV → ROASaurus) x-hash = HMAC-SHA512( address|payload , webhook_key )
Kontrola po 5 minutách
Každých 5 minut se ROASaurus navíc dotazuje CCV na zaplacené objednávky vytvořené od poslední kontroly s 30minutovým překryvem a zaznamená ty, které ještě nemá. CCV filtruje objednávky jen podle data vytvoření. Kontrola tedy najde objednávky zaplacené brzy po vytvoření a objednávka zaplacená o dny později se do ROASaurus dostane jen přes webhook.
CCV považuje odpověď 200, 201, 202 nebo 204 za úspěch. Po odpovědi 307, 408, 503 nebo 504 nechá doručení otevřené a zkusí ho znovu při dalším výskytu, jakoukoli jinou odpověď označí za neúspěšnou. Na připojení čeká 2 sekundy a na odpověď 5 sekund.
Jak se objednávka z CCV Shop propojí s kliknutím na reklamu?
Aby platforma mohla připsat zásluhu reklamě, potřebuje identifikátory kliknutí návštěvníka, který objednával, například ID kliknutí Meta (fbc) a ID kliknutí TikTok (ttclid). Skript ROASaurus je u každého návštěvníka uloží, když přijde z reklamy. ID návštěvníka ROASaurus z objednávky v CCV nezíská, proto objednávky s návštěvníky propojuje jinými způsoby:
| Metoda | V CCV Shop | Jak to funguje |
|---|---|---|
| 1. Snippet na stránce úspěšné objednávky | Ano | Přečte ID objednávky pomocí Vertoshop.getOrder().getId(), k tomu celkovou částku objednávky a měnu, a spustí nákup ROASaurus s ID události order-58213 |
| 2. Dříve zadaný e-mail | Ano | Hashovaný e-mail, který návštěvník dříve zadal na vašem webu, ve vyskakovacím formuláři nebo přes volání Identify |
| 3. IP adresa a prohlížeč | Ne | Objednávky z CCV Shop neobsahují IP adresu ani prohlížeč nakupujícího, takže tato záložní metoda nemá co porovnávat |
ROASaurus před odesláním každého nákupu krátce počká, aby mohla jako první dorazit událost ze stránky úspěšné objednávky, a v okamžiku odeslání zkusí párování znovu. Stránka Orders ukazuje výsledek u každé objednávky ve sloupci Matched by: thank_you, email nebo not matched.
Nespárovaná objednávka se na vaše reklamní platformy přesto odešle s hashovanými daty zákazníků z objednávky. Nemá žádné identifikátory kliknutí a protože objednávky z CCV nenesou IP adresu ani prohlížeč, nemá ani je. To snižuje podíl událostí, které Meta dokáže přiřadit k člověku; jak Meta toto hodnotí, vysvětluje Event Match Quality. V atribuci ROASaurus se nespárovaná objednávka zobrazí jako přímá nebo neznámá.
Co se z objednávky v CCV dostane do Meta a TikTok?
| Data objednávky z CCV | Odesláno jako |
|---|---|
id | ID události order-58213 a ID objednávky |
total_price, currency | Hodnota a měna (EUR, když CCV měnu neuvede) |
create_date | Čas události |
| E-mail zákazníka, mobilní nebo telefonní číslo, jméno a příjmení | Hashováno pomocí SHA-256 |
| Fakturační město, PSČ a kód země | Hashováno pomocí SHA-256 |
| ID zákazníka | Hashované externí ID |
| Řádky objednávky: číslo produktu, ID produktu, počet, cena a název | Produkty s ID, množstvím a cenou |
| IP adresa a prohlížeč | Není v objednávkách z CCV: převezme se z události na stránce úspěšné objednávky nebo ze spárovaného návštěvníka |
Meta přijímá Purchase přes své Conversions API a TikTok CompletePayment přes své Events API, obojí s ID události order-58213. TikTok nyní ve svých reportech zobrazuje CompletePayment jako Purchase. Když zaškrtnete možnost načíst také pixel v prohlížeči, snippet na stránce úspěšné objednávky spustí tytéž události v prohlížeči se stejným ID události a Meta i TikTok ponechají jednu kopii. Stejné objednávky odcházejí také do Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn a dalších reklamních platforem, pokud je připojíte. Nákupní konverze Google Ads se odesílají jen z pokladny Shopify, takže je ROASaurus z CCV Shop neodesílá.
Jak nastavit tracking konverzí v CCV Shop
- Přidejte obchod v ROASaurus
Přejděte na Add a store, vyberte CCV Shop a zadejte adresu svého obchodu. Na záložce Connection se pak zobrazí váš tag skriptu a snippet pro stránku úspěšné objednávky.
- Najděte své klíče API
V CCV Shop přejděte do My webshop › Settings › General › API settings a klikněte na New API key. Pokud to nevidíte, nejdřív nainstalujte aplikaci API z CCV App Store.
- Přidejte skript na každou stránku
Vložte tag skriptu do Header HTML svého obchodu. Nápověda CCV ho umisťuje do Mijn webshop › Instellingen › Lay-out › Layout, dole na stránce. Funguje i blok kódu aplikace v hlavičce.
- Přidejte snippet na stránku úspěšné objednávky
Přejděte do Mijn webshop › Instellingen › Algemeen › Teksten, otevřete text, který se zobrazí po zadání objednávky, přepněte na Source a vložte tam snippet. CCV Shop ho pak spustí na stránce úspěšné objednávky.
- Připojte API
Na záložce Connection zadejte veřejný a tajný klíč. Shop URL vyplňte jen tehdy, když vaše API běží na jiné doméně než váš obchod. Uložte, stiskněte Test connection a poté Create webhook.
- Připojte své reklamní platformy
Na Tracking & platforms použijte pro Meta Connect with Facebook nebo Add pixel a pro TikTok Add pixel. Zaškrtněte možnost načíst také pixel v prohlížeči.
Souhlas
Mimo Shopify čte skript ROASaurus volbu návštěvníka z běžných nástrojů pro správu souhlasů: Cookiebot, OneTrust, lišt IAB TCF a Google consent mode. U jiné cookie lišty zavolejte tlq('consent', true), když návštěvník přijme marketingové cookies, a tlq('consent', false), když je odmítne. Dokud návštěvník nepřijme, nemá žádné ID návštěvníka ani ID kliknutí a nespouštějí se žádné pixely v prohlížeči. Zaplacená objednávka se přesto odesílá ze serveru s hashovanými údaji o zákazníkovi z objednávky. Podrobnosti vysvětluje stránka nápovědy o souhlasu.
Jak otestovat tracking konverzí v CCV Shop?
- Otevřete svůj obchod s
?roasaurus=connectedv adrese. Upozornění potvrdí, že skript běží.?roasaurus=debugzapisuje 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 objednávku a zaplaťte ji, nebo ji označte jako zaplacenou. V části Collected events by Event log měl ukázat Purchase s ID objednávky z CCV v datech. Pokud chybí, snippet na stránce úspěšné objednávky se nespustil.
- Na záložce Connection ukazuje Last order received objednávku a Last sync poslední 5minutovou kontrolu, případně s chybou od CCV.
- V části Server deliveries v Event log dostane každá připojená platforma řádek se stavem sent a odpovědí platformy.
PageView visitor 51c0e9a7Skript na každé stráncePurchase order-58213Snippet na stránce úspěšné objednávkywebhook orders.updated.ispaidPodpis ověřen, objednávka zaplacenaMeta Purchase sentMatched by thank_youTikTok 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 pixelu Meta v ROASaurus a po dokončení ho odstraňte.
Pozdní platby a další omezení
Platby převodem a dobírka se platí až po vytvoření objednávky. Takto probíhá ukázková objednávka placená převodem od dne jejího vytvoření:
| Kdy | Co se děje | Výsledek |
|---|---|---|
| Den 0, v pokladně | Objednávka je vytvořena, ne zaplacena | Neodesláno: 5minutová kontrola se ptá jen na zaplacené objednávky |
| Den 0, asi o 35 minut později | Čas vytvoření objednávky vypadne z okna kontroly | Od teď ji může nahlásit už jen webhook |
| Den 3 | Označíte objednávku jako zaplacenou | Dorazí webhook, ROASaurus ji odešle. Čas události z Dne 0 je starý 3 dny: Meta ji přijme |
| Místo toho den 9 | Označíte objednávku jako zaplacenou | Dorazí webhook, ROASaurus ji odešle. 9 dní je víc než 7: Meta ji odmítne |
- Dobírka. ROASaurus tyto objednávky odesílá, když je CCV označí jako zaplacené, obvykle po doručení. Kdy takové objednávky započítat, vysvětluje tracking dobírky.
- Nákupy z prohlížeče před zaplacením. Snippet na stránce úspěšné objednávky se spustí při vytvoření objednávky, takže pixely v prohlížeči nahlásí objednávku placenou převodem ještě před zaplacením. Pokud platba přijde o více než 48 hodin později, Meta a TikTok nedokážou kopie z prohlížeče a ze serveru sloučit.
- Žádná záložní metoda přes IP adresu. Přidejte snippet na stránku úspěšné objednávky a e-maily zachytávejte dříve na svém webu, kde to jde.
- Storna a vratky se neodesílají. Jakmile se nákup odešle, zůstává v reklamní platformě.
- Jen zobrazení stránek, bez kódu. Zobrazení produktů a přidání do košíku se automaticky zjišťují jen na Shopify. V CCV Shop je může vývojář odesílat voláním
tlqtrack.
Stránka integrace s CCV Shop shrnuje fakta o připojení na jednom místě a stránka nápovědy pro další e-shopy porovnává CCV Shop s dalšími platformami, ke kterým se ROASaurus připojuje, například Lightspeed.
Zdroje
- CCV Shop: API Documentatie
- CCV: Webshop API
- Meta for Developers: Server Event Parameters
- Meta for Developers: Handling Duplicate Pixel and Conversions API Events
- TikTok Ads Manager: About Event Deduplication