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

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

Настройте проследяване от страна на сървъра в WooCommerce: изпращайте платените поръчки към Meta и TikTok с плъгина на ROASaurus или с webhook-ове, свържете ги с кликванията върху реклами и тествайте.

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

Основни изводи
  • Проследяването от страна на сървъра в WooCommerce изпраща всяка платена поръчка от собствените данни за поръчките на магазина към Meta, TikTok и други рекламни платформи, така че покупката се отчита дори когато пикселът в браузъра никога не се задейства.
  • ROASaurus брои поръчка в WooCommerce за платена, когато статусът ѝ е processing или completed, което включва поръчките с плащане при доставка и банковите преводи, след като ги потвърдите.
  • Плъгинът на ROASaurus записва ID на посетителя и бисквитките от кликването върху реклама към всяка поръчка при плащането, така че поръчката се свързва точно със своето кликване върху реклама.
  • Без плъгина webhook-овете пак доставят всяка платена поръчка, но няма съпоставяне чрез страницата за благодарност: поръчките се свързват само по имейл, въведен по-рано в сайта, или по уникален IP адрес и браузър.
  • В WooCommerce скриптът на ROASaurus следва плъгините за съгласие, които използват WP Consent API, като Complianz и CookieYes, както и банерите на Cookiebot, OneTrust и IAB TCF.

Проследяването от страна на сървъра в WooCommerce изпраща всяка платена поръчка от данните за поръчките на вашия магазин към Meta, TikTok и други рекламни платформи, вместо да разчита само на пиксел в браузъра на купувача. Покупката се отчита дори когато блокер на реклами спре пиксела или купувачът никога не стигне до страницата за благодарност.

Това ръководство обхваща защо магазините на WooCommerce губят конверсии, данните за поръчките, които WooCommerce ви дава, и двата начина за свързване на ROASaurus: плъгина за WordPress или webhook-ове. След това са съпоставянето, съгласието, настройката и тестването. За общата идея прочетете какво е проследяването от страна на сървъра.

Защо магазините на WooCommerce губят конверсии?

Пикселът в браузъра отчита покупка само когато скриптът на пиксела се зареди, купувачът стигне до страницата за благодарност и браузърът изпрати събитието. Всяка стъпка може да се провали. Самата поръчка все пак е във вашата база данни, защото WooCommerce я записва на сървъра.

Какво се случваПиксел в браузъраДанни за поръчките в WooCommerce
Купувачът плаща чрез пренасочване (например PayPal или банково приложение) и затваря разделаНяма страница за благодарност, няма събитие за покупкаПлатена поръчка, статус processing
Блокер на реклами или настройка за поверителност блокира скрипта на пикселаНяма събитие за покупкаПлатена поръчка
Посетителят отказва маркетинговите бисквиткиПикселът не бива да се зареждаПлатена поръчка
Банков превод се потвърждава три дни по-късноВ този момент няма отворен браузърСтатусът се променя от on hold на processing
Плъгин за кеширане или оптимизиране на скриптове забавя пикселаСъбитието може да закъснее или да липсваПлатена поръчка
Във всички случаи платената поръчка съществува в WooCommerce. Проследяването от страна на сървъра изпраща тази поръчка, независимо какво се е случило в браузъра.

Липсващите покупки вредят по два начина. Рекламната платформа оптимизира въз основа на по-малко конверсии, а отчетите ви показват по-ниска възвръщаемост от реалната. Ето втория ефект в числа, за примерен магазин с ROAS на точката на рентабилност 2.2:

Примерен магазин, един месецСамо пикселВсяка платена поръчка
Разходи за реклама в Meta$8,000$8,000
Покупки от кликвания в Meta260320
Приходи при $60 на поръчка$15,600$19,200
ROAS15,600 ÷ 8,000 = 1.9519,200 ÷ 8,000 = 2.40
Спрямо точката на рентабилност (2.2)Изглежда като загубаПечеливша
Илюстративни числа. Една и съща кампания изглежда като загуба по данните от пиксела и печели пари по данните от поръчките.

Какво ви дава WooCommerce: поръчки, webhook-ове и REST API

Кои статуси на поръчка се броят за платени?

WooCommerce описва processing като получено плащане, при което поръчката чака изпълнение. ROASaurus изпраща поръчки със статус processing или completed и пропуска поръчките със статус pending payment, on hold, failed, cancelled и refunded. Два начина на плащане изискват внимание:

  • Плащане при доставка. WooCommerce задава на тези поръчки статус processing, докато плащането не бъде събрано, затова ROASaurus ги изпраща, когато бъдат направени. Изключение са поръчките със сваляем продукт: те получават статус on hold. Вижте проследяването на поръчки с плащане при доставка за това какво означава това при връщания и откази.
  • Банков превод. WooCommerce поставя тези поръчки в статус on hold, докато потвърдите плащането. ROASaurus ги изпраща, когато ги преместите в processing.

Webhooks

Webhook е съобщение, което WooCommerce изпраща към друга система, когато нещо се промени. Създавате го в WooCommerce › Settings › Advanced › Webhooks. За тема на поръчка payload-ът е същият обект на поръчка, който връща REST API. Всяко изпращане носи заглавка X-WC-Webhook-Signature: base64 HMAC-SHA256 хеш на payload-а, направен с тайния ключ, който изберете. ROASaurus проверява този подпис, преди да приеме поръчка.

Две подробности са важни на практика. WooCommerce доставя webhook-овете на заден план, по подразбиране с WP-Cron, така че доставката може да се забави, когато тази опашка закъснява. А WooCommerce деактивира webhook-а след повече от пет неуспешни доставки поред.

REST API

REST API позволява на ROASaurus сам да поиска поръчките. С API ключ само за четене ROASaurus на всеки 5 минути пита за поръчки със статус processing и completed, променени след последната му проверка, с 30 минути припокриване. Поръчките, които вече има, се игнорират. Така се улавя всяка поръчка, която webhook-ът е пропуснал.

Поле на поръчкатаКакво прави ROASaurus с него
idСтава ID на събитието order-1042, споделен от събитията от сървъра и от браузъра
totalСтойността на покупката: общата сума, включително данъци и доставка
Имейл, телефон, име, град, област, пощенски код и държава от данните за фактуриранеХешира се със SHA-256 и се изпраща като данни за клиента
customer_ip_address, customer_user_agentИзпращат се със събитието и се използват за съпоставяне на поръчката с посетител
line_itemsID на продуктите (ID на вариацията, когато има такава), количества и цени
date_paid_gmtВремето на събитието за поръчки от webhook или REST API (датата на създаване, когато няма дата на плащане)
meta_dataС плъгина: ID на посетителя и бисквитките на Meta и TikTok
Какво ROASaurus чете от поръчка в WooCommerce. Webhook-ът и REST API връщат едни и същи полета.

Плъгин или webhook-ове: два начина за свързване

И двете връзки изпращат всяка платена поръчка. Разликата е в това колко добре всяка поръчка е свързана с кликването върху реклама, което е довело купувача.

Страница за плащанеПлъгинът записва ID на посетителя и бисквитките от кликването към поръчката
Платена поръчкаСтатус processing или completed
ROASaurusПолучава поръчката от плъгина или от webhook
Рекламни платформиMeta, TikTok и други получават Purchase с ID на събитието order-1042
Пътят на данните с плъгина. Без него стъпката на плащане не записва нищо допълнително и поръчката пристига само чрез webhook.
Плъгин на ROASaurusСамо webhook-ове
Какво инсталиратеПлъгин за WordPress (PHP 7.4 и WooCommerce 6.0 или по-нови)Нищо: webhook в настройките на WooCommerce
Как пристигат поръчкитеПлъгинът изпраща всяка платена поръчка към API за поръчки на ROASaurusWooCommerce изпраща Order updated; незадължителна проверка през REST API на всеки 5 минути
Скрипт за проследяванеЗарежда се от плъгина на всяка страницаДобавяте го вие, например с плъгина WPCode или в темата си
ID на посетителя и бисквитки от кликването към поръчкатаДа, записват се при плащането (класическа и блокова страница за плащане)Не
Покупка от браузъра на страницата за благодарностДа, със същия ID на събитието като събитието от сървъраНе
Съпоставяне чрез страницата за благодарностДаНе
И двете връзки изпращат всяка платена поръчка. Само плъгинът свързва всяка поръчка с нейния посетител при плащането.

Можете да ползвате и двете едновременно. Плъгинът записва ID на посетителя към поръчката като мета данни на поръчката, а payload-ът на webhook го пренася. ROASaurus съхранява всяка поръчка веднъж, по нейния ID на поръчка в WooCommerce, така че плъгинът и webhook-ът никога не създават две покупки. Плъгинът също декларира поддръжка за High-Performance Order Storage на WooCommerce.

Как една поръчка в WooCommerce се съпоставя с кликването върху рекламата?

Рекламната платформа може да припише покупка на реклама само когато може да свърже двете. ROASaurus прави това, като свързва поръчката с посетителя, който е кликнал върху рекламата, а този посетител носи click ID-тата (като fbclid и ttclid) и UTM параметрите от пристигането си. Опитва тези методи по ред и спира при първия, който проработи:

  1. ID на посетителя, записан към поръчката. Само с плъгина. Това е точна връзка.
  2. Покупката от браузъра на страницата за благодарност, която носи същия ID на поръчката. Само с плъгина.
  3. Хеширан имейл, който посетителят е дал по-рано във вашия сайт, например във форма в изскачащ прозорец на Klaviyo, Attentive или Wisepops, или чрез извикване на Identify.
  4. Същият IP адрес и браузър, видени от 3 часа преди до 15 минути след поръчката, но само когато подхожда точно един посетител. В споделени мрежи, като офиси и мобилни оператори, няколко посетители често споделят един IP адрес и тогава ROASaurus не гадае.

ROASaurus изчаква за кратко, преди да изпрати всяка покупка, така че събитието от страницата за благодарност да може да пристигне първо. Ако поръчката все още не е съпоставена, опитва отново при изпращането. Страницата Orders показва резултата за всяка поръчка в колоната Matched by. Поръчките, свързани чрез ID на посетителя от плъгина, показват cart — същия етикет, който получават и поръчките от Shopify.

Изпратено към Meta за поръчка 1042Съпоставена (плъгин)Не е съпоставена (само webhook-ове)
ID на събитието order-1042ДаДа
Хеширани имейл, телефон, име и адресДаДа
IP адрес и браузър на поръчкатаДаДа
Click ID и ID на браузъра на Meta (fbc, fbp)ДаНе
Хеширан ID на посетителя (external_id)ДаНе
Кликването върху рекламата в атрибуцията на ROASaurusКампания и реклама на кликванетоПоказва се като директна или неизвестна
Несъпоставена поръчка пак стига до Meta с данните от поръчката. Съпоставената поръчка добавя идентификаторите на кликването, които Meta използва, за да припише заслугата на рекламата.

Тези идентификатори на кликването повишават степента на съпоставяне на събитието при Meta. Event Match Quality обяснява как Meta ги оценява.

Всеки магазин в ROASaurus има настройката Respect visitor consent, която е включена по подразбиране. В WooCommerce скриптът на ROASaurus чете избора на посетителя от WP Consent API, който се попълва от плъгини за съгласие като Complianz и CookieYes. Чете също Cookiebot, OneTrust, банери на IAB TCF и Google consent mode. Докато посетителят не приеме маркетинговите бисквитки, скриптът не задава ID на посетител и не зарежда пиксели в браузъра.

Когато посетителят откаже, скриптът не задава ID на посетител, не пази click ID и не задейства пиксели в браузъра, а плъгинът не записва бисквитки за проследяване към поръчката. Платената поръчка все пак се изпраща от сървъра към свързаните ви рекламни платформи с хеширани данни за клиента от поръчката и с IP адреса и браузъра на поръчката. Ако вашият правен съвет гласи, че и събитията за покупка се нуждаят от предварително съгласие, свържете се с ROASaurus, преди да включите покупките от страна на сървъра. Помощната страница за съгласието съдържа подробностите, а статията за Consent Mode v2 и GDPR разглежда правния контекст.

Как да настроите проследяване от страна на сървъра в WooCommerce

Ето стъпките за варианта с плъгин:

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

    В ROASaurus отидете на Add a store, изберете WooCommerce и въведете домейна, който посещават клиентите ви.

  2. Създайте API ключ

    Отворете Store settings и под Orders API кликнете върху Create API key. Копирайте ключа веднага: той се показва само веднъж, до ключа на вашия магазин. Endpoint-ът е адресът пред /api/v1/orders на тази страница.

  3. Инсталирайте плъгина

    Изтеглете плъгина и качете zip файла в WordPress от Plugins › Add New Plugin › Upload Plugin. След това го активирайте.

  4. Въведете ключовете

    Под WooCommerce › ROASaurus въведете endpoint-а, ключа на магазина и API ключа и запазете.

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

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

  6. Настройте съгласието и тествайте

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

Без плъгина добавете тага на скрипта от Tracking & platforms на всяка страница, след това създайте webhook. Разделът Connection на вашия магазин показва URL адреса на вашия webhook. Пазете го в тайна: всеки, който има URL адреса, може да изпраща поръчки към вашия магазин.

Настройки на webhook
WooCommerce › Settings › Advanced › Webhooks › Add webhook

Status        Active
Topic         Order updated
Delivery URL  (your webhook URL from the Connection tab)
Secret        (a secret of your choice; paste the same one in ROASaurus)
API version   WP REST API Integration v3

За резервния вариант създайте ключ в WooCommerce › Settings › Advanced › REST API с достъп за четене. Поставете consumer key и secret в раздела Connection, запазете и натиснете Test connection. Fetch orders now изтегля незабавно последните платени поръчки. Страницата за интеграция с WooCommerce изброява всички опции на едно място.

Как да тествате проследяването от страна на сървъра в WooCommerce?

Първо тествайте страната на браузъра, след това направете поръчка и я проследете до рекламните платформи.

  • Отворете магазина си с ?roasaurus=connected в адреса. Известие потвърждава, че скриптът работи. С ?roasaurus=debug скриптът записва в конзолата на браузъра какво изпраща.
  • В Event log, под Collected events, прегледите на страници трябва да показват ID на посетител.
  • Направете тестова поръчка. Плащането при доставка е най-бързо, защото поръчката е със статус processing веднага.
  • В раздела Connection Last order received показва часа на последната поръчка.
  • В Event log, под Server deliveries, всяка свързана платформа получава ред със статус sent и отговора на платформата.
PageView visitor 3f9c2a1eСкриптът е зареден със съгласие
Purchase order-1042Страница за благодарност, пикселите в браузъра са се задействали
order 1042 processingПолучено от плъгина
Meta Purchase sentЕдно и също ID на събитието, дедупликация
TikTok CompletePayment sentЕдно и също ID на събитието, дедупликация
Пример за изправна тестова поръчка с плъгина. Само с webhook-ове редът за страницата за благодарност липсва и това е очаквано.

За да видите събитието в Meta, поставете кода от Events Manager › Test events в полето Test event code на вашия пиксел на Meta в ROASaurus. Премахнете го, когато приключите, защото кодът е предназначен само за тестване. Ако плъгинът не може да достави поръчка, той добавя бележка към поръчката в WooCommerce, която започва с „ROASaurus: order not sent“, следвана от грешката.

Грешки, които да избягвате

  • Използване на темата Order created. Поръчките, платени чрез пренасочване, се създават със статус pending payment. ROASaurus игнорира неплатените поръчки и когато плащането пристигне, не следва второ съобщение „created“. Използвайте Order updated.
  • Тайният ключ не съвпада. ROASaurus отхвърля доставка, чийто подпис не съвпада с тайния ключ, който има. След повече от пет неуспеха поред WooCommerce деактивира webhook-а. Поправете тайния ключ, върнете webhook-а в статус Active и добавете REST API ключа, за да бъдат изтеглени поръчките от периода на прекъсването.
  • Два инструмента изпращат един и същ пиксел. Ако друг плъгин също изпраща вашия пиксел на Meta или TikTok, той използва свои собствени ID-та на събития и платформата отчита всяка продажба два пъти. Изключете го за този пиксел. Вижте избягването на двойното отчитане и дублиращите се събития за покупка.
  • Очакване на събития за добавяне в количката. В WooCommerce скриптът сам проследява прегледите на страници. Прегледите на продукти и добавянията в количката се засичат автоматично само в Shopify. Разработчик може да ги изпрати с извикване на проследяване tlq.
  • Очакване на конверсии за Google Ads. ROASaurus изпраща конверсии за покупки в Google Ads само от страницата за плащане на Shopify. От WooCommerce изпраща покупки към Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn и другите рекламни платформи, които свържете.
  • Късни банкови преводи. Meta приема събития от сървъра до 7 дни след времето на събитието. Плъгинът изпраща поръчката с датата, на която е създадена, затова Meta отхвърля превод, потвърден повече от 7 дни след завършването на поръчката. Поръчките, които пристигат чрез webhook или REST API, използват вместо това датата на плащане. Обърнете внимание и че страницата за благодарност задейства покупката от браузъра при завършване на поръчката, преди преводът да е платен. Ако плащането се потвърди повече от 48 часа по-късно, Meta и TikTok не могат да обединят копията от браузъра и от сървъра, а превод, който никога не бъде платен, запазва покупката си от браузъра.

Щом поръчките започнат да постъпват, отчетите за атрибуция показват от кои кампании и реклами идват.

Източници

  1. WooCommerce: Webhooks Documentation
  2. WooCommerce REST API Documentation - WP REST API v3
  3. WooCommerce: Order Statuses Documentation
  4. WooCommerce: Cash on Delivery Documentation
  5. Meta for Developers: Server Event Parameters

В ROASaurus

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

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

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

Нужен ли ми е плъгинът на ROASaurus за WooCommerce?

Не. Достатъчен е един webhook на WooCommerce, за да се изпращат всички платени поръчки. Плъгинът добавя към всяка поръчка ID на посетителя и бисквитките от кликването, както и дедупликирана покупка от браузъра на страницата за благодарност, което свързва поръчките с кликванията върху реклами точно, затова се препоръчва.

Коя тема на webhook в WooCommerce да използвам?

Order updated, с версия на API WP REST API Integration v3. ROASaurus игнорира поръчките, които не са processing или completed, и съхранява всяка поръчка само веднъж, така че повторните актуализации не създават допълнителни покупки.

Изпращат ли се поръчките с плащане при доставка към Meta и TikTok?

Да. WooCommerce дава на поръчките с плащане при доставка статус processing, когато бъдат направени, а ROASaurus брои поръчките със статус processing за платени. Поръчките с банков превод се изпращат, когато ги преместите от on hold в processing.

Какво се изпраща, когато посетител откаже бисквитките?

Платената поръчка все пак се изпраща от сървъра с хеширани данни за клиента и с IP адреса и браузъра от поръчката. Скриптът не бива да се изпълнява без съгласие, затова няма ID на посетител или click ID, с които поръчката да се свърже с кликване върху реклама.

Защо моят webhook в WooCommerce спря да работи?

WooCommerce деактивира webhook след повече от пет неуспешни доставки поред. Проверете дали тайният ключ в WooCommerce съвпада с този в ROASaurus, върнете webhook-а в статус Active и добавете REST API ключ, за да се изтеглят пропуснатите поръчки на всеки 5 минути.

Изпраща ли ROASaurus конверсии за Google Ads от WooCommerce?

Не за покупките. Конверсиите за покупки в Google Ads се изпращат само от страницата за плащане на Shopify. От WooCommerce ROASaurus изпраща покупки към Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Ads, Taboola, LinkedIn и другите рекламни платформи, които свържете.

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

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

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