Platforme de publicitate și magazine online

Tracking-ul conversiilor în CCV Shop: ghid de configurare

Tracking-ul conversiilor în CCV Shop: trimite comenzile plătite către Meta și TikTok printr-un webhook semnat, leagă-le de click-urile pe reclame, configurează, testează și gestionează plățile întârziate.

·Actualizat pe ·10 min de citit·De echipa ROASaurus

Ideile principale
  • Tracking-ul conversiilor în CCV Shop este cel mai complet când fiecare comandă plătită este trimisă de pe server, din datele comenzii din CCV, cu un snippet pe pagina de succes a comenzii care leagă comanda de click-ul pe reclamă.
  • Un singur click pe Create webhook face ca CCV Shop să raporteze fiecare comandă în momentul în care este marcată ca plătită, iar fiecare livrare trebuie să poarte tokenul privat al magazinului tău.
  • Comenzile CCV Shop nu includ adresa IP a cumpărătorului, așa că snippetul de pe pagina de succes a comenzii contează mai mult în CCV Shop decât pe majoritatea platformelor.
  • Verificarea la 5 minute analizează doar comenzile create recent, așa că comenzile plătite după zile depind de webhook: păstrează-l activ.
  • Meta respinge evenimentele de pe server la mai mult de 7 zile după crearea comenzii, așa că un transfer bancar foarte întârziat nu ajunge la Meta.

Tracking-ul conversiilor în CCV Shop înseamnă raportarea fiecărei comenzi plătite din magazinul tău online CCV Shop către platforme de publicitate precum Meta și TikTok, astfel încât acestea să atribuie creditul reclamelor potrivite și să optimizeze pe vânzări reale. Cea mai completă metodă este să trimiți fiecare achiziție de pe server, din datele comenzii din CCV, și să adaugi un snippet scurt pe pagina de succes a comenzii, care leagă comanda de click-ul pe reclamă.

CCV Shop este o platformă de magazine online găzduită, de la compania olandeză CCV, care spune că are 17,000 de magazine online. Acest ghid explică cum se conectează ROASaurus la ea, cum sunt legate comenzile de click-urile pe reclame, ce ajunge la Meta și TikTok, configurarea, testarea și cum funcționează plățile întârziate. Pentru ideea generală, citește ce este tracking-ul server-side.

Cum se conectează ROASaurus la CCV Shop?

ROASaurus folosește trei componente din CCV Shop, toate descrise în documentația API a CCV:

Componenta CCV ShopPentru ce o folosește ROASaurus
REST API, cu o cheie publică și o cheie secretăCitește fiecare comandă plătită și liniile ei de comandă
Webhook pentru evenimentul orders.updated.ispaidCCV raportează o comandă în momentul în care se schimbă statusul ei de plată
Pagina de succes a comenzii, cu Vertoshop.jsSnippetul citește acolo id-ul comenzii și leagă comanda de vizitator
API-ul și webhook-ul livrează comanda. Snippetul de pe pagina de succes o leagă de click-ul pe reclamă.
Comandă marcată ca plătităÎn CCV Shop, după plată
WebhookCCV trimite id-ul comenzii, semnat cu x-hash
ROASaurusCitește comanda și liniile ei prin apeluri API semnate
Platforme de publicitatePurchase cu event id order-58213
Traseul datelor pentru fiecare comandă plătită. ROASaurus verifică dacă comanda este plătită înainte să trimită ceva.

De ce pierd pixelii din browser achizițiile din CCV Shop?

Un pixel din browser raportează o achiziție doar atunci când browserul cumpărătorului încarcă pagina de succes a comenzii și scriptul pixelului rulează. Mai multe situații frecvente împiedică asta:

  • Cumpărătorul plătește prin redirecționare, de exemplu cu iDEAL, și închide fila înainte să se încarce pagina de succes.
  • Un blocant de reclame sau o setare de confidențialitate a browserului blochează scriptul pixelului.
  • Vizitatorul refuză cookie-urile de marketing, deci pixelul nu trebuie să se încarce.
  • Comanda este plătită mai târziu, prin transfer bancar sau la livrare, când niciun browser nu este implicat.

În fiecare caz, CCV Shop marchează totuși comanda ca plătită. ROASaurus trimite acea comandă de pe server, așa că achiziția este raportată indiferent ce s-a întâmplat în browser. Snippetul de pe pagina de succes are o altă sarcină: îi spune ROASaurus cărui vizitator, și deci cărui click pe reclamă, îi aparține comanda.

Webhook-ul de comandă plătită și verificarea la 5 minute

Ce face Create webhook

Când apeși Create webhook, ROASaurus înregistrează un webhook CCV pentru evenimentul orders.updated.ispaid, pe care CCV îl declanșează atunci când se schimbă proprietatea de plată a unei comenzi. Adresa este URL-ul de webhook al magazinului tău din ROASaurus, care conține cheia magazinului și un token privat. CCV nu adaugă nimic în webhook care să identifice magazinul, iar documentația sa recomandă să pui un identificator în adresă. Cheia magazinului face asta.

CCV dă fiecărui webhook propria cheie secretă de 32 de caractere. Când CCV returnează acea cheie, ROASaurus o salvează și, din acel moment, fiecare livrare trebuie să poarte un antet x-hash valid. Fiecare livrare trebuie să poarte și tokenul magazinului tău. Când ROASaurus primește o livrare, ignoră comenzile care nu sunt plătite, citește comanda completă și liniile ei de comandă din API și trimite comanda doar atunci când CCV spune că este plătită.

Apeluri API semnate

CCV cere ca fiecare apel API să fie semnat. ROASaurus trimite trei anteturi: x-public cu cheia ta publică, x-date cu ora curentă și x-hash. CCV respinge un timestamp care diferă cu mai mult de 5 minute de ora serverului său. Cheia ta secretă în sine nu este trimisă niciodată.

Cum semnează CCV Shop cererile
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 )

Verificarea la 5 minute

La fiecare 5 minute, ROASaurus cere de asemenea de la CCV comenzile plătite create de la ultima verificare, cu 30 de minute de suprapunere, și le înregistrează pe cele pe care nu le are încă. CCV filtrează comenzile doar după data creării. Așadar, verificarea găsește comenzile plătite la scurt timp după plasare, iar o comandă plătită după zile ajunge la ROASaurus doar prin webhook.

CCV consideră un răspuns 200, 201, 202 sau 204 drept succes. Păstrează o livrare deschisă și o reîncearcă la următoarea apariție după un răspuns 307, 408, 503 sau 504, iar orice alt răspuns îl marchează ca eșuat. Așteaptă 2 secunde pentru o conexiune și 5 secunde pentru răspuns.

Cum este legată o comandă CCV Shop de click-ul pe reclamă?

Ca să atribuie creditul unei reclame, platforma are nevoie de identificatorii de click ai vizitatorului care a comandat, cum ar fi click id-ul Meta (fbc) și click id-ul TikTok (ttclid). Scriptul ROASaurus le stochează pentru fiecare vizitator când acesta ajunge pe site dintr-o reclamă. ROASaurus nu primește acel id de vizitator din comanda CCV, așa că leagă comenzile de vizitatori în alte moduri:

MetodăPe CCV ShopCum funcționează
1. Snippetul de pe pagina de succes a comenziiDaCitește id-ul comenzii cu Vertoshop.getOrder().getId(), plus totalul comenzii și moneda, și declanșează o achiziție ROASaurus cu event id-ul order-58213
2. Email anteriorDaUn email cu hash pe care vizitatorul l-a dat mai devreme pe site-ul tău, într-un formular popup sau printr-un apel Identify
3. Adresa IP și browserulNuComenzile CCV Shop nu includ adresa IP sau browserul cumpărătorului, așa că această variantă de rezervă nu are cu ce compara
Pe majoritatea celorlalte platforme, varianta de rezervă bazată pe IP prinde unele comenzi pe care snippetul le ratează. Pe CCV Shop nu poate, așa că adaugă snippetul.

ROASaurus așteaptă scurt înainte să trimită fiecare achiziție, astfel încât evenimentul de pe pagina de succes să poată ajunge primul, și încearcă din nou asocierea în momentul trimiterii. Pagina Orders arată rezultatul pentru fiecare comandă în coloana Matched by: thank_you, email sau not matched.

O comandă neasociată ajunge totuși la platformele tale de publicitate, cu datele de client cu hash din comandă. Nu are identificatori de click, iar pentru că comenzile CCV nu conțin adresă IP sau browser, nu are nici pe acestea. Asta scade ponderea evenimentelor pe care Meta le poate asocia cu o persoană; Event Match Quality explică cum notează Meta acest lucru. În atribuirea ROASaurus, o comandă neasociată apare ca directă sau necunoscută.

Ce ajunge la Meta și TikTok dintr-o comandă CCV?

Datele comenzii CCVTrimis ca
idEvent id-ul order-58213 și id-ul comenzii
total_price, currencyValoare și monedă (EUR când CCV nu furnizează moneda)
create_dateOra evenimentului
Emailul clientului, numărul de mobil sau de telefon, prenumele și numeleCu hash SHA-256
Orașul de facturare, codul poștal și codul țăriiCu hash SHA-256
Id clientId extern cu hash
Liniile comenzii: numărul produsului, id-ul produsului, cantitatea, prețul și numeleProduse cu id, cantitate și preț
Adresa IP și browserulNu există în comenzile CCV: preluate din evenimentul de pe pagina de succes sau de la vizitatorul asociat
Ce citește ROASaurus din fiecare comandă CCV Shop și cum apare în evenimentul de pe server.

Meta primește un Purchase prin Conversions API, iar TikTok un CompletePayment prin Events API, ambele cu event id-ul order-58213. TikTok afișează acum CompletePayment ca Purchase în rapoartele sale. Când bifezi opțiunea de a încărca și pixelul din browser, snippetul de pe pagina de succes declanșează aceleași evenimente în browser, cu același event id, iar Meta și TikTok păstrează o singură copie. Aceleași comenzi ajung la Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn și la celelalte platforme de publicitate când le conectezi. Conversiile de achiziție Google Ads sunt trimise doar din checkout-ul Shopify, așa că ROASaurus nu le trimite din CCV Shop.

Cum configurezi tracking-ul conversiilor în CCV Shop

  1. Adaugă magazinul în ROASaurus

    Mergi la Add a store, alege CCV Shop și introdu adresa magazinului tău. Fila Connection îți arată apoi tag-ul de script și snippetul pentru pagina de succes.

  2. Găsește-ți cheile API

    În CCV Shop, mergi la My webshop › Settings › General › API settings și apasă New API key. Dacă nu vezi această opțiune, instalează mai întâi aplicația API din CCV App Store.

  3. Adaugă scriptul pe fiecare pagină

    Lipește tag-ul de script în Header HTML al magazinului tău. Centrul de ajutor CCV îl plasează la Mijn webshop › Instellingen › Lay-out › Layout, în partea de jos a paginii. Un bloc de cod de aplicație în header funcționează de asemenea.

  4. Adaugă snippetul pe pagina de succes

    Mergi la Mijn webshop › Instellingen › Algemeen › Teksten, deschide textul afișat după plasarea unei comenzi, treci la Source și lipește acolo snippet-ul. CCV Shop îl rulează apoi pe pagina de confirmare a comenzii.

  5. Conectează API-ul

    În fila Connection, introdu cheia publică și cheia secretă. Completează Shop URL doar dacă API-ul tău rulează pe alt domeniu decât magazinul tău. Salvează, apasă Test connection, apoi Create webhook.

  6. Conectează-ți platformele de publicitate

    La Tracking & platforms, folosește Connect with Facebook sau Add pixel pentru Meta și Add pixel pentru TikTok. Bifează opțiunea de a încărca și pixelul din browser.

Consimțământ

În afara Shopify, scriptul ROASaurus citește alegerea vizitatorului din instrumentele de consimțământ uzuale: Cookiebot, OneTrust, bannere IAB TCF și Google consent mode. Cu un alt banner de cookie-uri, apelează tlq('consent', true) când vizitatorul acceptă cookie-urile de marketing și tlq('consent', false) când le refuză. Până când vizitatorul acceptă, nu are id de vizitator sau click id și nu se declanșează niciun pixel din browser. Comanda plătită este în continuare trimisă de pe server, cu datele clientului cu hash din comandă. Pagina de ajutor despre consimțământ explică detaliile.

Cum testezi tracking-ul conversiilor în CCV Shop?

  • Deschide magazinul tău cu ?roasaurus=connected în adresă. O alertă confirmă că scriptul rulează. ?roasaurus=debug înregistrează în consola browserului ce trimite.
  • În Event log, la Collected events, vizualizările de pagină ar trebui să afișeze un id de vizitator.
  • Plasează o comandă și plătește-o sau marcheaz-o ca plătită. În Collected events, Event log ar trebui să afișeze un Purchase cu id-ul comenzii CCV în date. Dacă lipsește, snippetul de pe pagina de succes nu a rulat.
  • În fila Connection, Last order received arată comanda, iar Last sync ultima verificare la 5 minute, împreună cu orice eroare de la CCV.
  • În Server deliveries din Event log, fiecare platformă conectată primește o linie cu statusul sent și răspunsul platformei.
PageView visitor 51c0e9a7Script pe fiecare pagină
Purchase order-58213Snippet pe pagina de succes a comenzii
webhook orders.updated.ispaidSemnătură verificată, comandă plătită
Meta Purchase sentMatched by thank_you
TikTok CompletePayment sentAcelași event id, deduplicat
Exemplu de comandă de test în regulă. Fetch orders now din fila Connection rulează imediat verificarea la 5 minute.

Ca să vezi evenimentul în Meta, lipește codul din Events Manager › Test events în câmpul Test event code al pixelului tău Meta din ROASaurus și elimină-l când ai terminat.

Plățile întârziate și alte limite

Transferurile bancare și plata ramburs se plătesc după plasarea comenzii. Iată ce se întâmplă cu o comandă exemplu plătită prin transfer bancar, din ziua în care este plasată:

CândCe se întâmplăRezultat
Ziua 0, la checkoutComanda este creată, nu plătităNetrimisă: verificarea la 5 minute cere doar comenzi plătite
Ziua 0, după aproximativ 35 de minuteOra creării comenzii iese din fereastra de verificareDe acum încolo, doar webhook-ul o poate raporta
Ziua 3Marchezi comanda ca plătităWebhook-ul sosește, ROASaurus trimite comanda. Ora evenimentului, ziua 0, este veche de 3 zile: Meta o acceptă
Ziua 9, în schimbMarchezi comanda ca plătităWebhook-ul sosește, ROASaurus trimite comanda. 9 zile înseamnă mai mult de 7: Meta o respinge
Cronologie ilustrativă. Ora evenimentului este data creării comenzii, iar Meta acceptă evenimente de pe server până la 7 zile după ora evenimentului.
  • Plata ramburs. ROASaurus trimite aceste comenzi când CCV le marchează ca plătite, de obicei după livrare. Vezi tracking-ul pentru plata ramburs pentru a afla când să numeri astfel de comenzi.
  • Achiziții din browser înainte de plată. Snippetul de pe pagina de succes rulează când comanda este plasată, așa că pixelii din browser raportează o comandă cu transfer bancar înainte să fie plătită. Dacă plata vine la mai mult de 48 de ore după aceea, Meta și TikTok nu mai pot îmbina copiile din browser și de pe server.
  • Fără variantă de rezervă pe IP. Adaugă snippetul de pe pagina de succes și captează emailurile mai devreme pe site-ul tău, acolo unde poți.
  • Anulările și rambursările nu sunt trimise. Odată trimisă, o achiziție rămâne în platforma de publicitate.
  • Doar vizualizări de pagină, fără cod. Vizualizările de produs și adăugările în coș sunt detectate automat doar pe Shopify. Pe CCV Shop, un dezvoltator le poate trimite printr-un apel de track tlq.

Pagina integrării CCV Shop listează faptele despre conexiune într-un singur loc, iar pagina de ajutor pentru alte magazine online compară CCV Shop cu celelalte platforme la care se conectează ROASaurus, precum Lightspeed.

Surse

  1. CCV Shop: API Documentatie
  2. CCV: Webshop API
  3. Meta for Developers: Server Event Parameters
  4. Meta for Developers: Handling Duplicate Pixel and Conversions API Events
  5. TikTok Ads Manager: About Event Deduplication

În ROASaurus

Continuă lectura

Platforme de publicitate și magazine onlineTracking-ul conversiilor pentru plata ramburs și checkout-urile externeTracking-ul conversiilor pentru plata ramburs: de ce pixelii pierd comenzile ramburs și pe cele din checkout-uri externe, când să trimiți achiziția și cum gestionezi comenzile refuzate.Platforme de publicitate și magazine onlineEnhanced conversions în Google Ads pe ShopifyEnhanced conversions adaugă date de client cu hash la achizițiile din Google Ads pe Shopify. Cum funcționează, prin ce diferă de importurile offline și cum se configurează.Platforme de publicitate și magazine onlineTracking-ul conversiilor Lightspeed pentru magazinele online eComTracking-ul conversiilor Lightspeed pentru eCom (C-Series): trimite comenzile plătite către Meta și TikTok de pe server, leagă-le de click-urile pe reclame, configurează și testează.
Întrebări frecvente

Întrebări, cu răspunsuri

Unde găsesc cheile mele API CCV Shop?

În My webshop › Settings › General › API settings. Dacă acea pagină lipsește, instalează mai întâi aplicația API din CCV App Store.

Ce face snippet-ul de pe pagina de succes a comenzii?

Citește id-ul comenzii cu Vertoshop.getOrder().getId(), plus totalul comenzii și moneda, și declanșează achiziția ROASaurus cu acel id. ROASaurus îl folosește pentru a lega comanda de vizitator și de click-ul lui pe reclamă.

De ce nu poate ROASaurus să asocieze comenzile CCV după adresa IP?

Comenzile CCV Shop nu includ adresa IP sau browserul cumpărătorului. Fără snippet sau fără un email pe care vizitatorul l-a dat mai devreme pe site, o comandă rămâne neasociată.

Sunt trimise și comenzile plătite după câteva zile?

Da, prin webhook-ul de comandă plătită. Verificarea la 5 minute analizează doar comenzile create recent, așa că păstrează webhook-ul activ. Meta respinge evenimentele la mai mult de 7 zile după crearea comenzii.

Cum folosește ROASaurus cheia mea secretă CCV Shop?

ROASaurus stochează cheia secretă criptată și o folosește doar pentru a semna fiecare apel API cu HMAC-SHA512, așa cum cere CCV. Cheia în sine nu este trimisă niciodată către CCV, doar semnătura.

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