Проследяване

Проследяване от страна на сървъра в Shopify: как работи и настройка

Как работи проследяването от страна на сървъра в Shopify: customer events, app proxy, webhook-ът orders/paid, съпоставяне на поръчките, дедупликация, съгласие и настройка.

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

Основни изводи
  • В 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, когато плащането бъде получено. Проследяването от страна на сървъра записва първото, изчаква второто и ги свързва.

Клик върху рекламаURL адресът на целевата страница съдържа fbclid, ttclid или gclid.
Theme app embedЗаписва click ID заедно с ID на посетител и запазва и двете в количката.
Поръчка в ShopifyShopify копира атрибутите на количката към поръчката.
Webhook orders/paidShopify изпраща платената поръчка към ROASaurus.
Conversions APIПокупката се изпраща с click ID-та и хеширани данни за клиента.
Браузърът улавя кликването. Поръчката предоставя покупката. Атрибутите на количката свързват двете.

Частите в Shopify: app embed, app proxy, пиксели и webhook-ове

Един магазин в Shopify дава на приложението за проследяване четири места, където да работи. Всяко има различна задача, а пълната настройка използва и четирите.

ЧастКъде се изпълняваКакво прави
Theme app embedВсяка страница на витринатаЗарежда скрипта за проследяване, чете click ID-тата от рекламите и записва ID на посетителя в количката
App proxyПът в собствения домейн на магазина виПолучава събития от витрината като first-party заявки
Customer events (пиксели)Страница за плащане и страница за благодарностСъобщава за стъпките на плащането и за завършеното плащане от sandbox
Webhook-ове за поръчкиСървърите на ShopifyИзпращат поръчката към приложението, когато е създадена и когато е платена
Първите три части обработват случващото се в браузъра и улавят кликването. 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 адрес и браузър малко преди поръчката.Само когато подхожда точно един посетител
Атрибутите и токените на количката дават директна връзка между поръчката и посетителя. Резервният вариант с 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.
И двете събития Purchase носят ID на събитието order-6123456789012, така че Meta запазва едно. Копието от сървъра пристига и когато копието от браузъра е било блокирано.

Кога се изпраща покупката: orders/paid или orders/create

Кой webhook задейства покупката, зависи от начина, по който плащат клиентите ви. Избирате го като тип на страницата за плащане в Store settings.

Тип на страницата за плащанеWebhookКога се изпраща покупката
Shopify checkoutorders/paidКогато поръчката е платена. Поръчките, които никога не се плащат, не се изпращат.
External / COD checkoutorders/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Изпраща се веднъж, от страницата за плащане
Едновременното използване на пиксела в браузъра и събитието от сървъра е безопасно за Meta, TikTok, Snapchat, Pinterest и Reddit: всяка платформа запазва по едно копие от всяко общо събитие.

ID на събитието работи само между събития, които го носят. Ако друго приложение изпраща същия пиксел, неговите събития имат свои собствени ID-та и платформата отчита поръчката отново. В Shopify обичайните причини са каналът Facebook & Instagram, свързан със същия пиксел, приложението на TikTok и код на пиксел, поставен в theme.liquid. Нашето ръководство за дублиращите се събития за покупка показва как да ги намерите, а Избягване на двойното отчитане изброява поправките.

Customer Privacy API на Shopify съхранява избора за бисквитки на всеки посетител. Вашият банер за бисквитки го попълва, независимо дали използвате собствения банер на Shopify, или приложение за съгласие, свързано с API. След това скриптовете и пикселите могат да го питат дали маркетингът е разрешен за този посетител.

При включена опция Respect visitor consent, която е по подразбиране в Store settings, скриптът на ROASaurus във витрината и пикселите на страницата за плащане питат API, преди да проследяват.

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

Имейлите, телефонните номера, имената и адресите се хешират със SHA-256, преди да бъдат изпратени към рекламна платформа. Още три подробности са важни:

  • Вашият банер решава. ROASaurus следва това, което съобщава API. Ако API не е налично на страницата, ROASaurus приема посетителя за съгласен, затова проверете дали банерът ви е свързан с него.
  • Целевата страница остава в поръчката. Shopify съхранява адреса на целевата страница с всяка поръчка и той може да съдържа тагове на кампании и click ID-та. ROASaurus го използва в собствените си отчети за атрибуция, включително за посетители, които са отказали, и не го изпраща към рекламните платформи.
  • Изпращането на поръчката е правно решение. Дали платената поръчка на посетител, който е отказал, изобщо може да бъде изпратена, е правен въпрос за вашия магазин.

Нашето ръководство за Consent Mode v2 и GDPR обяснява правилата на високо ниво, а Съгласие и поверителност съдържа подробностите.

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

Изпълнете стъпките за настройка в този ред:

  1. Инсталирайте приложението

    Отидете на Add a store, изберете Shopify, въведете своя .myshopify.com домейн и кликнете върху Install app. Одобрете приложението в Shopify. ROASaurus регистрира webhook-овете за поръчки и включва своя app pixel.

  2. Включете theme app embed

    На страницата Tracking & platforms кликнете върху Open theme editor, включете app embed на ROASaurus и запазете.

  3. Добавете пиксела за страницата за плащане

    В Shopify admin отидете на Settings › Customer events и добавете custom pixel с име ROASaurus. Задайте разрешението му на Not required, защото скриптът на ROASaurus сам проверява маркетинговия избор на посетителя. Поставете фрагмента от Tracking & platforms. Този пиксел ви е нужен за пикселите в браузъра на страницата за плащане и за Google Ads.

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

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

  5. Проверете настройките на магазина

    В Store settings изберете типа на страницата си за плащане и оставете включена опцията Respect visitor consent, ако продавате там, където се изисква съгласие.

  6. Премахнете другите изпращачи

    В канала Facebook & Instagram премахнете този пиксел от настройките за споделяне на данни. Намаляването на нивото на споделяне на данни не е достатъчно, защото всяко ниво, включително Standard, изпраща пиксела на Meta от браузъра. Ако приложението на TikTok изпраща същия пиксел, спрете го и там и премахнете кода на пиксела от темата си.

Фрагментът на custom pixel изглежда така. Копирайте го от Tracking & platforms, където ключът на вашия магазин вече е попълнен. Ръководството за настройка в Shopify съдържа същите стъпки.

Custom pixel за страницата за плащане
self.tl = this; document.head.appendChild(document.createElement('script')).src = 'https://app.roasaurus.com/c.js?k=YOUR_STORE_KEY';

Как да проверите дали работи

Тествайте с една реална поръчка, преди да разчитате на числата:

  1. Отворете магазина си с ?roasaurus=connected в края на URL адреса. Съобщение потвърждава, че скриптът работи.
  2. За Meta поставете кода от Events Manager › Test events в полето Test event code на пиксела.
  3. Направете реална поръчка с ниска цена и след това възстановете сумата. Тестовите поръчки на Shopify не се изпращат.
  4. В Event log изпращането от сървъра за поръчката се показва като sent за всяка платформа, заедно с отговора на платформата.
  5. В тестовия изглед на платформата проверете дали Purchase от браузъра и Purchase от сървъра споделят ID на събитието order- плюс ID на поръчката в Shopify.
  6. След това премахнете тестовия код на събитието.

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

  • Отказано съгласие. Поръчките на посетители, които са отказали маркетинговите бисквитки, се изпращат, но без click ID, така че рекламните платформи ги съпоставят по-слабо.
  • Ограниченията на Safari за бисквитките. Купувач, който се върне след повече от 7 дни, може да изглежда като нов посетител. First-party поддомейн за проследяване държи събирането във вашия домейн, но Safari пак може да ограничи тези бисквитки до 7 дни.
  • Разлики в атрибуцията. Всяка рекламна платформа все още приписва продажбите със собствени прозорци и модели. За да сравнявате каналите по един и същ набор от правила, използвайте собствената си атрибуция.
  • Други приложения на същия пиксел. ID-тата на събития обединяват само събития, които ги споделят.

Това, което поправя, е покупката, която се е случила, но никога не е стигнала до рекламната платформа, защото събитието от браузъра е било изгубено. За това какво ROASaurus изпраща към всяка платформа вижте проследяването от страна на сървъра и интеграцията с Shopify.

Източници

  1. Shopify: Customer Privacy API
  2. Shopify: Authenticate app proxies
  3. Shopify Help Center: Manage your custom pixels
  4. Shopify Help Center: Facebook data sharing
  5. Meta: Handling Duplicate Pixel and Conversions API Events

В ROASaurus

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

ПроследяванеБлокери на реклами и проследяване: какво губи вашият магазинБлокерите на реклами спират пикселите за проследяване, затова рекламните платформи пропускат покупки. Вижте кои събития се губят, защо събитията от страна на сървъра не се губят и как да измерите своята разлика.ПроследяванеConsent Mode v2 и GDPR: какво може да изпраща един онлайн магазинConsent Mode v2 за онлайн магазини: четирите сигнала за съгласие на Google, какво изисква законодателството на ЕС и какво проследяването от страна на сървъра все още може да изпраща. Само обща информация.ПроследяванеДублирани събития за покупка: защо продажбите се отчитат два пътиДублираните събития за покупка завишават конверсиите и ROAS. Вижте причините, как Meta, TikTok, Snapchat, Pinterest и Reddit правят дедупликация и как да го поправите.
ЧЗВ

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

Нужен ли ми е още пикселът в браузъра при проследяване от страна на сървъра в Shopify?

Най-добре е да ползвате и двете. Пикселът в браузъра добавя бисквитки като fbp и контекст на страницата, а събитието от сървъра пристига, когато браузърът се провали. С един и същ ID на събитието и при двете платформата брои всяка покупка веднъж.

Зависи ли проследяването от страна на сървъра от страницата за благодарност на Shopify?

Не. Покупката се изгражда от поръчката, която Shopify изпраща чрез webhook, когато е платена. Събитието от страницата за благодарност само добавя подробности като IP адреса и user agent, когато пристигне навреме.

Нужен ли ми е CNAME или промяна в DNS в Shopify?

Не. Събитията от витрината минават през app proxy на Shopify във вашия собствен домейн на магазина. First-party поддомейн за проследяване е по избор.

Съответства ли проследяването от страна на сървъра в Shopify на GDPR?

Проследяването от страна на сървъра е начин за доставяне на данни, а не правно основание. При включена опция Respect visitor consent ROASaurus следва Customer Privacy API на Shopify, но платената поръчка все пак се изпраща с хеширани данни. Попитайте своя правен консултант от какво има нужда вашият магазин.

Как се проследяват поръчките с плащане при доставка в Shopify?

Изберете External / COD checkout като тип на страницата за плащане в Store settings. Тогава ROASaurus изпраща покупката, когато поръчката е създадена, а не когато е платена.

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

Meta, TikTok, Snapchat, Pinterest, Reddit, X, Microsoft Advertising, Taboola, LinkedIn, OpenAI Ads, Spotify, AppLovin, Criteo, AdRoll и Outbrain. Конверсиите за Google Ads се изпращат от страницата за плащане на Shopify чрез custom pixel.

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

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

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