- В Shopify проследяването от страна на сървъра изпраща всяка покупка от платената поръчка, за която Shopify съобщава чрез webhook, така че не зависи от зареждането на страницата за благодарност.
- ID на посетителя и click ID-тата от рекламите се записват като атрибути на количката, така че Shopify ги копира към поръчката и поръчката може да бъде съпоставена с кликването.
- Събитията от браузъра и от сървъра споделят един ID на събитието, изграден от ID на поръчката, така че Meta, TikTok, Snapchat, Pinterest и Reddit отчитат всяка покупка веднъж.
- При включена опция Respect visitor consent посетител, който откаже маркетинговите бисквитки, не получава ID на посетител и събитията му от браузъра не се изпращат към рекламните платформи, но платената поръчка все пак се изпраща с хеширани данни за клиента от поръчката.
- Настройката в ROASaurus има четири основни стъпки: инсталирайте приложението, включете theme app embed, добавете пиксела за страницата за плащане и свържете рекламните си платформи.
Проследяването от страна на сървъра в Shopify означава, че всяка покупка стига до Meta, TikTok и други рекламни платформи от данните за поръчките на вашия магазин, изпратена от сървър, а не само от пиксел в браузъра на купувача. Shopify съобщава всяка платена поръчка на приложението за проследяване чрез webhook, а приложението я изпраща към conversions API на всяка платформа, съпоставена с кликването върху рекламата, довело купувача.
Това ръководство обхваща частите от този процес в Shopify: theme app embed и app proxy, пикселите на страницата за плащане, webhook-а orders/paid, съпоставянето на поръчките, дедупликацията, съгласието и настройката в ROASaurus. За общата идея първо прочетете какво е проследяването от страна на сървъра.
Как работи проследяването от страна на сървъра в Shopify
Кликването и покупката се случват в различни моменти и на различни места. Кликването се вижда само в браузъра, на целевата страница. Платената поръчка е сигурна само от страна на Shopify, когато плащането бъде получено. Проследяването от страна на сървъра записва първото, изчаква второто и ги свързва.
Частите в Shopify: app embed, app proxy, пиксели и webhook-ове
Един магазин в Shopify дава на приложението за проследяване четири места, където да работи. Всяко има различна задача, а пълната настройка използва и четирите.
| Част | Къде се изпълнява | Какво прави |
|---|---|---|
| Theme app embed | Всяка страница на витрината | Зарежда скрипта за проследяване, чете click ID-тата от рекламите и записва ID на посетителя в количката |
| App proxy | Път в собствения домейн на магазина ви | Получава събития от витрината като first-party заявки |
| Customer events (пиксели) | Страница за плащане и страница за благодарност | Съобщава за стъпките на плащането и за завършеното плащане от sandbox |
| Webhook-ове за поръчки | Сървърите на Shopify | Изпращат поръчката към приложението, когато е създадена и когато е платена |
Theme app embed и app proxy
Theme app embed е блок, който приложение добавя към вашата тема. Включвате го в редактора на темата, така че няма код за поставяне. Embed-ът на ROASaurus зарежда скрипт на всяка страница. На целевата страница той чете click ID-та като fbclid, ttclid и gclid и UTM параметрите и ги записва заедно с first-party ID на посетител.
Скриптът изпраща събитията си през app proxy на Shopify. App proxy препраща заявки от път във вашия собствен домейн, например yourstore.com/apps/roasaurus, към сървъра на приложението. За браузъра това е заявка към вашия собствен сайт, което може да помогне срещу блокерите на реклами, които блокират известни домейни за проследяване. Shopify премахва заглавката Cookie от заявките през app proxy и заглавката Set-Cookie от отговорите, затова ID на посетителя пътува в самото събитие, а не в бисквитка.
Customer events и пиксели на страницата за плащане
На страницата за плащане на Shopify скриптовете за проследяване работят като пиксели в sandbox, а не в самата страница. Управлявате ги в Settings › Customer events. Има два вида. App pixels идват с приложение и работят в строг sandbox. Custom pixels се добавят от търговеца и работят в по-малко строг sandbox, който може да зарежда скриптове на трети страни, като пиксела на Meta.
ROASaurus използва и двата. Неговият app pixel се включва, когато инсталирате приложението. Той съобщава на ROASaurus за началото на плащането, стъпката с данните за контакт и завършеното плащане. Незадължителният custom pixel добавя пикселите в браузъра на Meta, TikTok, Snapchat, Pinterest и Reddit към страницата за плащане и изпраща конверсиите за Google Ads.
Webhook-ове за поръчки
Webhook е съобщение, което Shopify изпраща към приложение, когато нещо се случи в магазина. ROASaurus се абонира за orders/paid и orders/create, наред с други. Поръчката в webhook-а съдържа ID на поръчката, стойността, редовете на поръчката, данните за клиента, токените на количката и на плащането, атрибутите на количката, както и IP адреса и браузъра, от които е направена поръчката. Идва от сървърите на Shopify, затова блокер на реклами или затворен раздел не могат да я спрат.
Как поръчките се съпоставят с кликванията върху реклами
Webhook-ът казва на ROASaurus, че една поръчка е платена. За да изпрати полезна конверсия, ROASaurus трябва да знае и кой посетител е направил поръчката, защото записът на посетителя съдържа click ID-тата. Опитва тези връзки по ред, от най-директната до най-малко директната:
| Метод | Как работи | Кога се използва |
|---|---|---|
| Атрибут на количката | Скриптът записва ID на посетителя и стойностите fbc, fbp, ttp, gclid и ttclid като атрибути на количката. Shopify ги копира към поръчката. | Първи избор |
| Токени на количката и на плащането | Скриптът свързва токена на количката с посетителя, а пикселът на страницата за плащане свързва токена на плащането. Webhook-ът носи и двата токена. | Когато атрибутът на количката липсва |
| Събитие от страницата за плащане | Пикселът на страницата за плащане съобщава за завършеното плащане с ID на поръчката и ID на посетителя. | Когато няма съвпадащ токен |
| Имейл адрес | Хешираният имейл на посетител, който го е въвел по-рано, например на стъпката с данни за контакт при плащането. | Когато няма събитие от страницата за плащане |
| IP адрес и браузър | Посетител, видян със същия IP адрес и браузър малко преди поръчката. | Само когато подхожда точно един посетител |
Атрибутите на количката са причината съпоставянето в Shopify да е директно. Те са двойки ключ-стойност, съхранявани в количката, а Shopify ги копира към поръчката. Стойност, записана на страницата на продукта, все още е там, когато webhook-ът пристигне, дори ако купувачът е затворил страницата за благодарност по-рано.
Едно изключение: бутоните за ускорено плащане, като Buy it now, пропускат количката. ROASaurus съветва да ги изключите, така че Add to cart винаги да се проследява. Поръчките, направени чрез тях, пак могат да се съпоставят чрез токена на плащането.
Една поръчка от начало до край
Ето какво се случва при една поръчка от реклама в Meta, при инсталиран custom pixel:
page_view ?fbclid=IwAR2x…Купувач пристига от реклама в Meta. Click ID се записва заедно с посетител 3f2a.cart _tl=3f2a _tl_fbc=fb.1.…ID на посетителя и стойността на кликването от Meta се записват като атрибути на количката.checkout_started ic-c1a9…Токенът на плащането се свързва със същия посетител.checkout_completed order-6123456789012Пикселът на страницата за плащане съобщава за поръчката, а пикселът на Meta изпраща Purchase с този ID на събитието.orders/paid #1042 id 6123456789012 $86.00Shopify изпраща платената поръчка чрез webhook.Meta CAPI Purchase order-6123456789012След кратко изчакване събитието от сървъра се изпраща с click ID-тата, IP адреса и user agent.Кога се изпраща покупката: orders/paid или orders/create
Кой webhook задейства покупката, зависи от начина, по който плащат клиентите ви. Избирате го като тип на страницата за плащане в Store settings.
| Тип на страницата за плащане | Webhook | Кога се изпраща покупката |
|---|---|---|
| Shopify checkout | orders/paid | Когато поръчката е платена. Поръчките, които никога не се плащат, не се изпращат. |
| External / COD checkout | orders/create | Когато поръчката е създадена. За плащане при доставка и за страници за плащане като Checkify и CheckoutChamp, които създават поръчки в Shopify. |
ROASaurus задържа всяка покупка за кратко, след като webhook-ът пристигне. През това време обикновено пристига и събитието за завършено плащане от браузъра. След това неговите URL адрес на страницата, IP адрес и user agent се добавят към събитието от сървъра, заедно с click ID-тата от записа на посетителя. Поръчките, които Shopify маркира като тестови, се записват, но не се изпращат към рекламните платформи.
Как работи дедупликацията с пикселите в браузъра
Когато пикселите в браузъра работят заедно със събитията от сървъра, платформата получава всяка покупка два пъти и трябва да запази само една. Това става чрез ID на събитието. ROASaurus дава на двете копия на покупката един и същ ID, изграден от ID на поръчката в Shopify: order-6123456789012 за поръчката с ID 6123456789012. Това е дългото число в административния URL адрес на поръчката, а не името на поръчката, като #1042. Пикселът на страницата за плащане го използва за Purchase от браузъра, а сървърът — за събитието на conversions API. Meta например запазва едно копие, когато името на събитието и ID на събитието съвпадат и двете пристигнат в рамките на 48 часа.
| Платформа | Пиксел в браузъра от ROASaurus | Дедупликира се със събитието от сървъра |
|---|---|---|
| Meta, TikTok, Snapchat, Pinterest, Reddit | Витрина и страница за плащане | Да |
| X, Microsoft Advertising, Taboola | Няма, само събития от сървъра | Няма какво да се обединява |
| Google Ads | Само страницата за плащане, чрез custom pixel | Изпраща се веднъж, от страницата за плащане |
ID на събитието работи само между събития, които го носят. Ако друго приложение изпраща същия пиксел, неговите събития имат свои собствени ID-та и платформата отчита поръчката отново. В Shopify обичайните причини са каналът Facebook & Instagram, свързан със същия пиксел, приложението на TikTok и код на пиксел, поставен в theme.liquid. Нашето ръководство за дублиращите се събития за покупка показва как да ги намерите, а Избягване на двойното отчитане изброява поправките.
Съгласие чрез Customer Privacy API на Shopify
Customer Privacy API на Shopify съхранява избора за бисквитки на всеки посетител. Вашият банер за бисквитки го попълва, независимо дали използвате собствения банер на Shopify, или приложение за съгласие, свързано с API. След това скриптовете и пикселите могат да го питат дали маркетингът е разрешен за този посетител.
При включена опция Respect visitor consent, която е по подразбиране в Store settings, скриптът на ROASaurus във витрината и пикселите на страницата за плащане питат API, преди да проследяват.
- Записват се ID на посетител, click ID-та и събития от разглеждане
- Пикселите в браузъра се зареждат и изпращат събития
- Платената поръчка се изпраща от страна на сървъра и се съпоставя с кликването върху рекламата
- Не се задава ID на посетител, затова посещенията и кликванията им върху реклами не се свързват с тях
- Събитията от браузъра се пазят без ID на посетител, IP адрес или данни за браузъра и не се изпращат към рекламните платформи
- Платената поръчка все пак се изпраща от страна на сървъра с хеширани данни за клиента от поръчката и с IP адреса и user agent на поръчката
- Събитието, което стига до рекламната платформа, не носи click ID
Имейлите, телефонните номера, имената и адресите се хешират със SHA-256, преди да бъдат изпратени към рекламна платформа. Още три подробности са важни:
- Вашият банер решава. ROASaurus следва това, което съобщава API. Ако API не е налично на страницата, ROASaurus приема посетителя за съгласен, затова проверете дали банерът ви е свързан с него.
- Целевата страница остава в поръчката. Shopify съхранява адреса на целевата страница с всяка поръчка и той може да съдържа тагове на кампании и click ID-та. ROASaurus го използва в собствените си отчети за атрибуция, включително за посетители, които са отказали, и не го изпраща към рекламните платформи.
- Изпращането на поръчката е правно решение. Дали платената поръчка на посетител, който е отказал, изобщо може да бъде изпратена, е правен въпрос за вашия магазин.
Нашето ръководство за Consent Mode v2 и GDPR обяснява правилата на високо ниво, а Съгласие и поверителност съдържа подробностите.
Как да настроите проследяване от страна на сървъра в Shopify с ROASaurus
Изпълнете стъпките за настройка в този ред:
- Инсталирайте приложението
Отидете на Add a store, изберете Shopify, въведете своя
.myshopify.comдомейн и кликнете върху Install app. Одобрете приложението в Shopify. ROASaurus регистрира webhook-овете за поръчки и включва своя app pixel. - Включете theme app embed
На страницата Tracking & platforms кликнете върху Open theme editor, включете app embed на ROASaurus и запазете.
- Добавете пиксела за страницата за плащане
В Shopify admin отидете на Settings › Customer events и добавете custom pixel с име ROASaurus. Задайте разрешението му на Not required, защото скриптът на ROASaurus сам проверява маркетинговия избор на посетителя. Поставете фрагмента от Tracking & platforms. Този пиксел ви е нужен за пикселите в браузъра на страницата за плащане и за Google Ads.
- Свържете рекламните си платформи
В Tracking & platforms кликнете върху Add pixel за всяка платформа или върху Connect with Facebook за Meta. Оставете включена опцията за зареждане и на пиксела в браузъра, ако искате събития от браузъра с дедупликация.
- Проверете настройките на магазина
В Store settings изберете типа на страницата си за плащане и оставете включена опцията Respect visitor consent, ако продавате там, където се изисква съгласие.
- Премахнете другите изпращачи
В канала Facebook & Instagram премахнете този пиксел от настройките за споделяне на данни. Намаляването на нивото на споделяне на данни не е достатъчно, защото всяко ниво, включително Standard, изпраща пиксела на Meta от браузъра. Ако приложението на TikTok изпраща същия пиксел, спрете го и там и премахнете кода на пиксела от темата си.
Фрагментът на custom pixel изглежда така. Копирайте го от Tracking & platforms, където ключът на вашия магазин вече е попълнен. Ръководството за настройка в Shopify съдържа същите стъпки.
self.tl = this; document.head.appendChild(document.createElement('script')).src = 'https://app.roasaurus.com/c.js?k=YOUR_STORE_KEY';Как да проверите дали работи
Тествайте с една реална поръчка, преди да разчитате на числата:
- Отворете магазина си с
?roasaurus=connectedв края на URL адреса. Съобщение потвърждава, че скриптът работи. - За Meta поставете кода от Events Manager › Test events в полето Test event code на пиксела.
- Направете реална поръчка с ниска цена и след това възстановете сумата. Тестовите поръчки на Shopify не се изпращат.
- В Event log изпращането от сървъра за поръчката се показва като sent за всяка платформа, заедно с отговора на платформата.
- В тестовия изглед на платформата проверете дали Purchase от браузъра и Purchase от сървъра споделят ID на събитието
order-плюс ID на поръчката в Shopify. - След това премахнете тестовия код на събитието.
Какво проследяването от страна на сървъра в Shopify не оправя
- Отказано съгласие. Поръчките на посетители, които са отказали маркетинговите бисквитки, се изпращат, но без click ID, така че рекламните платформи ги съпоставят по-слабо.
- Ограниченията на Safari за бисквитките. Купувач, който се върне след повече от 7 дни, може да изглежда като нов посетител. First-party поддомейн за проследяване държи събирането във вашия домейн, но Safari пак може да ограничи тези бисквитки до 7 дни.
- Разлики в атрибуцията. Всяка рекламна платформа все още приписва продажбите със собствени прозорци и модели. За да сравнявате каналите по един и същ набор от правила, използвайте собствената си атрибуция.
- Други приложения на същия пиксел. ID-тата на събития обединяват само събития, които ги споделят.
Това, което поправя, е покупката, която се е случила, но никога не е стигнала до рекламната платформа, защото събитието от браузъра е било изгубено. За това какво ROASaurus изпраща към всяка платформа вижте проследяването от страна на сървъра и интеграцията с Shopify.
Източници
- Shopify: Customer Privacy API
- Shopify: Authenticate app proxies
- Shopify Help Center: Manage your custom pixels
- Shopify Help Center: Facebook data sharing
- Meta: Handling Duplicate Pixel and Conversions API Events
В ROASaurus
- Помощ: настройване на ROASaurus в Shopify
- Интеграция с Shopify
- Проследяване от страна на сървъра в ROASaurus
- Помощ: съгласие и поверителност