Tracking

Tracking server-side pe Shopify: cum funcționează și configurarea

Cum funcționează tracking-ul server-side pe Shopify: customer events, app proxy, webhook-ul orders/paid, asocierea comenzilor, deduplicarea, consimțământul și configurarea.

·Actualizat pe ·12 minute de citit·De echipa ROASaurus

Ideile principale
  • Î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ă.

Click pe reclamăURL-ul paginii de destinație conține fbclid, ttclid sau gclid.
Theme app embedStochează click id-ul cu un id de vizitator și salvează ambele pe coș.
Comanda ShopifyShopify copiază atributele coșului pe comandă.
Webhook-ul orders/paidShopify trimite comanda plătită către ROASaurus.
Conversions API-uriAchiziția pleacă cu click id-uri și date de client cu hash.
Browserul captează click-ul. Comanda livrează achiziția. Atributele coșului le leagă pe cele două.

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 embedFiecare pagină din vitrinăÎncarcă scriptul de tracking, citește click id-urile reclamelor și salvează id-ul de vizitator pe coș
App proxyO cale pe propriul tău domeniu de magazinPrimește evenimentele din vitrină ca cereri first-party
Customer events (pixeli)Checkout-ul și pagina de mulțumireRaportează pașii checkout-ului și checkout-ul finalizat dintr-un sandbox
Webhook-uri de comandăServerele ShopifyTrimit comanda către aplicație când este creată și când este plătită
Primele trei componente gestionează ce se întâmplă în browser și captează click-ul. Webhook-ul vine de pe serverele Shopify și livrează comanda.

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 checkoutScriptul 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 checkoutPixelul 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 emailEmailul 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 browserulUn 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 și tokenurile oferă o legătură directă de la comandă la vizitator. Varianta de rezervă bazată pe IP nu este folosită niciodată când s-ar potrivi doi vizitatori.

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.
Ambele evenimente Purchase poartă event id-ul order-6123456789012, așa că Meta păstrează unul. Copia de pe server ajunge și când copia din browser a fost blocată.

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 checkoutWebhookCând este trimisă achiziția
Shopify checkoutorders/paidCând comanda este plătită. Comenzile care nu sunt plătite niciodată nu sunt trimise.
External / COD checkoutorders/createCâ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 ROASaurusDeduplicat cu evenimentul de pe server
Meta, TikTok, Snapchat, Pinterest, RedditVitrină și checkoutDa
X, Microsoft Advertising, TaboolaNiciunul, doar evenimente de pe serverNimic de îmbinat
Google AdsDoar checkout, prin pixelul personalizatTrimis o dată, din checkout
Rularea pixelului din browser și a evenimentului de pe server împreună este sigură pentru Meta, TikTok, Snapchat, Pinterest și Reddit: fiecare păstrează o singură copie a fiecărui eveniment pe care îl au în comun.

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.

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

Vizitatorul permite cookie-urile de marketing
  • 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ă
Vizitatorul refuză cookie-urile de marketing
  • 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
Tracking-ul server-side nu elimină nevoia de consimțământ. Fără consimțământ, comanda plătită ajunge totuși la platformele de publicitate, dar fără un 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:

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

  2. Activează theme app embed

    Pe pagina Tracking & platforms, fă click pe Open theme editor, activează app embed-ul ROASaurus și salvează.

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

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

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

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

Pixel personalizat de checkout
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:

  1. Deschide magazinul cu ?roasaurus=connected la sfârșitul URL-ului. Un mesaj confirmă că scriptul este activ.
  2. Pentru Meta, lipește codul din Events Manager › Test events în câmpul Test event code al pixelului.
  3. Plasează o comandă reală, cu preț mic, și rambursează-o după aceea. Comenzile de test Shopify nu sunt trimise.
  4. În Event log, livrarea de pe server pentru comandă apare ca sent pentru fiecare platformă, cu răspunsul platformei.
  5. Î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.
  6. 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

  1. Shopify: Customer Privacy API
  2. Shopify: Authenticate app proxies
  3. Shopify Help Center: Manage your custom pixels
  4. Shopify Help Center: Facebook data sharing
  5. Meta: Handling Duplicate Pixel and Conversions API Events

În ROASaurus

Continuă lectura

TrackingBlocantele de reclame și tracking-ul: ce pierde magazinul tăuBlocantele de reclame opresc pixelii de tracking, așa că platformele de publicitate pierd achiziții. Vezi ce evenimente se pierd, de ce evenimentele server-side nu se pierd și cum îți măsori diferența.TrackingConsent Mode v2 și GDPR: ce are voie să trimită un magazin onlineConsent Mode v2 pentru magazine online: cele patru semnale de consimțământ Google, ce cere legislația UE și ce mai poate trimite tracking-ul server-side. Doar informații generale.TrackingEvenimente de achiziție duplicate: de ce vânzările sunt numărate de două oriEvenimentele de achiziție duplicate umflă conversiile și ROAS-ul. Vezi cauzele, cum deduplică Meta, TikTok, Snapchat, Pinterest și Reddit și cum remediezi problema.
Întrebări frecvente

Întrebări, cu răspunsuri

Mai am nevoie de pixelul din browser cu tracking-ul server-side pe Shopify?

Cel mai bine le rulezi pe amândouă. Pixelul din browser adaugă cookie-uri precum fbp și contextul paginii, iar evenimentul de pe server ajunge chiar și când browserul eșuează. Cu același event id pe ambele, platforma numără fiecare achiziție o singură dată.

Depinde tracking-ul server-side de pagina de mulțumire Shopify?

Nu. Achiziția este construită din comanda pe care Shopify o trimite prin webhook când este plătită. Evenimentul de pe pagina de mulțumire adaugă doar detalii precum adresa IP și user agent-ul, când ajunge la timp.

Am nevoie de un CNAME sau de o modificare DNS în Shopify?

Nu. Evenimentele din vitrină trec prin app proxy-ul Shopify de pe domeniul propriului tău magazin. Un subdomeniu de tracking first-party este opțional.

Este tracking-ul server-side pe Shopify conform GDPR?

Tracking-ul server-side este o metodă de livrare a datelor, nu o bază legală. Cu Respect visitor consent activat, ROASaurus urmează Customer Privacy API din Shopify, dar comanda plătită este în continuare trimisă cu date cu hash. Întreabă-ți consilierul juridic de ce are nevoie magazinul tău.

Cum sunt urmărite comenzile cu plata la livrare în Shopify?

Alege External / COD checkout ca tip de checkout în Store settings. ROASaurus trimite atunci achiziția când comanda este creată, nu când este plătită.

Ce platforme de publicitate primesc evenimente de pe server dintr-un magazin Shopify?

Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Advertising, Taboola, LinkedIn, OpenAI Ads, Spotify, AppLovin, Criteo, AdRoll și Outbrain. Conversiile Google Ads sunt trimise din checkout-ul Shopify prin pixelul personalizat.

Fiecare vânzare, urmărită până la reclama care a adus-o

Tracking server-side, profit și lifetime value într-o singură aplicație. Probă gratuită de 14 zile, fără card bancar.

Începe proba gratuită →