Platformy reklamowe i sklepy internetowe

Tracking konwersji w CCV Shop: poradnik konfiguracji

Tracking konwersji w CCV Shop: wysyłaj opłacone zamówienia do Meta i TikTok przez podpisany webhook, powiąż je z kliknięciami w reklamy, skonfiguruj, przetestuj i obsłuż opóźnione płatności.

·Zaktualizowano ·10 min czytania·Autor: zespół ROASaurus

Najważniejsze wnioski
  • Tracking konwersji w CCV Shop jest najpełniejszy, gdy każde opłacone zamówienie jest wysyłane z danych zamówienia CCV na serwerze, a fragment kodu na stronie sukcesu zamówienia łączy zamówienie z kliknięciem w reklamę.
  • Jedno kliknięcie Create webhook sprawia, że CCV Shop zgłasza każde zamówienie w chwili oznaczenia go jako opłacone, a każda dostawa musi zawierać prywatny token twojego sklepu.
  • Zamówienia z CCV Shop nie zawierają adresu IP kupującego, więc fragment kodu na stronie sukcesu zamówienia ma w CCV Shop większe znaczenie niż na większości platform.
  • 5-minutowa kontrola sprawdza tylko niedawno utworzone zamówienia, więc zamówienia opłacone po kilku dniach zależą od webhooka: utrzymuj go aktywnego.
  • Meta odrzuca zdarzenia server-side wysłane ponad 7 dni po utworzeniu zamówienia, więc bardzo spóźniony przelew bankowy nie dociera do Meta.

Tracking konwersji w CCV Shop oznacza zgłaszanie każdego opłaconego zamówienia w twoim sklepie CCV Shop do platform reklamowych, takich jak Meta i TikTok, żeby przypisywały zasługi właściwym reklamom i optymalizowały się na prawdziwej sprzedaży. Najpełniejszy sposób to wysyłanie każdego zakupu z danych zamówienia CCV na serwerze i dodanie krótkiego fragmentu kodu na stronie sukcesu zamówienia, który łączy zamówienie z kliknięciem w reklamę.

CCV Shop to hostowana platforma sklepów internetowych holenderskiej firmy CCV, która podaje, że obsługuje 17,000 sklepów internetowych. Ten poradnik wyjaśnia, jak ROASaurus się z nią łączy, jak zamówienia są powiązane z kliknięciami w reklamy, co trafia do Meta i TikTok, jak wygląda konfiguracja, testowanie i jak działają opóźnione płatności. Ogólną ideę opisuje artykuł czym jest server-side tracking.

Jak ROASaurus łączy się z CCV Shop?

ROASaurus korzysta z trzech elementów CCV Shop, wszystkich opisanych w dokumentacji API CCV:

Element CCV ShopDo czego używa go ROASaurus
REST API, z kluczem publicznym i kluczem tajnymOdczytuje każde opłacone zamówienie i jego pozycje
Webhook dla zdarzenia orders.updated.ispaidCCV zgłasza zamówienie w chwili zmiany jego statusu płatności na opłacone
Strona sukcesu zamówienia, z Vertoshop.jsFragment kodu odczytuje tam order id i łączy zamówienie z odwiedzającym
API i webhook dostarczają zamówienie. Fragment kodu na stronie sukcesu łączy je z kliknięciem w reklamę.
Zamówienie oznaczone jako opłaconeW CCV Shop, po płatności
WebhookCCV wysyła order id, podpisane x-hash
ROASaurusOdczytuje zamówienie i jego pozycje podpisanymi wywołaniami API
Platformy reklamowePurchase z event id order-58213
Ścieżka danych każdego opłaconego zamówienia. ROASaurus sprawdza, czy zamówienie jest opłacone, zanim cokolwiek wyśle.

Dlaczego piksele w przeglądarce pomijają zakupy w CCV Shop?

Piksel w przeglądarce raportuje zakup tylko wtedy, gdy przeglądarka kupującego załaduje stronę sukcesu zamówienia i uruchomi się skrypt piksela. Kilka typowych sytuacji to psuje:

  • Kupujący płaci przez przekierowanie, na przykład iDEAL, i zamyka kartę, zanim załaduje się strona sukcesu.
  • Bloker reklam albo ustawienie prywatności w przeglądarce blokuje skrypt piksela.
  • Odwiedzający odrzuca marketingowe cookie, więc piksel nie może się załadować.
  • Zamówienie jest opłacane później, przelewem bankowym lub przy odbiorze, gdy żadna przeglądarka nie jest zaangażowana.

W każdym z tych przypadków CCV Shop nadal oznacza zamówienie jako opłacone. ROASaurus wysyła to zamówienie z serwera, więc zakup jest raportowany niezależnie od tego, co stało się w przeglądarce. Fragment kodu na stronie sukcesu ma inne zadanie: mówi ROASaurus, do którego odwiedzającego, a więc do którego kliknięcia w reklamę, należy zamówienie.

Webhook opłaconego zamówienia i 5-minutowa kontrola

Co robi Create webhook

Gdy klikniesz Create webhook, ROASaurus rejestruje webhook CCV dla zdarzenia orders.updated.ispaid, które CCV wywołuje, gdy zmienia się właściwość paid zamówienia. Adres to adres webhooka twojego sklepu w ROASaurus, który zawiera klucz sklepu i prywatny token. CCV nie dodaje do webhooka niczego, co identyfikuje sklep, a jego dokumentacja radzi umieścić identyfikator w adresie. Klucz sklepu to robi.

CCV nadaje każdemu webhookowi własny 32-znakowy klucz tajny. Gdy CCV zwraca ten klucz, ROASaurus go zapisuje i od tej pory każda dostawa musi zawierać prawidłowy nagłówek x-hash. Każda dostawa musi też zawierać token twojego sklepu. Gdy ROASaurus odbiera dostawę, ignoruje zamówienia, które nie są opłacone, odczytuje z API pełne zamówienie i jego pozycje i wysyła zamówienie tylko wtedy, gdy CCV mówi, że jest opłacone.

Podpisane wywołania API

CCV wymaga podpisania każdego wywołania API. ROASaurus wysyła trzy nagłówki: x-public z twoim kluczem publicznym, x-date z bieżącym czasem i x-hash. CCV odrzuca znacznik czasu, który różni się od czasu jego serwera o więcej niż 5 minut. Sam twój klucz tajny nigdy nie jest wysyłany.

Jak CCV Shop podpisuje żądania
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 )

Sprawdzanie co 5 minut

Co 5 minut ROASaurus pyta też CCV o opłacone zamówienia utworzone od ostatniej kontroli, z 30-minutowym zapasem wstecz, i zapisuje te, których jeszcze nie ma. CCV filtruje zamówienia tylko po dacie utworzenia. Kontrola znajduje więc zamówienia opłacone wkrótce po złożeniu, a zamówienie opłacone po kilku dniach trafia do ROASaurus wyłącznie przez webhook.

CCV uznaje odpowiedź 200, 201, 202 lub 204 za sukces. Po odpowiedzi 307, 408, 503 lub 504 trzyma dostawę otwartą i ponawia ją przy następnym wystąpieniu, a każdą inną odpowiedź oznacza jako nieudaną. Czeka 2 sekundy na połączenie i 5 sekund na odpowiedź.

Jak zamówienie z CCV Shop jest powiązane z kliknięciem w reklamę?

Żeby przypisać zasługi reklamie, platforma potrzebuje identyfikatorów kliknięcia odwiedzającego, który złożył zamówienie, takich jak click id Meta (fbc) i click id TikToka (ttclid). Skrypt ROASaurus zapisuje je dla każdego odwiedzającego, gdy trafia z reklamy. ROASaurus nie dostaje tego visitor id z zamówienia CCV, więc łączy zamówienia z odwiedzającymi w inny sposób:

MetodaW CCV ShopJak to działa
1. Fragment kodu na stronie sukcesu zamówieniaTakOdczytuje order id przez Vertoshop.getOrder().getId(), a także sumę zamówienia i walutę, i wysyła zakup ROASaurus z event id order-58213
2. Wcześniejszy e-mailTakZahashowany e-mail podany wcześniej przez odwiedzającego na twojej stronie, w formularzu w popupie lub przez wywołanie Identify
3. Adres IP i przeglądarkaNieZamówienia z CCV Shop nie zawierają adresu IP ani przeglądarki kupującego, więc ta metoda zapasowa nie ma z czym porównywać
Na większości innych platform dopasowanie po IP łapie część zamówień, które fragment kodu pomija. W CCV Shop nie jest to możliwe, więc dodaj fragment kodu.

ROASaurus czeka krótko, zanim wyśle każdy zakup, żeby zdarzenie ze strony sukcesu mogło dotrzeć pierwsze, i ponawia dopasowanie w momencie wysyłki. Strona Orders pokazuje wynik dla każdego zamówienia w kolumnie Matched by: thank_you, email lub not matched.

Niedopasowane zamówienie nadal trafia do twoich platform reklamowych z zahashowanymi danymi klienta z zamówienia. Nie ma identyfikatorów kliknięcia, a ponieważ zamówienia CCV nie niosą adresu IP ani przeglądarki, nie ma też tych danych. To obniża odsetek zdarzeń, które Meta może dopasować do osoby; artykuł Event Match Quality wyjaśnia, jak Meta to ocenia. W atrybucji ROASaurus niedopasowane zamówienie jest pokazywane jako bezpośrednie lub nieznane.

Co z zamówienia CCV trafia do Meta i TikTok?

Dane zamówienia CCVWysyłane jako
idEvent id order-58213 i order id
total_price, currencyWartość i waluta (EUR, gdy CCV nie podaje waluty)
create_dateCzas zdarzenia
E-mail klienta, numer komórkowy lub telefonu, imię i nazwiskoHashowane SHA-256
Miasto rozliczeniowe, kod pocztowy i kod krajuHashowane SHA-256
Customer idZahashowany external id
Pozycje zamówienia: numer produktu, product id, liczba, cena i nazwaProdukty z id, ilością i ceną
Adres IP i przeglądarkaBrak w zamówieniach CCV: pobierane ze zdarzenia na stronie sukcesu albo od dopasowanego odwiedzającego
Co ROASaurus odczytuje z każdego zamówienia CCV Shop i jak to wygląda w zdarzeniu server-side.

Meta dostaje Purchase przez swoje Conversions API, a TikTok CompletePayment przez swoje Events API, oba z event id order-58213. TikTok pokazuje teraz CompletePayment w swoich raportach jako Purchase. Gdy zaznaczysz opcję ładowania także piksela w przeglądarce, fragment kodu na stronie sukcesu wysyła te same zdarzenia w przeglądarce z tym samym event id, a Meta i TikTok zachowują jedną kopię. Te same zamówienia trafiają do Snapchata, Pinteresta, Reddita, X, Microsoft Ads, Taboola, LinkedIn i innych platform reklamowych, gdy je podłączysz. Konwersje zakupu Google Ads są wysyłane tylko z checkoutu Shopify, więc ROASaurus nie wysyła ich z CCV Shop.

Jak skonfigurować tracking konwersji w CCV Shop

  1. Dodaj sklep w ROASaurus

    Przejdź do Add a store, wybierz CCV Shop i wpisz adres swojego sklepu. Karta Connection pokaże wtedy twój tag skryptu i fragment kodu na stronę sukcesu.

  2. Znajdź swoje klucze API

    W CCV Shop przejdź do My webshop › Settings › General › API settings i kliknij New API key. Jeśli tego nie widzisz, najpierw zainstaluj aplikację API z CCV App Store.

  3. Dodaj skrypt na każdej stronie

    Wklej tag skryptu w Header HTML swojego sklepu. Centrum pomocy CCV umieszcza go w Mijn webshop › Instellingen › Lay-out › Layout, na dole strony. Działa też blok kodu aplikacji w nagłówku.

  4. Dodaj fragment kodu na stronie sukcesu

    Przejdź do Mijn webshop › Instellingen › Algemeen › Teksten, otwórz tekst wyświetlany po złożeniu zamówienia, przełącz na Source i wklej tam fragment kodu. CCV Shop uruchomi go wtedy na stronie sukcesu zamówienia.

  5. Połącz API

    Na karcie Connection wpisz klucz publiczny i klucz tajny. Pole Shop URL wypełnij tylko wtedy, gdy twoje API działa na innej domenie niż sklep. Zapisz, kliknij Test connection, a potem Create webhook.

  6. Połącz swoje platformy reklamowe

    W Tracking & platforms użyj Connect with Facebook albo Add pixel dla Meta i Add pixel dla TikTok. Zaznacz opcję ładowania także piksela w przeglądarce.

Zgoda

Poza Shopify skrypt ROASaurus odczytuje wybór odwiedzającego z popularnych narzędzi do zgód: Cookiebot, OneTrust, banerów IAB TCF i Google consent mode. W przypadku innego banera cookie wywołaj tlq('consent', true), gdy odwiedzający zaakceptuje marketingowe cookie, i tlq('consent', false), gdy je odrzuci. Dopóki odwiedzający nie zaakceptuje, nie ma visitor id ani click id, a piksele w przeglądarce się nie uruchamiają. Opłacone zamówienie nadal jest wysyłane z serwera z zahashowanymi danymi klienta z zamówienia. Szczegóły wyjaśnia strona pomocy o zgodach.

Jak przetestować tracking konwersji w CCV Shop?

  • Otwórz swój sklep z ?roasaurus=connected w adresie. Alert potwierdza, że skrypt działa. ?roasaurus=debug zapisuje w konsoli przeglądarki to, co skrypt wysyła.
  • W Event log, w sekcji Collected events, wyświetlenia stron powinny pokazywać visitor id.
  • Złóż zamówienie i opłać je albo oznacz je jako opłacone. W Collected events Event log powinien pokazać Purchase z order id CCV w danych. Jeśli go brakuje, fragment kodu na stronie sukcesu nie zadziałał.
  • Na karcie Connection Last order received pokazuje zamówienie, a Last sync ostatnią 5-minutową kontrolę, wraz z ewentualnym błędem z CCV.
  • W Server deliveries w Event log każda podłączona platforma dostaje wiersz ze statusem sent i odpowiedzią platformy.
PageView visitor 51c0e9a7Skrypt na każdej stronie
Purchase order-58213Fragment kodu na stronie sukcesu zamówienia
webhook orders.updated.ispaidPodpis sprawdzony, zamówienie opłacone
Meta Purchase sentMatched by thank_you
TikTok CompletePayment sentTen sam event id, po deduplikacji
Przykład prawidłowego zamówienia testowego. Fetch orders now na karcie Connection od razu uruchamia 5-minutową kontrolę.

Żeby zobaczyć zdarzenie w Meta, wklej kod z Events Manager › Test events w pole Test event code swojego piksela Meta w ROASaurus i usuń go, gdy skończysz.

Opóźnione płatności i inne ograniczenia

Przelewy bankowe i płatności za pobraniem są opłacane po złożeniu zamówienia. Oto, co dzieje się z przykładowym zamówieniem z przelewem bankowym, od dnia jego złożenia:

KiedyCo się dziejeWynik
Dzień 0, w checkoucieZamówienie jest utworzone, ale nieopłaconeNie wysłano: 5-minutowa kontrola pyta tylko o opłacone zamówienia
Dzień 0, około 35 minut późniejCzas utworzenia zamówienia wypada poza okno kontroliOd teraz może je zgłosić tylko webhook
Dzień 3Oznaczasz zamówienie jako opłaconeWebhook dociera, ROASaurus go wysyła. Czas zdarzenia z dnia 0 ma 3 dni: Meta go akceptuje
Zamiast tego dzień 9Oznaczasz zamówienie jako opłaconeWebhook dociera, ROASaurus go wysyła. 9 dni to więcej niż 7: Meta go odrzuca
Oś czasu poglądowa. Czas zdarzenia to data utworzenia zamówienia, a Meta akceptuje zdarzenia server-side do 7 dni po czasie zdarzenia.
  • Płatność za pobraniem. ROASaurus wysyła te zamówienia, gdy CCV oznacza je jako opłacone, zwykle po dostawie. Zobacz tracking płatności za pobraniem, żeby wiedzieć, kiedy liczyć takie zamówienia.
  • Zakupy z przeglądarki przed płatnością. Fragment kodu na stronie sukcesu uruchamia się w chwili złożenia zamówienia, więc piksele w przeglądarce raportują zamówienie z przelewem bankowym, zanim zostanie opłacone. Jeśli płatność przyjdzie później niż po 48 godzinach, Meta i TikTok nie mogą połączyć kopii z przeglądarki i z serwera.
  • Brak dopasowania po IP. Dodaj fragment kodu na stronie sukcesu i zbieraj adresy e-mail wcześniej na swojej stronie, gdzie to możliwe.
  • Anulowania i zwroty nie są wysyłane. Gdy zakup zostanie wysłany, zostaje w platformie reklamowej.
  • Tylko wyświetlenia stron, bez kodu. Wyświetlenia produktów i dodania do koszyka są wykrywane automatycznie tylko w Shopify. W CCV Shop programista może je wysłać wywołaniem track tlq.

Strona integracji z CCV Shop zbiera fakty o połączeniu w jednym miejscu, a strona pomocy dla innych sklepów internetowych porównuje CCV Shop z innymi platformami, z którymi łączy się ROASaurus, takimi jak Lightspeed.

Źródła

  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

W ROASaurus

Czytaj dalej

Platformy reklamowe i sklepy internetoweTracking konwersji przy płatności za pobraniem i zewnętrzne checkoutyTracking konwersji przy płatności za pobraniem: dlaczego piksele pomijają zamówienia COD i z zewnętrznych checkoutów, kiedy wysłać zakup i jak obsłużyć odrzucone zamówienia.Platformy reklamowe i sklepy internetoweGoogle Ads enhanced conversions w ShopifyEnhanced conversions dodają zahashowane dane klientów do zakupów w Google Ads w Shopify. Jak działają, czym różnią się od importu offline i jak je skonfigurować.Platformy reklamowe i sklepy internetoweTracking konwersji w Lightspeed dla sklepów eComTracking konwersji w Lightspeed eCom (C-Series): wysyłaj opłacone zamówienia do Meta i TikTok z serwera, powiąż je z kliknięciami w reklamy, skonfiguruj go i przetestuj.
FAQ

Pytania i odpowiedzi

Gdzie znajdę klucze API CCV Shop?

W My webshop › Settings › General › API settings. Jeśli tej strony nie ma, najpierw zainstaluj aplikację API z CCV App Store.

Co robi fragment kodu na stronie sukcesu zamówienia?

Odczytuje order id przez Vertoshop.getOrder().getId(), a także sumę zamówienia i walutę, i wysyła zakup ROASaurus z tym id. ROASaurus używa go do powiązania zamówienia z odwiedzającym i jego kliknięciem w reklamę.

Dlaczego ROASaurus nie może dopasować zamówień CCV po adresie IP?

Zamówienia z CCV Shop nie zawierają adresu IP ani przeglądarki kupującego. Bez fragmentu kodu albo e-maila podanego wcześniej przez odwiedzającego na stronie zamówienie pozostaje niedopasowane.

Czy zamówienia opłacone po kilku dniach nadal są wysyłane?

Tak, przez webhook opłaconego zamówienia. 5-minutowa kontrola sprawdza tylko niedawno utworzone zamówienia, więc utrzymuj webhook aktywny. Meta odrzuca zdarzenia wysłane ponad 7 dni po utworzeniu zamówienia.

Jak ROASaurus używa mojego klucza tajnego CCV Shop?

ROASaurus przechowuje klucz tajny w postaci zaszyfrowanej i używa go tylko do podpisywania każdego wywołania API przez HMAC-SHA512, jak wymaga CCV. Sam klucz nigdy nie jest wysyłany do CCV, tylko podpis.

Każda sprzedaż przypisana do reklamy, która ją przyniosła

Server-side tracking, zysk i wartość życiowa klienta w jednej aplikacji. 14-dniowy darmowy okres próbny, bez karty kredytowej.

Zacznij darmowy okres próbny →