Annonseplattformer og nettbutikker

Konverteringstracking for CCV Shop: en oppsettguide

Konverteringstracking for CCV Shop: send betalte bestillinger til Meta og TikTok med en signert webhook, koble dem til annonseklikk, sett opp, test og håndter sene betalinger.

·Oppdatert ·10 min lesetid·Av ROASaurus-teamet

Hovedpunkter
  • Konverteringstracking for CCV Shop er mest komplett når hver betalte bestilling sendes fra CCVs bestillingsdata på serveren, med en snippet på bestillingsbekreftelsessiden som kobler bestillingen til annonseklikket.
  • Ett klikk på Create webhook får CCV Shop til å rapportere hver bestilling i det øyeblikket den markeres som betalt, og hver levering må bære det private tokenet til butikken din.
  • CCV Shop-bestillinger inneholder ikke kjøperens IP-adresse, så snippeten på bestillingsbekreftelsessiden betyr mer i CCV Shop enn på de fleste plattformer.
  • Sjekken hvert 5. minutt ser bare på nylig opprettede bestillinger, så bestillinger som betales dager senere er avhengige av webhooken: hold den aktiv.
  • Meta avviser server-events mer enn 7 dager etter at bestillingen ble opprettet, så en svært sen bankoverføring når ikke Meta.

Konverteringstracking for CCV Shop betyr å rapportere hver betalte bestilling i CCV Shop-nettbutikken din til annonseplattformer som Meta og TikTok, slik at de krediterer de riktige annonsene og optimaliserer på reelt salg. Den mest komplette måten er å sende hvert kjøp fra CCVs bestillingsdata på serveren, og å legge til en kort snippet på bestillingsbekreftelsessiden som kobler bestillingen til annonseklikket.

CCV Shop er en hostet nettbutikkplattform fra det nederlandske selskapet CCV, som sier det driver 17,000 nettbutikker. Denne guiden forklarer hvordan ROASaurus kobler seg til den, hvordan bestillinger knyttes til annonseklikk, hva som når Meta og TikTok, oppsettet, testingen og hvordan sene betalinger fungerer. For den generelle ideen, les hva server-side tracking er.

Hvordan kobler ROASaurus seg til CCV Shop?

ROASaurus bruker tre deler av CCV Shop, alle beskrevet i CCVs API-dokumentasjon:

Del av CCV ShopHva ROASaurus bruker den til
REST API, med en offentlig nøkkel og en hemmelig nøkkelLeser hver betalte bestilling og bestillingslinjene
Webhook for eventen orders.updated.ispaidCCV melder en bestilling i det øyeblikket betalingsstatusen endres
Bestillingsbekreftelsessiden, med Vertoshop.jsSnippeten leser bestillings-ID-en der og kobler bestillingen til den besøkende
API-et og webhooken leverer bestillingen. Snippeten på bekreftelsessiden kobler den til annonseklikket.
Bestilling markert som betaltI CCV Shop, etter betalingen
WebhookCCV sender bestillings-ID-en, signert med x-hash
ROASaurusLeser bestillingen og bestillingslinjene med signerte API-kall
AnnonseplattformerPurchase med event-ID order-58213
Dataveien for hver betalte bestilling. ROASaurus sjekker at bestillingen er betalt før den sender noe.

Hvorfor går nettleserpixler glipp av kjøp i CCV Shop?

En nettleserpixel rapporterer et kjøp bare når kjøperens nettleser laster bestillingsbekreftelsessiden og pixelskriptet kjører. Flere vanlige situasjoner ødelegger det:

  • Kjøperen betaler via omdirigering, for eksempel med iDEAL, og lukker fanen før bekreftelsessiden lastes.
  • En annonseblokkerer eller en personverninnstilling i nettleseren blokkerer pixelskriptet.
  • Den besøkende avslår markedsføringscookies, så pixelen må ikke lastes.
  • Bestillingen betales senere, med bankoverføring eller ved levering, når ingen nettleser er involvert.

I hvert tilfelle markerer CCV Shop fortsatt bestillingen som betalt. ROASaurus sender den bestillingen fra serveren, så kjøpet rapporteres uansett hva som skjedde i nettleseren. Snippeten på bekreftelsessiden har en annen jobb: den forteller ROASaurus hvilken besøkende, og dermed hvilket annonseklikk, bestillingen tilhører.

Webhooken for betalt bestilling og sjekken hvert 5. minutt

Hva Create webhook gjør

Når du trykker på Create webhook, registrerer ROASaurus en CCV-webhook for eventen orders.updated.ispaid, som CCV utløser når en bestillings paid-egenskap endres. Adressen er butikkens webhook-URL i ROASaurus, som inneholder butikknøkkelen din og et privat token. CCV legger ikke til noe i en webhook som identifiserer butikken, og dokumentasjonen anbefaler å legge en identifikator i adressen. Butikknøkkelen gjør det.

CCV gir hver webhook sin egen hemmelige nøkkel på 32 tegn. Når CCV returnerer den nøkkelen, lagrer ROASaurus den, og fra da av må hver leveranse ha en gyldig x-hash-header. Hver leveranse må også bære butikkens token. Når ROASaurus mottar en leveranse, ignorerer den bestillinger som ikke er betalt, leser hele bestillingen og bestillingslinjene fra API-et, og sender bestillingen bare når CCV sier at den er betalt.

Signerte API-kall

CCV krever at hvert API-kall signeres. ROASaurus sender tre headere: x-public med den offentlige nøkkelen din, x-date med gjeldende tid og x-hash. CCV avviser et tidsstempel som avviker mer enn 5 minutter fra serverens tid. Selve hemmelige nøkkelen din blir aldri sendt.

Slik signerer CCV Shop forespørsler
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 )

5-minuttersjekken

Hvert 5. minutt spør ROASaurus også CCV om betalte bestillinger opprettet siden forrige sjekk, med 30 minutters overlapp, og registrerer de den ikke har ennå. CCV filtrerer bestillinger kun på opprettelsesdato. Sjekken finner derfor bestillinger som betales kort tid etter at de er lagt inn, og en bestilling som betales dager senere når bare ROASaurus gjennom webhooken.

CCV regner et svar med 200, 201, 202 eller 204 som vellykket. Det holder en leveranse åpen og prøver den på nytt ved neste forekomst etter et svar med 307, 408, 503 eller 504, og markerer alle andre svar som mislykket. Det venter 2 sekunder på en tilkobling og 5 sekunder på svaret.

Hvordan kobles en CCV Shop-bestilling til annonseklikket?

For å kreditere en annonse trenger plattformen click id-ene til den besøkende som bestilte, som Meta click id (fbc) og TikTok click id (ttclid). ROASaurus-skriptet lagrer dem for hver besøkende når de lander fra en annonse. ROASaurus får ikke den besøks-ID-en fra CCV-bestillingen, så det kobler bestillinger til besøkende på andre måter:

MetodePå CCV ShopSlik fungerer det
1. Snippet på bestillingsbekreftelsessidenJaDen leser bestillings-ID-en med Vertoshop.getOrder().getId(), pluss bestillingens totalbeløp og valuta, og utløser et ROASaurus-kjøp med event-ID-en order-58213
2. Tidligere e-postJaEn hashet e-postadresse den besøkende oppga tidligere på nettstedet ditt, i et popup-skjema eller gjennom et Identify-kall
3. IP-adresse og nettleserNeiCCV Shop-bestillinger inneholder ikke kjøperens IP-adresse eller nettleser, så denne reserveløsningen har ingenting å sammenligne
På de fleste andre plattformer fanger IP-reserveløsningen opp noen bestillinger snippeten går glipp av. På CCV Shop kan den ikke det, så legg til snippeten.

ROASaurus venter kort før hvert kjøp sendes, så eventen fra bekreftelsessiden kan komme først, og den prøver matchingen på nytt ved sendetidspunktet. Siden Orders viser resultatet per bestilling i kolonnen Matched by: thank_you, email eller not matched.

En bestilling som ikke blir matchet, går likevel til annonseplattformene dine med hashede kundedata fra bestillingen. Den har ingen click id-er, og siden CCV-bestillinger ikke har IP-adresse eller nettleser, har den heller ingen av dem. Det senker andelen events Meta kan koble til en person; Event Match Quality forklarer hvordan Meta scorer dette. I ROASaurus-attribusjonen vises en ikke-matchet bestilling som direkte eller ukjent.

Hva når Meta og TikTok fra en CCV-bestilling?

CCV-bestillingsdataSendt som
idEvent-ID-en order-58213 og bestillings-ID-en
total_price, currencyVerdi og valuta (EUR når CCV ikke oppgir valuta)
create_dateEventtidspunktet
Kundens e-post, mobil- eller telefonnummer, fornavn og etternavnHashet med SHA-256
Fakturaby, postnummer og landskodeHashet med SHA-256
Kunde-IDHashet ekstern ID
Bestillingslinjer: produktnummer, produkt-ID, antall, pris og navnProdukter med ID, antall og pris
IP-adresse og nettleserIkke i CCV-bestillinger: hentes fra eventen på bekreftelsessiden eller den matchede besøkende
Hva ROASaurus leser fra hver CCV Shop-bestilling og hvordan det vises i server-eventen.

Meta mottar en Purchase gjennom Conversions API, og TikTok en CompletePayment gjennom Events API, begge med event-ID-en order-58213. TikTok viser nå CompletePayment som Purchase i rapportene sine. Når du krysser av for å også laste nettleserpixelen, utløser snippeten på bekreftelsessiden de samme eventene i nettleseren med samme event-ID, og Meta og TikTok beholder én kopi. De samme bestillingene går til Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn og de andre annonseplattformene når du kobler dem til. Kjøpskonverteringer i Google Ads sendes bare fra Shopify checkout, så ROASaurus sender dem ikke fra CCV Shop.

Slik setter du opp konverteringstracking for CCV Shop

  1. Legg til butikken i ROASaurus

    Gå til Add a store, velg CCV Shop og skriv inn butikkadressen din. Fanen Connection viser da script-taggen din og snippeten for bekreftelsessiden.

  2. Finn API-nøklene dine

    I CCV Shop går du til My webshop › Settings › General › API settings og klikker på New API key. Hvis du ikke ser det, installerer du først API-appen fra CCV App Store.

  3. Legg skriptet til på hver side

    Lim inn script-taggen i Header HTML i butikken din. CCVs hjelpesenter plasserer den under Mijn webshop › Instellingen › Lay-out › Layout, nederst på siden. En appkodeblokk i headeren fungerer også.

  4. Legg snippeten til på bekreftelsessiden

    Gå til Mijn webshop › Instellingen › Algemeen › Teksten, åpne teksten som vises etter at en bestilling er lagt inn, bytt til Source og lim inn kodesnutten der. CCV Shop kjører den deretter på bekreftelsessiden for bestillingen.

  5. Koble til API-et

    På fanen Connection skriver du inn den offentlige nøkkelen og den hemmelige nøkkelen. Fyll bare ut Shop URL når API-et ditt kjører på et annet domene enn butikken. Lagre, trykk Test connection, og deretter Create webhook.

  6. Koble til annonseplattformene dine

    Under Tracking & platforms bruker du Connect with Facebook eller Add pixel for Meta, og Add pixel for TikTok. Kryss av for å også laste nettleserpixelen.

Samtykke

Utenfor Shopify leser ROASaurus-skriptet valget til den besøkende fra vanlige samtykkeverktøy: Cookiebot, OneTrust, IAB TCF-bannere og Google consent mode. Med et annet cookie-banner kaller du tlq('consent', true) når den besøkende godtar markedsføringscookies, og tlq('consent', false) når de avslår. Inntil den besøkende godtar, har de ingen besøks-ID eller click id-er, og ingen nettleserpixler utløses. Den betalte bestillingen sendes likevel fra serveren med hashede kundedata fra bestillingen. Hjelpesiden om samtykke forklarer detaljene.

Hvordan tester du konverteringstracking for CCV Shop?

  • Åpne butikken din med ?roasaurus=connected i adressen. Et varsel bekrefter at skriptet kjører. ?roasaurus=debug logger det det sender til nettleserkonsollen.
  • I Event log, under Collected events, skal sidevisninger vise en besøks-ID.
  • Legg inn en bestilling og betal den, eller marker den som betalt. Under Collected events skal Event log vise en Purchase med CCV-bestillings-ID-en i dataene. Hvis den mangler, kjørte ikke snippeten på bekreftelsessiden.
  • På fanen Connection viser Last order received bestillingen og Last sync den siste sjekken hvert 5. minutt, med eventuelle feil fra CCV.
  • Under Server deliveries i Event log får hver tilkoblede plattform en linje med statusen sent og plattformens svar.
PageView visitor 51c0e9a7Skript på hver side
Purchase order-58213Snippet på bestillingsbekreftelsessiden
webhook orders.updated.ispaidSignatur sjekket, bestilling betalt
Meta Purchase sentMatched by thank_you
TikTok CompletePayment sentSamme event-ID, deduplisert
Eksempel på en sunn testbestilling. Fetch orders now på fanen Connection kjører sjekken hvert 5. minutt umiddelbart.

For å se eventen i Meta limer du inn koden fra Events Manager › Test events i feltet Test event code på Meta-pixelen din i ROASaurus, og fjerner den når du er ferdig.

Sene betalinger og andre begrensninger

Bankoverføringer og betaling ved levering betales etter at bestillingen er lagt inn. Her er hva som skjer med en eksempelbestilling med bankoverføring, fra dagen den legges inn:

NårHva skjerResultat
Dag 0, i checkoutBestillingen opprettes, ikke betaltIkke sendt: sjekken hvert 5. minutt ber bare om betalte bestillinger
Dag 0, omtrent 35 minutter senereBestillingens opprettelsestidspunkt faller utenfor sjekkvinduetFra nå av kan bare webhooken melde den
Dag 3Du markerer bestillingen som betaltWebhooken kommer, ROASaurus sender den. Eventtidspunktet dag 0 er 3 dager gammelt: Meta godtar den
Dag 9, i stedetDu markerer bestillingen som betaltWebhooken kommer, ROASaurus sender den. 9 dager er mer enn 7: Meta avviser den
Illustrativ tidslinje. Eventtidspunktet er bestillingens opprettelsesdato, og Meta godtar server-events opptil 7 dager etter eventtidspunktet.
  • Betaling ved levering. ROASaurus sender disse bestillingene når CCV markerer dem som betalt, vanligvis etter levering. Se sporing av betaling ved levering for når du bør telle slike bestillinger.
  • Kjøp i nettleseren før betaling. Snippeten på bekreftelsessiden kjører når bestillingen legges inn, så nettleserpixlene rapporterer en bestilling med bankoverføring før den er betalt. Hvis betalingen kommer mer enn 48 timer senere, kan ikke Meta og TikTok slå sammen nettleser- og serverkopiene.
  • Ingen IP-reserveløsning. Legg til snippeten på bekreftelsessiden, og fang opp e-postadresser tidligere på nettstedet ditt der du kan.
  • Kanselleringer og refusjoner sendes ikke. Når et kjøp først er sendt, blir det stående i annonseplattformen.
  • Bare sidevisninger, uten kode. Produktvisninger og produkter lagt i handlekurven oppdages automatisk bare på Shopify. På CCV Shop kan en utvikler sende dem med et tlq track-kall.

Integrasjonssiden for CCV Shop lister tilkoblingsfaktaene samlet på ett sted, og hjelpesiden for andre nettbutikker sammenligner CCV Shop med de andre plattformene ROASaurus kobler til, som Lightspeed.

Kilder

  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

I ROASaurus

Les videre

Annonseplattformer og nettbutikkerKonverteringstracking ved betaling ved levering og eksterne checkouterKonverteringstracking ved betaling ved levering: hvorfor pixler går glipp av bestillinger med betaling ved levering og fra eksterne checkouter, når du bør sende kjøpet, og hvordan du håndterer avviste bestillinger.Annonseplattformer og nettbutikkerGoogle Ads enhanced conversions på ShopifyEnhanced conversions legger hashede kundedata til Google Ads-kjøp på Shopify. Slik fungerer de, hvordan de skiller seg fra offline-importer, og oppsettet.Annonseplattformer og nettbutikkerKonverteringstracking for Lightspeed i eCom-nettbutikkerKonverteringstracking for Lightspeed eCom (C-Series): send betalte bestillinger til Meta og TikTok fra serveren, koble dem til annonseklikk, sett det opp og test det.
Vanlige spørsmål

Spørsmål, besvart

Hvor finner jeg CCV Shop API-nøklene mine?

Under My webshop › Settings › General › API settings. Hvis den siden mangler, installerer du først API-appen fra CCV App Store.

Hva gjør kodesnutten på success-siden for bestillinger?

Den leser bestillings-ID-en med Vertoshop.getOrder().getId(), pluss bestillingens totalbeløp og valuta, og utløser ROASaurus-kjøpet med den ID-en. ROASaurus bruker den til å koble bestillingen til den besøkende og annonseklikket deres.

Hvorfor kan ikke ROASaurus matche CCV-bestillinger på IP-adresse?

CCV Shop-bestillinger inneholder ikke kjøperens IP-adresse eller nettleser. Uten snippeten eller en e-postadresse den besøkende oppga tidligere på nettstedet, forblir en bestilling umatchet.

Blir bestillinger som betales dager senere fortsatt sendt?

Ja, gjennom webhooken for betalt bestilling. Sjekken hvert 5. minutt ser bare på nylig opprettede bestillinger, så hold webhooken aktiv. Meta avviser events mer enn 7 dager etter at bestillingen ble opprettet.

Hvordan bruker ROASaurus den hemmelige CCV Shop-nøkkelen min?

ROASaurus lagrer den hemmelige nøkkelen kryptert og bruker den bare til å signere hvert API-kall med HMAC-SHA512, slik CCV krever. Selve nøkkelen blir aldri sendt til CCV, bare signaturen.

Hvert salg, sporet til annonsen som tjente det inn

Server-side tracking, fortjeneste og livstidsverdi i én app. 14 dagers gratis prøveperiode, uten kredittkort.

Start den gratis prøveperioden din →