Аудит трекінгу й атрибуції Shopify-магазину: прибрали дублі тегів і знайшли, куди зникають джерела замовлень
Знайшли, чому Google Ads, GA4 і Shopify показують різні цифри: контейнер GTM вантажився тричі на сторінку, події кошика йшли з технічною адресою, а 40,7% онлайн-замовлень не мали джерела. Підготували реліз виправлень з відкатом в один клік і план до критеріїв приймання.
Коротко: американський інтернет-магазин обладнання на Shopify витрачав рекламний бюджет у Google, Meta і Microsoft Ads, але цифри в кабінетах, GA4 і Shopify не сходилися. За три тижні (жовтень 2026) ми розібрали всі шари трекінгу, знайшли потрійне завантаження GTM, події з технічною адресою пісочниці, обмеження cookies у Safari і зв’язок між промокодами та замовленнями без джерела. Клієнт отримав звіт українською й англійською, готовий реліз GTM з покроковою інструкцією, стандарт UTM-міток і план до кожного критерію приймання.
Клієнт і задача
Клієнт — інтернет-магазин обладнання в США на Shopify (назву розкриємо після погодження). Трафік іде з Google Ads, Meta, Microsoft Ads, email-розсилок Klaviyo й органіки; майже половина замовлень оформлюється телефоном.
У технічному завданні були чіткі критерії приймання:
| № | Критерій | Ціль |
|---|---|---|
| 1 | Платні сесії в GA4 проти кліків у Google Ads | ±15% |
| 2 | Сесії Shopify без параметрів атрибуції | менше 20% |
| 3 | Онлайн-замовлення без даних про шлях клієнта | менше 15% |
| 4 | Сесії GA4 у названих каналах | понад 95% |
| 5 | Тестове замовлення з реального кліку | коректно в Ads, GA4 і Shopify |
Обмеження
- Доступ лише на читання. У живому магазині ми нічого не змінювали без погодження: усі виправлення спершу перевіряються в режимі попереднього перегляду GTM.
- Дані зникають. API Shopify віддає замовлення лише за останні 60 днів, а експорт GA4 у BigQuery почався тільки 18 вересня 2026.
- Кампанії не можна зупиняти. Будь-яка зміна тегів має бути безпечною для реклами і з миттєвим відкатом.
- Частина критеріїв залежить не від налаштувань. Прямі заходи й органіка ніколи не мають UTM, тож критерії 2 і 3 визначає ще й поведінка покупців.
Як ми проводили аудит
- Зберегли дані. Вивантажили 254 замовлення за базовий період (12 серпня – 10 вересня 2026) разом з даними про шлях клієнта, поки API ще їх віддавав.
- Розібрали архітектуру. Код трьох custom pixels Shopify, шість версій вебконтейнера GTM, налаштування серверного GTM на Stape, застосунки Google, Meta і Microsoft.
- Порівняли шість версій теми з липня по вересень: трекінг-код у них не змінювався, тож гіпотеза «зламали темою» відпала.
- Пройшли шлях покупця «клік → товар → кошик → checkout» з тестовими UTM і ідентифікаторами кліків і записали всі запити до GA4, Ads, Meta і Bing. Перевірили Chrome, Safari (WebKit) та імітацію вбудованих браузерів Instagram і Facebook. Для повторюваності написали скрипти автоматичних перевірок.
- Проаналізували замовлення без джерела за тижнями, способом оплати, мовою, часом доби і промокодами.
Що знайшли
| Знахідка | Доказ | Вплив |
|---|---|---|
| Контейнер GTM вантажиться тричі на сторінку: з теми і з двох custom pixels | Замір 22.10.2026 на головній, колекції й товарі: Google Ads Config, Conversion Linker і Microsoft Clarity — по 3 рази, GA4 page_view — 1 раз | Засмічені аудиторії ремаркетингу й записи Clarity |
| Події кошика і checkout ідуть з адресою пісочниці пікселя | page_location виду /web-pixels@…/sandbox/… в add_to_cart, begin_checkout і purchase | Неправильні звіти по сторінках і воронки |
| 40,7% онлайн-замовлень без даних про шлях клієнта | 57 з 140 за базовий період; частка зростала з 19% до 56% по тижнях | Критерій 3 не виконується |
| Серверні cookies у Safari живуть 7 днів | Піддомен серверного GTM має іншу IP-адресу, ніж магазин; у Chrome ті самі cookies живуть 400 і 90 днів | Покупець з Safari, що повернувся через тиждень, рахується новим, перший клік втрачається |
| Ідентифікатори кліків і UTM не губляться | gclid, fbclid, msclkid і UTM проходять усі редиректи й доживають до checkout; client_id і session_id GA4 стабільні | Проблема не в редиректах |
Окремо пояснили, чому цифри різняться в принципі: Google Ads рахує кліки (~14 900), GA4 — сесії (28 755), Shopify — власні сесії з іншою фільтрацією. Конверсії Purchase у Google Ads рахує застосунок Google & YouTube, а не GTM, тож Ads і GA4 бачать покупки через різні механізми.
Ключова кореляція: промокоди
Замовлення з промокодом приблизно вдвічі частіше не мали даних про шлях клієнта. З 26 серпня по 10 вересня — 49% (44 з 90) проти 24% (4 з 17) без коду. Зростання збіглося з акцією до Дня праці: покупці з кодами частіше приходили шляхом, який Shopify не фіксує як візит. Наступний крок — зіставити ці замовлення з покупками в GA4 через BigQuery за номером замовлення.
Рішення
Реліз GTM з відкатом в один клік
- Новий тригер ініціалізації, що виключає пісочниці пікселів, для Google Ads Config; Clarity і Conversion Linker — на тригер з тим самим винятком.
- Виняток пісочниць більше не прив’язаний до ID конкретних пікселів, тож не зламається, якщо піксель перестворять.
- Справжні page_location і page_referrer передаються з пікселів у всі події GA4.
- Імпорт у новий workspace: змінено 3 теги, 2 тригери, додано 4 змінні, змінено 1, нічого не видалено. Тест-план для перевірки в Preview.
- Покрокова інструкція публікації на ~15 хвилин і відкат до попередньої версії в один клік.
Стандарт UTM-міток
Окремий документ зі стандартом для Google Ads, Meta, Microsoft Ads, Klaviyo, органічних соцмереж, партнерів і QR-кодів. Він закриває знайдені розбіжності: дві різні мітки medium для тих самих кампаній Meta, зламані URL-кодуванням назви, незаповнені макроси, Klaviyo без назви кампанії, різний регістр джерел. Більшість змін — разові налаштування в рекламних кабінетах, без змін на сайті.
План до критеріїв приймання
Для кожного критерію — поточне значення, як його досягти, хто що робить і які доступи потрібні: серверний контейнер, Stape для налаштування same-origin під Safari, Microsoft Ads, звіт GA4 за базовий період. Другим етапом заплановано атрибуцію дзвінків через Aircall, щоб телефонні замовлення (44%) теж отримали джерело.
Складнощі і як ми їх вирішили
- Три шари трекінгу одночасно. GTM з серверною частиною, нативні застосунки Shopify і власна атрибуція Shopify. Ми описали, що за що відповідає, в одній таблиці, щоб команда клієнта перестала порівнювати непорівнюване.
- Дані, що зникають через 60 днів. Зберегли замовлення з першого дня — без цього базовий період уже неможливо було б порахувати.
- Чесність щодо критеріїв. Ми письмово зафіксували, які критерії залежать від налаштувань, а які — від поведінки трафіку, і запропонували узгодити точні формули до здачі.
- Безпечний реліз. Без нових пікселів зміни в GTM нічого не ламають, а повернення до попередньої версії займає хвилину.
Результат
- Причини розбіжностей задокументовані, реліз виправлень дублів і адреси сторінки готовий і переданий на публікацію 22 жовтня 2026 разом із тест-планом.
- Сесії Shopify без UTM: 60,4% у базовому періоді, 23,9% з 11 вересня по 8 жовтня. Зниження збіглося із UTM-міткою на рівні акаунту Google Ads, яку налаштувала рекламна команда; ми зафіксували це в звіті.
- Нові дані (замовлення до 21 жовтня) показують, що частка онлайн-замовлень без джерела в жовтні знизилася, але вибірка мала — 7–21 замовлення на тиждень — і причину ще треба підтвердити.
- Команда клієнта має документацію: що, де і навіщо налаштовано, і як перевіряти після кожної зміни.
Що можна застосувати у вашому бізнесі
- Перевірте, скільки разів вантажиться GTM. Custom pixels Shopify часто підключають той самий контейнер повторно.
- Збережіть сирі дані зараз. Багато API зберігають історію обмежений час.
- Порівнюйте однакові одиниці: кліки з платними сесіями тих самих кампаній, а не з усіма сесіями.
- Один стандарт UTM на всі канали з малими літерами й ID кампанії.
- Перевірте Safari окремо, якщо у вас серверний GTM на окремому піддомені.
Більше про те, як зв’язати рекламу, сайт і продажі, — у статті про наскрізну аналітику для малого бізнесу.
Пов’язані послуги і матеріали
- Наскрізна аналітика і технічний аудит
- Реклама й аналітика і робота з Shopify
- Проблеми: невідомо, звідки клієнти, реклама дедалі дорожча
- Ще один кейс на Shopify: власний checkout з CRM
Цифри в рекламі, GA4 і CRM не сходяться? Замовте аудит трекінгу — покажемо, яким даним можна вірити.
