- În Shopify, tracking-ul server-side trimite fiecare achiziție din comanda plătită pe care Shopify o raportează prin webhook, așa că nu depinde de încărcarea paginii de mulțumire.
- Id-ul de vizitator și click id-urile reclamelor sunt salvate ca atribute ale coșului, așa că Shopify le copiază pe comandă, iar comanda poate fi asociată cu click-ul.
- Evenimentele din browser și de pe server împart un singur event id construit din id-ul comenzii, așa că Meta, TikTok, Snapchat, Pinterest și Reddit numără fiecare achiziție o singură dată.
- Cu Respect visitor consent activat, un vizitator care refuză cookie-urile de marketing nu primește id de vizitator, iar evenimentele lui din browser nu sunt trimise către platformele de publicitate, dar comanda plătită este în continuare trimisă cu datele clientului cu hash din comandă.
- Configurarea în ROASaurus are patru pași principali: instalezi aplicația, activezi theme app embed, adaugi pixelul de checkout și conectezi platformele tale de publicitate.
Tracking-ul server-side pe Shopify înseamnă că fiecare achiziție ajunge la Meta, TikTok și alte platforme de publicitate din datele comenzilor magazinului tău, trimise de un server, nu doar dintr-un pixel din browserul cumpărătorului. Shopify raportează fiecare comandă plătită către aplicația de tracking prin webhook, iar aplicația o trimite către conversions API-ul fiecărei platforme, asociată cu click-ul pe reclamă care l-a adus pe cumpărător.
Acest ghid tratează componentele Shopify ale acestui flux: theme app embed și app proxy, pixelii din checkout, webhook-ul orders/paid, asocierea comenzilor, deduplicarea, consimțământul și configurarea în ROASaurus. Pentru ideea generală, citește mai întâi ce este tracking-ul server-side.
Cum funcționează tracking-ul server-side pe Shopify
Click-ul și achiziția au loc în momente diferite și în locuri diferite. Click-ul este vizibil doar în browser, pe pagina de destinație. Comanda plătită este sigură doar de partea Shopify, când plata este capturată. Tracking-ul server-side înregistrează click-ul, așteaptă comanda și le leagă.
Componentele Shopify: app embed, app proxy, pixeli și webhook-uri
Un magazin Shopify oferă unei aplicații de tracking patru locuri în care să lucreze. Fiecare are o altă sarcină, iar o configurare completă le folosește pe toate patru.
| Componentă | Unde rulează | Ce face |
|---|---|---|
| Theme app embed | Fiecare pagină din vitrină | Încarcă scriptul de tracking, citește click id-urile reclamelor și salvează id-ul de vizitator pe coș |
| App proxy | O cale pe propriul tău domeniu de magazin | Primește evenimentele din vitrină ca cereri first-party |
| Customer events (pixeli) | Checkout-ul și pagina de mulțumire | Raportează pașii checkout-ului și checkout-ul finalizat dintr-un sandbox |
| Webhook-uri de comandă | Serverele Shopify | Trimit comanda către aplicație când este creată și când este plătită |
Theme app embed și app proxy
Un theme app embed este un bloc pe care o aplicație îl adaugă temei tale. Îl activezi în editorul de teme, deci nu ai niciun cod de lipit. Embed-ul ROASaurus încarcă un script pe fiecare pagină. Pe pagina de destinație, citește click id-uri precum fbclid, ttclid și gclid și parametrii UTM și le stochează împreună cu un id de vizitator first-party.
Scriptul își trimite evenimentele prin app proxy-ul Shopify. Un app proxy redirecționează cererile de la o cale de pe propriul tău domeniu, precum yourstore.com/apps/roasaurus, către serverul aplicației. Pentru browser, aceasta este o cerere către propriul tău site, ceea ce poate ajuta împotriva blocantelor de reclame care blochează domeniile de tracking cunoscute. Shopify elimină antetul Cookie din cererile app proxy și antetul Set-Cookie din răspunsuri, așa că id-ul de vizitator călătorește în interiorul evenimentului însuși, nu într-un cookie.
Customer events și pixeli în checkout
În checkout-ul Shopify, scripturile de tracking rulează ca pixeli într-un sandbox, nu în pagina propriu-zisă. Îi gestionezi la Settings › Customer events. Există două tipuri. Pixelii de aplicație vin cu o aplicație și rulează într-un sandbox strict. Pixelii personalizați sunt adăugați de comerciant și rulează într-un sandbox mai puțin strict, care poate încărca scripturi terțe, precum pixelul Meta.
ROASaurus le folosește pe ambele. Pixelul său de aplicație este activat când instalezi aplicația. Raportează către ROASaurus începutul checkout-ului, pasul de contact și checkout-ul finalizat. Pixelul personalizat opțional adaugă în checkout pixelii din browser ai Meta, TikTok, Snapchat, Pinterest și Reddit și trimite conversii Google Ads.
Webhook-uri de comandă
Un webhook este un mesaj pe care Shopify îl trimite unei aplicații când se întâmplă ceva în magazin. ROASaurus se abonează, printre altele, la orders/paid și orders/create. Comanda din webhook conține id-ul comenzii, valoarea, articolele, datele clientului, tokenurile de coș și de checkout, atributele coșului, precum și adresa IP și browserul de pe care a fost plasată comanda. Vine de pe serverele Shopify, așa că un blocant de reclame sau o filă închisă nu îl poate opri.
Cum sunt asociate comenzile cu click-urile pe reclame
Webhook-ul îi spune ROASaurus că o comandă a fost plătită. Pentru a trimite o conversie utilă, ROASaurus trebuie să știe și ce vizitator a plasat comanda, pentru că înregistrarea vizitatorului conține click id-urile. Încearcă aceste legături în ordine, de la cea mai directă la cea mai puțin directă:
| Metodă | Cum funcționează | Când se folosește |
|---|---|---|
| Atribut de coș | Scriptul scrie id-ul de vizitator și valorile fbc, fbp, ttp, gclid și ttclid ca atribute ale coșului. Shopify le copiază pe comandă. | Prima alegere |
| Tokenuri de coș și de checkout | Scriptul leagă tokenul de coș de vizitator, iar pixelul de checkout leagă tokenul de checkout. Webhook-ul conține ambele tokenuri. | Când lipsește atributul de coș |
| Eveniment de checkout | Pixelul de checkout raportează checkout-ul finalizat cu id-ul comenzii și id-ul de vizitator. | Când niciun token nu se potrivește |
| Adresa de email | Emailul cu hash al unui vizitator care l-a introdus mai devreme, de exemplu la pasul de contact din checkout. | Când nu există eveniment de checkout |
| Adresa IP și browserul | Un vizitator văzut cu aceeași adresă IP și același browser cu puțin timp înainte de comandă. | Doar când se potrivește exact un singur vizitator |
Atributele coșului sunt motivul pentru care asocierea este directă în Shopify. Sunt perechi cheie-valoare stocate pe coș, iar Shopify le copiază pe comandă. O valoare scrisă pe pagina de produs este încă acolo când sosește webhook-ul, chiar dacă cumpărătorul a închis devreme pagina de mulțumire.
O excepție: butoanele de checkout accelerat, precum Buy it now, sar peste coș. ROASaurus recomandă dezactivarea lor, ca Add to cart să fie urmărit întotdeauna. Comenzile plasate prin ele se pot totuși asocia prin tokenul de checkout.
O comandă, de la cap la coadă
Iată ce se întâmplă pentru o singură comandă dintr-o reclamă Meta, cu pixelul personalizat instalat:
page_view ?fbclid=IwAR2x…Un cumpărător ajunge dintr-o reclamă Meta. Click id-ul este stocat cu vizitatorul 3f2a.cart _tl=3f2a _tl_fbc=fb.1.…Id-ul de vizitator și valoarea click-ului Meta sunt salvate ca atribute ale coșului.checkout_started ic-c1a9…Tokenul de checkout este legat de același vizitator.checkout_completed order-6123456789012Pixelul de checkout raportează comanda, iar pixelul Meta trimite Purchase cu acest event id.orders/paid #1042 id 6123456789012 $86.00Shopify trimite comanda plătită prin webhook.Meta CAPI Purchase order-6123456789012După o scurtă pauză, evenimentul de pe server pleacă cu click id-urile, adresa IP și user agent-ul.Când este trimisă achiziția: orders/paid sau orders/create
Ce webhook declanșează achiziția depinde de cum plătesc clienții tăi. Îl alegi ca tip de checkout în Store settings.
| Tip de checkout | Webhook | Când este trimisă achiziția |
|---|---|---|
| Shopify checkout | orders/paid | Când comanda este plătită. Comenzile care nu sunt plătite niciodată nu sunt trimise. |
| External / COD checkout | orders/create | Când comanda este creată. Pentru plata la livrare și pentru checkout-uri precum Checkify și CheckoutChamp, care creează comenzi Shopify. |
ROASaurus reține fiecare achiziție pentru scurt timp după sosirea webhook-ului. În acest interval, de obicei ajunge și evenimentul de checkout finalizat din browser. URL-ul paginii, adresa IP și user agent-ul acestuia sunt apoi adăugate evenimentului de pe server, alături de click id-urile din înregistrarea vizitatorului. Comenzile pe care Shopify le marchează ca comenzi de test sunt înregistrate, dar nu sunt trimise către platformele de publicitate.
Cum funcționează deduplicarea cu pixelii din browser
Când pixelii din browser rulează alături de evenimentele de pe server, platforma primește fiecare achiziție de două ori și trebuie să păstreze doar una. Face asta cu event id-ul. ROASaurus dă ambelor copii ale unei achiziții același id, construit din id-ul comenzii Shopify: order-6123456789012 pentru comanda cu id-ul 6123456789012. Acesta este numărul lung din URL-ul de administrare al comenzii, nu numele comenzii, precum #1042. Pixelul de checkout îl folosește pentru Purchase din browser, iar serverul îl folosește pentru evenimentul conversions API. Meta, de exemplu, păstrează o copie când numele evenimentului și event id-ul se potrivesc și ambele ajung în 48 de ore.
| Platformă | Pixel din browser de la ROASaurus | Deduplicat cu evenimentul de pe server |
|---|---|---|
| Meta, TikTok, Snapchat, Pinterest, Reddit | Vitrină și checkout | Da |
| X, Microsoft Advertising, Taboola | Niciunul, doar evenimente de pe server | Nimic de îmbinat |
| Google Ads | Doar checkout, prin pixelul personalizat | Trimis o dată, din checkout |
Event id-ul funcționează doar între evenimente care îl conțin. Dacă o altă aplicație trimite același pixel, evenimentele ei au propriile id-uri, iar platforma numără comanda din nou. În Shopify, cauzele obișnuite sunt canalul Facebook & Instagram conectat la același pixel, aplicația TikTok și codul de pixel lipit în theme.liquid. Ghidul nostru despre evenimentele de achiziție duplicate arată cum să le găsești, iar Evită numărarea dublă listează remedierile.
Consimțământul prin Customer Privacy API din Shopify
Customer Privacy API din Shopify stochează alegerea de cookie-uri a fiecărui vizitator. Bannerul tău de cookie-uri o completează, indiferent dacă folosești bannerul propriu al Shopify sau o aplicație de consimțământ conectată la API. Scripturile și pixelii pot apoi să îl întrebe dacă marketingul este permis pentru acest vizitator.
Cu Respect visitor consent activat, care este valoarea implicită în Store settings, scriptul ROASaurus din vitrină și pixelii de checkout interoghează API-ul înainte să urmărească.
- Se stochează un id de vizitator, click id-uri și evenimente de navigare
- Pixelii din browser se încarcă și trimit evenimente
- Comanda plătită este trimisă server-side și asociată cu click-ul pe reclamă
- Nu se setează niciun id de vizitator, așa că vizitele și click-urile lui pe reclame nu sunt legate de el
- Evenimentele din browser sunt păstrate fără id de vizitator, adresă IP sau detalii despre browser și nu sunt trimise către platformele de publicitate
- Comanda plătită este în continuare trimisă server-side cu datele clientului cu hash din comandă și cu adresa IP și user agent-ul comenzii
- Evenimentul care ajunge la platforma de publicitate nu conține niciun click id
Emailurile, numerele de telefon, numele și adresele primesc hash SHA-256 înainte să fie trimise către o platformă de publicitate. Alte trei detalii contează:
- Bannerul tău decide. ROASaurus urmează ceea ce raportează API-ul. Dacă API-ul nu este disponibil pe pagină, ROASaurus tratează vizitatorul ca și cum ar fi consimțit, așa că verifică dacă bannerul tău este conectat la el.
- Pagina de destinație rămâne pe comandă. Shopify stochează adresa paginii de destinație împreună cu fiecare comandă, iar aceasta poate conține taguri de campanie și click id-uri. ROASaurus o folosește în propriile rapoarte de atribuire, inclusiv pentru vizitatorii care au refuzat, și nu o trimite către platformele de publicitate.
- Trimiterea comenzii este o decizie juridică. Dacă comanda plătită a unui vizitator care a refuzat poate fi trimisă deloc este o întrebare juridică pentru magazinul tău.
Ghidul nostru despre Consent Mode v2 și GDPR explică regulile la nivel general, iar Consimțământ și confidențialitate conține detaliile.
Cum configurezi tracking-ul server-side pe Shopify în ROASaurus
Parcurge pașii de configurare în această ordine:
- Instalează aplicația
Mergi la Add a store, alege Shopify, introdu domeniul tău
.myshopify.comși fă click pe Install app. Aprobă aplicația în Shopify. ROASaurus înregistrează webhook-urile de comandă și activează pixelul său de aplicație. - Activează theme app embed
Pe pagina Tracking & platforms, fă click pe Open theme editor, activează app embed-ul ROASaurus și salvează.
- Adaugă pixelul de checkout
În Shopify admin, mergi la Settings › Customer events și adaugă un pixel personalizat numit ROASaurus. Setează permisiunea pe Not required, pentru că scriptul ROASaurus verifică singur alegerea vizitatorului privind marketingul. Lipește snippetul din Tracking & platforms. Ai nevoie de acest pixel pentru pixelii din browser din checkout și pentru Google Ads.
- Conectează-ți platformele de publicitate
În Tracking & platforms, fă click pe Add pixel pentru fiecare platformă sau pe Connect with Facebook pentru Meta. Lasă activată opțiunea de a încărca și pixelul din browser dacă vrei evenimente din browser deduplicate.
- Verifică setările magazinului
În Store settings, alege tipul tău de checkout și lasă Respect visitor consent activat dacă vinzi acolo unde consimțământul este obligatoriu.
- Elimină ceilalți expeditori
În canalul Facebook & Instagram, elimină acest pixel din setările de partajare a datelor. Reducerea nivelului de partajare a datelor nu este suficientă, pentru că fiecare nivel, inclusiv Standard, trimite pixelul Meta din browser. Dacă aplicația TikTok trimite același pixel, oprește-o și acolo și elimină codul de pixel din tema ta.
Snippetul pixelului personalizat arată astfel. Copiază-l din Tracking & platforms, unde cheia magazinului tău este deja completată. Ghidul de configurare Shopify are aceiași pași.
self.tl = this; document.head.appendChild(document.createElement('script')).src = 'https://app.roasaurus.com/c.js?k=YOUR_STORE_KEY';Cum verifici că funcționează
Testează cu o comandă reală înainte să te bazezi pe cifre:
- Deschide magazinul cu
?roasaurus=connectedla sfârșitul URL-ului. Un mesaj confirmă că scriptul este activ. - Pentru Meta, lipește codul din Events Manager › Test events în câmpul Test event code al pixelului.
- Plasează o comandă reală, cu preț mic, și rambursează-o după aceea. Comenzile de test Shopify nu sunt trimise.
- În Event log, livrarea de pe server pentru comandă apare ca sent pentru fiecare platformă, cu răspunsul platformei.
- În vizualizarea de test a platformei, verifică dacă Purchase din browser și cel de pe server au același event id:
order-plus id-ul comenzii Shopify. - Elimină apoi codul evenimentului de test.
Ce nu rezolvă tracking-ul server-side pe Shopify
- Consimțământ refuzat. Comenzile de la vizitatorii care au refuzat cookie-urile de marketing sunt trimise, dar fără click id, așa că platformele de publicitate le potrivesc mai slab.
- Limitele de cookie-uri din Safari. Un cumpărător care revine după mai mult de 7 zile poate părea un vizitator nou. Un subdomeniu de tracking first-party păstrează colectarea pe domeniul tău, dar Safari poate limita totuși acele cookie-uri la 7 zile.
- Diferențe de atribuire. Fiecare platformă de publicitate creditează în continuare vânzările cu propriile ferestre și modele. Ca să compari canalele cu un singur set de reguli, folosește propria ta atribuire.
- Alte aplicații pe același pixel. Event id-urile îmbină doar evenimentele care le au în comun.
Ce rezolvă este achiziția care a avut loc, dar nu a ajuns niciodată la platforma de publicitate pentru că evenimentul din browser s-a pierdut. Pentru ce trimite ROASaurus către fiecare platformă, vezi tracking-ul server-side și integrarea Shopify.
Surse
- 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
În ROASaurus
- Ajutor: configurează ROASaurus pe Shopify
- Integrare Shopify
- Tracking server-side în ROASaurus
- Ajutor: consimțământ și confidențialitate