Рекламни платформи и онлайн магазини

Проследяване на конверсии в CCV Shop: ръководство за настройка

Проследяване на конверсии в CCV Shop: изпращайте платените поръчки към Meta и TikTok с подписан webhook, свържете ги с кликванията върху реклами, настройте, тествайте и обработвайте късните плащания.

·Обновено на ·10 мин четене·От екипа на ROASaurus

Основни изводи
  • Проследяването на конверсии в CCV Shop е най-пълно, когато всяка платена поръчка се изпраща от данните за поръчките на CCV на сървъра, а фрагмент на страницата за успешна поръчка свързва поръчката с кликването върху реклама.
  • Едно кликване върху Create webhook кара CCV Shop да съобщава за всяка поръчка в момента, в който е маркирана като платена, а всяко изпращане трябва да носи частния токен на вашия магазин.
  • Поръчките от CCV Shop не включват IP адреса на купувача, затова фрагментът на страницата за успешна поръчка е по-важен в CCV Shop, отколкото в повечето платформи.
  • 5-минутната проверка гледа само наскоро създадени поръчки, затова поръчките, платени дни по-късно, зависят от webhook-а: дръжте го активен.
  • Meta отхвърля събития от сървъра повече от 7 дни след създаването на поръчката, затова много късен банков превод не стига до Meta.

Проследяването на конверсии в CCV Shop означава да съобщавате за всяка платена поръчка във вашия онлайн магазин в CCV Shop на рекламни платформи като Meta и TikTok, така че те да приписват заслугата на правилните реклами и да оптимизират по реални продажби. Най-пълният начин е да изпращате всяка покупка от данните за поръчките на CCV на сървъра и да добавите кратък фрагмент към страницата за успешна поръчка, който свързва поръчката с кликването върху реклама.

CCV Shop е хоствана платформа за онлайн магазини на нидерландската компания CCV, която твърди, че обслужва 17,000 онлайн магазина. Това ръководство обяснява как ROASaurus се свързва с нея, как поръчките се свързват с кликванията върху реклами, какво стига до Meta и TikTok, настройката, тестването и как работят късните плащания. За общата идея прочетете какво е проследяване от страна на сървъра.

Как ROASaurus се свързва с CCV Shop?

ROASaurus използва три части от CCV Shop, всички описани в API документацията на CCV:

Част от CCV ShopЗа какво я използва ROASaurus
REST API, с публичен и таен ключЧете всяка платена поръчка и редовете ѝ
Webhook за събитието orders.updated.ispaidCCV съобщава за поръчка в момента, в който статусът ѝ на плащане се промени
Страницата за успешна поръчка, с Vertoshop.jsФрагментът чете там ID на поръчката и свързва поръчката с посетителя
API и webhook-ът доставят поръчката. Фрагментът на страницата за успешна поръчка я свързва с кликването върху реклама.
Поръчката е маркирана като платенаВ CCV Shop, след плащането
WebhookCCV изпраща ID на поръчката, подписано с x-hash
ROASaurusЧете поръчката и редовете ѝ с подписани API заявки
Рекламни платформиPurchase с ID на събитието order-58213
Пътят на данните за всяка платена поръчка. ROASaurus проверява дали поръчката е платена, преди да изпрати каквото и да е.

Защо пикселите в браузъра пропускат покупки от CCV Shop?

Пикселът в браузъра отчита покупка само когато браузърът на купувача зареди страницата за успешна поръчка и скриптът на пиксела се изпълни. Няколко често срещани ситуации нарушават това:

  • Купувачът плаща чрез пренасочване, например с iDEAL, и затваря раздела, преди да се зареди страницата за успешна поръчка.
  • Блокер на реклами или настройка за поверителност в браузъра блокира скрипта на пиксела.
  • Посетителят отказва маркетинговите бисквитки, така че пикселът не трябва да се зарежда.
  • Поръчката се плаща по-късно, с банков превод или при доставка, когато няма участие на браузър.

Във всеки от тези случаи CCV Shop все пак маркира поръчката като платена. ROASaurus изпраща тази поръчка от сървъра, така че покупката се отчита независимо от това какво се е случило в браузъра. Фрагментът на страницата за успешна поръчка има друга задача: той казва на ROASaurus към кой посетител, а оттам към кое кликване върху реклама, принадлежи поръчката.

Webhook-ът за платена поръчка и 5-минутната проверка

Какво прави Create webhook

Когато натиснете Create webhook, ROASaurus регистрира webhook в CCV за събитието orders.updated.ispaid, което CCV задейства, когато свойството „платена“ на поръчката се промени. Адресът е webhook URL адресът на вашия магазин в ROASaurus, който съдържа ключа на магазина и частен токен. CCV не добавя към webhook нищо, което идентифицира магазина, а документацията му съветва да се постави идентификатор в адреса. Ключът на магазина го прави.

CCV дава на всеки webhook собствен таен ключ от 32 знака. Когато CCV върне този ключ, ROASaurus го запазва и оттук нататък всяко изпращане трябва да носи валидна заглавка x-hash. Всяко изпращане трябва да носи и токена на вашия магазин. Когато ROASaurus получи изпращане, игнорира неплатените поръчки, чете цялата поръчка и редовете ѝ от API и изпраща поръчката само когато CCV казва, че е платена.

Подписани API заявки

CCV изисква всяка API заявка да бъде подписана. ROASaurus изпраща три заглавки: x-public с вашия публичен ключ, x-date с текущото време и x-hash. CCV отхвърля времеви печат, който се различава с повече от 5 минути от времето на сървъра му. Самият ви таен ключ никога не се изпраща.

Как CCV Shop подписва заявките
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-минутната проверка

На всеки 5 минути ROASaurus допълнително пита CCV за платените поръчки, създадени след последната му проверка, с 30 минути припокриване, и записва тези, които още няма. CCV филтрира поръчките само по дата на създаване. Затова проверката намира поръчки, които се плащат скоро след създаването им, а поръчка, платена дни по-късно, стига до ROASaurus само през webhook-а.

CCV приема отговор 200, 201, 202 или 204 за успех. След отговор 307, 408, 503 или 504 то държи изпращането отворено и го опитва отново при следващото събитие, а всеки друг отговор маркира като неуспешен. Изчаква 2 секунди за връзка и 5 секунди за отговора.

Как поръчка от CCV Shop се свързва с кликването върху реклама?

За да припише заслугата на реклама, платформата се нуждае от идентификаторите на кликването на посетителя, който е поръчал, като click ID на Meta (fbc) и click ID на TikTok (ttclid). Скриптът на ROASaurus ги запазва за всеки посетител, когато той пристигне от реклама. ROASaurus не получава това ID на посетителя от поръчката в CCV, затова свързва поръчките с посетителите по други начини:

МетодВ CCV ShopКак работи
1. Фрагмент на страницата за успешна поръчкаДаЧете ID на поръчката с Vertoshop.getOrder().getId(), заедно с общата сума на поръчката и валутата, и задейства покупка в ROASaurus с ID на събитието order-58213
2. По-ранен имейлДаХеширан имейл, който посетителят е въвел по-рано във вашия сайт, в изскачаща форма или чрез извикване на Identify
3. IP адрес и браузърНеПоръчките от CCV Shop не включват IP адреса или браузъра на купувача, така че този резервен метод няма какво да сравнява
В повечето други платформи резервният метод с IP адрес улавя някои поръчки, които фрагментът пропуска. В CCV Shop той не може, затова добавете фрагмента.

ROASaurus изчаква за кратко, преди да изпрати всяка покупка, така че събитието от страницата за успешна поръчка да може да пристигне първо, и опитва съпоставянето отново в момента на изпращане. Страницата Orders показва резултата за всяка поръчка в колоната Matched by: thank_you, email или not matched.

Несъпоставена поръчка пак отива към рекламните ви платформи с хеширани данни за клиента от поръчката. Тя няма идентификатори на кликване и, тъй като поръчките от CCV не носят IP адрес или браузър, няма и тях. Това намалява дела на събитията, които Meta може да съпостави с човек; Event Match Quality обяснява как Meta оценява това. В атрибуцията на ROASaurus несъпоставената поръчка се показва като директна или неизвестна.

Какво стига до Meta и TikTok от поръчка в CCV?

Данни за поръчката в CCVИзпраща се като
idID на събитието order-58213 и ID на поръчката
total_price, currencyСтойност и валута (EUR, когато CCV не дава валута)
create_dateВремето на събитието
Имейл на клиента, мобилен или телефонен номер, собствено и фамилно имеХеширани със SHA-256
Град за фактуриране, пощенски код и код на държаватаХеширани със SHA-256
ID на клиентаХеширано външно ID
Редове на поръчката: номер на продукта, ID на продукта, брой, цена и имеПродукти с ID, количество и цена
IP адрес и браузърЛипсват в поръчките от CCV: вземат се от събитието на страницата за успешна поръчка или от съпоставения посетител
Какво ROASaurus чете от всяка поръчка в CCV Shop и как се показва в събитието от сървъра.

Meta получава Purchase през своя Conversions API, а TikTok получава CompletePayment през своя Events API, и двете с ID на събитието order-58213. TikTok вече показва CompletePayment като Purchase в отчетите си. Когато отметнете опцията да се зарежда и пикселът в браузъра, фрагментът на страницата за успешна поръчка задейства същите събития в браузъра със същото ID на събитието, а Meta и TikTok запазват по едно копие. Същите поръчки отиват към Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn и другите рекламни платформи, когато ги свържете. Конверсиите за покупки в Google Ads се изпращат само от страницата за плащане на Shopify, затова ROASaurus не ги изпраща от CCV Shop.

Как да настроите проследяването на конверсии в CCV Shop

  1. Добавете магазина в ROASaurus

    Отидете на Add a store, изберете CCV Shop и въведете адреса на магазина си. Разделът Connection показва след това вашия таг на скрипта и фрагмента за страницата за успешна поръчка.

  2. Намерете своите API ключове

    В CCV Shop отидете на My webshop › Settings › General › API settings и натиснете New API key. Ако не го виждате, първо инсталирайте API приложението от CCV App Store.

  3. Добавете скрипта към всяка страница

    Поставете тага на скрипта в Header HTML на магазина си. Помощният център на CCV го показва под Mijn webshop › Instellingen › Lay-out › Layout, в долната част на страницата. Работи и блок с код на приложение в заглавната част.

  4. Добавете фрагмента към страницата за успешна поръчка

    Отидете на Mijn webshop › Instellingen › Algemeen › Teksten, отворете текста, който се показва след направена поръчка, превключете на Source и поставете фрагмента там. След това CCV Shop го изпълнява на страницата за успешна поръчка.

  5. Свържете API

    В раздела Connection въведете публичния и тайния ключ. Попълнете Shop URL само когато вашият API работи в друг домейн, а не в този на магазина ви. Запазете, натиснете Test connection и след това Create webhook.

  6. Свържете рекламните си платформи

    В Tracking & platforms използвайте Connect with Facebook или Add pixel за Meta и Add pixel за TikTok. Отметнете опцията да се зарежда и пикселът в браузъра.

Съгласие

Извън Shopify скриптът на ROASaurus чете избора на посетителя от разпространени инструменти за съгласие: Cookiebot, OneTrust, банери на IAB TCF и Google consent mode. При друг банер за бисквитки извикайте tlq('consent', true), когато посетителят приеме маркетинговите бисквитки, и tlq('consent', false), когато ги откаже. Докато посетителят не приеме, той няма ID на посетител или click ID и не се задействат пиксели в браузъра. Платената поръчка все пак се изпраща от сървъра с хеширани данни за клиента от поръчката. Помощната страница за съгласието обяснява подробностите.

Как да тествате проследяването на конверсии в CCV Shop?

  • Отворете магазина си с ?roasaurus=connected в адреса. Известие потвърждава, че скриптът работи. ?roasaurus=debug записва в конзолата на браузъра какво изпраща.
  • В Event log, под Collected events, прегледите на страници трябва да показват ID на посетител.
  • Направете поръчка и я платете или я маркирайте като платена. Под Collected events в Event log трябва да се показва Purchase с ID на поръчката от CCV в данните му. Ако липсва, фрагментът на страницата за успешна поръчка не е сработил.
  • В раздела Connection Last order received показва поръчката, а Last sync показва последната 5-минутна проверка, заедно с евентуална грешка от CCV.
  • Под Server deliveries в Event log всяка свързана платформа получава ред със статус sent и отговора на платформата.
PageView visitor 51c0e9a7Скрипт на всяка страница
Purchase order-58213Фрагмент на страницата за успешна поръчка
webhook orders.updated.ispaidПодписът е проверен, поръчката е платена
Meta Purchase sentMatched by thank_you
TikTok CompletePayment sentЕдно и също ID на събитието, дедупликация
Пример за изправна тестова поръчка. Fetch orders now в раздела Connection изпълнява 5-минутната проверка веднага.

За да видите събитието в Meta, поставете кода от Events Manager › Test events в полето Test event code на вашия пиксел за Meta в ROASaurus и го премахнете, когато приключите.

Късни плащания и други ограничения

Банковите преводи и плащането при доставка се извършват, след като поръчката е направена. Ето какво се случва с примерна поръчка с банков превод от деня, в който е направена:

КогаКакво се случваРезултат
Ден 0, на страницата за плащанеПоръчката е създадена, не е платенаНе е изпратено: 5-минутната проверка пита само за платени поръчки
Ден 0, около 35 минути по-късноВремето на създаване на поръчката излиза от прозореца на проверкатаОттук нататък само webhook-ът може да я отчете
Ден 3Маркирате поръчката като платенаWebhook-ът пристига, ROASaurus я изпраща. Времето на събитието от Ден 0 е на 3 дни: Meta я приема
Ден 9, вместо товаМаркирате поръчката като платенаWebhook-ът пристига, ROASaurus я изпраща. 9 дни е повече от 7: Meta я отхвърля
Илюстративна времева линия. Времето на събитието е датата на създаване на поръчката, а Meta приема събития от сървъра до 7 дни след времето на събитието.
  • Плащане при доставка. ROASaurus изпраща тези поръчки, когато CCV ги маркира като платени, обикновено след доставката. Вижте проследяването при плащане при доставка, за да разберете кога да отчитате такива поръчки.
  • Покупки от браузъра преди плащането. Фрагментът на страницата за успешна поръчка се изпълнява, когато поръчката е направена, така че пикселите в браузъра отчитат поръчка с банков превод, преди тя да е платена. Ако плащането дойде повече от 48 часа по-късно, Meta и TikTok не могат да обединят копията от браузъра и от сървъра.
  • Няма резервен метод с IP адрес. Добавете фрагмента на страницата за успешна поръчка и събирайте имейли по-рано във вашия сайт, където е възможно.
  • Анулиранията и възстановяванията на суми не се изпращат. След като една покупка бъде изпратена, тя остава в рекламната платформа.
  • Само прегледи на страници, без код. Прегледите на продукти и добавянията в количката се засичат автоматично само в Shopify. В CCV Shop разработчик може да ги изпраща с извикване tlq за проследяване.

Страницата за интеграцията с CCV Shop събира фактите за връзката на едно място, а помощната страница за други онлайн магазини сравнява CCV Shop с другите платформи, с които ROASaurus се свързва, като Lightspeed.

Източници

  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

В ROASaurus

Продължете да четете

Рекламни платформи и онлайн магазиниПроследяване на конверсии при плащане при доставка и външни страници за плащанеПроследяване на конверсии при плащане при доставка: защо пикселите пропускат такива поръчки, както и поръчките от външни страници за плащане, кога да изпратите покупката и как да се справите с отказани поръчки.Рекламни платформи и онлайн магазиниEnhanced conversions на Google Ads в ShopifyEnhanced conversions добавят хеширани данни за клиентите към покупките в Google Ads от Shopify. Как работят, с какво се различават от офлайн импортите и как се настройват.Рекламни платформи и онлайн магазиниПроследяване на конверсии в Lightspeed за онлайн магазини с eComПроследяване на конверсии в Lightspeed eCom (C-Series): изпращайте платените поръчки към Meta и TikTok от сървъра, свържете ги с кликванията върху реклами, настройте го и го тествайте.
ЧЗВ

Въпроси и отговори

Къде да намеря API ключовете на CCV Shop?

В My webshop › Settings › General › API settings. Ако тази страница липсва, първо инсталирайте API приложението от CCV App Store.

Какво прави кодовият фрагмент за успешна поръчка?

Чете ID на поръчката с Vertoshop.getOrder().getId(), заедно с общата сума на поръчката и валутата, и задейства покупката в ROASaurus с това ID. ROASaurus го използва, за да свърже поръчката с посетителя и неговото кликване върху реклама.

Защо ROASaurus не може да съпоставя поръчките от CCV по IP адрес?

Поръчките от CCV Shop не включват IP адреса или браузъра на купувача. Без фрагмента или без имейл, който посетителят е въвел по-рано в сайта, поръчката остава несъпоставена.

Изпращат ли се поръчки, платени дни по-късно?

Да, през webhook-а за платена поръчка. 5-минутната проверка гледа само наскоро създадени поръчки, затова дръжте webhook-а активен. Meta отхвърля събития повече от 7 дни след създаването на поръчката.

Как ROASaurus използва моя таен ключ за CCV Shop?

ROASaurus съхранява тайния ключ криптиран и го използва само за да подписва всяка API заявка с HMAC-SHA512, както изисква CCV. Самият ключ никога не се изпраща към CCV, а само подписът.

Всяка продажба, проследена до рекламата, която я е донесла

Проследяване от страна на сървъра, печалба и пожизнена стойност на клиента в едно приложение. 14-дневен безплатен пробен период, без кредитна карта.

Започнете безплатния си пробен период →