Автор:
Vlad Kononov
У цій статті розглянемо, як досягти 100% точності відстеження Shopify за допомогою Stape і серверного GTM. Дізнайтеся, як запобігти втраті даних, покращити атрибуцію та оптимізувати маркетингові показники за допомогою надійного й ефективного рішення для відстеження. Точна аналітика Shopify має вирішальне значення для досягнення ваших бізнес-цілей.
Вам потрібні надійні дані, щоб вирішувати, як розподіляти бюджети, оцінювати ефективність кампаній і визначати повернення інвестицій. Знання того, які KPI eCommerce потрібно відстежувати, допомагає правильно інтерпретувати ці дані та ефективно діяти на їх основі. Втрата даних про конверсії може призвести до неповної картини та помилкових рішень. На щастя, Stape допоможе вам із цим. У цій статті ми пояснимо, як відстежувати 100% покупок на Shopify за будь-яких умов і передавати всі необхідні дані на платформи аналітики та/або маркетингу, щоб отримувати більше корисних даних, точні звіти про атрибуцію та ефективніше навчати пікселі.
Хоча Shopify випустив API вебпікселів, який дає змогу підписуватися на різні події та точніше їх відстежувати, ви могли помітити, що іноді все одно втрачається певний відсоток замовлень, які не передаються на рекламні або аналітичні платформи. Це може відбуватися з різних причин - через блокувальники реклами, обмеження ITP, повільне інтернет-з’єднання, збій на пристрої користувача або навіть просто невдалий збіг обставин. Будь-який із цих факторів може призвести до втрати даних про конверсії.
Але не хвилюйтеся, Stape допоможе вам! За допомогою серверного відстеження Shopify ви можете обійти ці поширені проблеми.
Функція Data Store доступна в тарифах Pro і вище. Якщо вам потрібне індивідуальне рішення, зверніться до нашого відділу продажу.
Відмовтеся від ручного налаштування подій
Stape Conversion Tracking для Shopify із Setup Wizard встановлює серверний GTM за лічені хвилини, автоматично створює основні події eCommerce і завантажує готові до використання теги для Google, Meta, TikTok та інших платформ. Події проходять через платформу серверного відстеження Stape, що допомагає отримати до 40% більше конверсій і покращити ROAS.
Коротко процес впровадження виглядає так:
Перш ніж почати виконувати наведені нижче інструкції, потрібно активувати Data Store:
1. Увійдіть у свій акаунт Stape і виберіть контейнер sGTM на панелі керування.

2. Натисніть вкладку Data Store.
3. Натисніть Activate Data Store.

Stape Conversion Tracking app у Shopify дає змогу легко встановити Custom GTM and GA4 Loader і зробити відстеження більш стійким до блокувальників реклами. Після того як ви встановите GTM на Shopify, цей базовий рівень забезпечує збір даних на стороні клієнта, необхідний для вашого серверного контейнера. У поєднанні з power-up Cookie Keeper він також дає змогу обходити обмеження ITP.
У нас є чудові статті та готові шаблони контейнерів, які описують, як виконати цей крок. Ознайомтеся з ними:
Налагодження відстеження Shopify за допомогою веб- і серверного GTM: повний посібник – після запуску базового налаштування не пропускайте перевірку. Оформлення замовлення в Shopify у тестовому середовищі означає, що теги можуть виглядати так, ніби вони працюють у режимі попереднього перегляду GTM, хоча в робочому середовищі насправді можуть не працювати, і це не завжди буде очевидно.
Тепер потрібно зберегти в Data Store файли cookie, які можуть знадобитися нам у майбутньому.
У нашому прикладі ми зберігатимемо файли cookie Meta під час події «checkout_started» і надсилатимемо їх із вебпікселя Shopify до sGTM. На цьому етапі токен оформлення замовлення буде нам доступний, і ми зможемо використовувати його як параметр зіставлення, щоб пізніше пов’язати вебхук з оформленням замовлення та файлами cookie.
Аналогічний процес можна застосувати до будь-якої іншої платформи, на яку ви хочете передавати дані.
Наведений нижче фрагмент коду надсилатиме дані запиту з токеном оформлення замовлення та файлами cookie Meta на URL серверного контейнера. Data Client оброблятиме цей запит; за замовчуванням він приймає запити на шляху /data.
analytics.subscribe("checkout_started", (event) => {
setTimeout(() => {
async function getCookiesPayload() {
try {
const payload = {
"event": "store_cookies",
"cart_token": init.data.cart.id,
"fbp": await browser.cookie.get('_fbp'),
"fbc": await browser.cookie.get('_fbc')
};
return payload;
} catch (error) {
console.error('Error retrieving cookies:', error);
return null;
}
}
async function sendCookiesToSgtm() {
const payload = await getCookiesPayload();
if (payload) {
fetch("https://sst.example.com/data", {
method: "POST",
headers: {
"Content-Type": "application/json"
},
body: JSON.stringify(payload),
keepalive: true
}).then(response => {
console.log('Payload sent successfully:', response);
}).catch(error => {
console.error('Error sending payload:', error);
});
}
}
sendCookiesToSgtm();
}, 1500);
});Тепер потрібно зберегти ці файли cookie у Stape Store за допомогою тега Stape Store Writer, доступного в галереї серверного GTM, щоб пізніше отримати їх і передати Meta через вебхук. Ці файли cookie будуть пов’язані з токеном кошика, доступним нам у події «store_cookies», який також буде доступний у даних нативного вебхука, надісланого Shopify.
Ось приклад того, як можна налаштувати тег Stape Store Writer:

Якщо це актуально, також враховуйте правила конфіденційності та статус згоди магазину на рекламу та/або аналітику, щоб пізніше визначити, чи надав цей користувач згоду та чи маєте ви право передавати таку конверсію. Крім того, якщо ваш банер згоди підтримує Shopify Privacy API, ви можете налаштувати вебпіксель так, щоб він спрацьовував лише за наявності необхідного статусу згоди.
Потрібно зберігати в Data Store кожну покупку, передану у «звичайний» спосіб із вебконтейнера, щоб пізніше перевірити, чи була ця конверсія вже передана до Meta.
Застосуйте підхід, подібний до того, що використовувався на попередньому кроці, але цього разу використовуйте transaction_id як ключ документа, який також буде доступний у даних вебхука Shopify.
Ось приклад тег Stape Store Writer, який можна налаштувати для цієї мети:

Краще перетворити тип змінної transaction_id «number» на рядок, щоб уникнути конфліктів між типами даних, які використовуються в sGTM, Shopify і Data Store. У галереї sGTM є змінна, яка легко дає змогу це зробити.
Ви можете налаштувати вебхук у Shopify різними способами. Один із найпростіших варіантів - використати Stape Conversion Tracking app: він містить усі необхідні дані запиту: токен кошика, правильно структуровану інформацію про замовлення та товари й дані користувача. Також можна використовувати нативну функціональність вебхуків або будь-який інший застосунок на ваш вибір.

Ми також радимо використовувати Stape Request Delay Power Up, щоб переконатися, що запит із вебконтейнера досягне серверного контейнера раніше, ніж вебхук із серверної частини. Це дасть змогу явно контролювати послідовність запитів, що є критично важливим у нашому випадку. Затримки в 1 хвилину має бути достатньо, щоб запит покупки досяг серверного контейнера, дозволяючи всім необхідним тегам спрацювати та обробити потрібні запити.
На цьому кроці ми вже маємо таке:
Тепер потрібно перевірити, чи слід обробляти вхідні вебхуки і передавати їх до Meta, чи ігнорувати, оскільки замовлення вже було оброблено.
Отже, беремо transaction_id із вхідного вебхука і перевіряємо, чи доступний він у Data Store за допомогою Stape Store Lookup variable.

У результаті наша змінна поверне ‘true’, якщо цей transaction_id знайдено в Data Store. Це означає, що цей вебхук слід ігнорувати, оскільки цю транзакцію вже було передано з вебконтейнера.
Якщо наша змінна повертає undefined або false, це означає, що з певної причини цю транзакцію не було передано з вебконтейнера, тому потрібно обробити цей вебхук.
Налаштуйте додатковий Facebook тег для Shopify CAPI і заповніть його основною інформацією з вебхука, як-от value, currency, content_ids, дані користувача тощо.
Для максимально точної атрибуції також потрібно передавати файли cookie _fbp і _fbc із Data Store. Їх можна отримати за допомогою Stape Store Lookup variable, пов’язаної з токеном кошика, доступним у вашому вебхуку. Ось приклад:

Stape Store Lookup variable для _fbp має замінювати параметр Browser ID у Facebook тегі, а Stape Store Lookup для _fbc має замінювати параметр Click ID.
Цей Facebook тег має запускатися, коли перевірка нашої Stape Store Lookup variable для transaction_id повертає значення, яке не дорівнює true.
Якщо це актуально, виконайте додаткову перевірку статусу згоди за аналогічним підходом.
Цей підхід дає змогу досягти 100% точності відстеження конверсій Shopify, тож ви ніколи не втратите конверсію, яку можна коректно атрибутувати. Його можна розширити для будь-якої потрібної вам маркетингової/аналітичної платформи; просто переконайтеся, що зберігаєте всі необхідні файли cookie на кроці 2. Потім на кроці 5 ви можете створити додатковий тег, наприклад для TikTok, Snapchat, GA4, Google Ads тощо. Вам потрібно лише перевизначити необхідні параметри значеннями файлів cookie, отриманими з Data Store.
Для складніших платформ, таких як Google Ads, Stape уже пропонує чудові рішення з простим процесом автентифікації, зокрема Google Ads Offline Conversion tracking тег і тег Conversion Adjustment, якщо вам потрібні такі специфічні можливості.
Якщо у вас виникли запитання, звертайтеся до нас.
Хочете почати із серверного відстеження?
Спробувати безкоштовно
Коментарі