Перейти к содержимому

Ремонт автомобилейРабота для клиента

За 16 дней до дедлайна Shopify: перенастройка аналитики headless-магазина

Я восстановил связь продаж с источниками трафика у headless-магазина на Shopify в США, убрал дубли покупок и настроил вычет возвратов из выручки.

Задача

Контекст

Магазин автозапчастей в США работает на Shopify с отдельной витриной: приложение Next.js на собственном домене, чекаут на домене Shopify. Магазин рекламируется в Google. Ему нужны были достоверные данные о результатах рекламы.

В июле 2026 меня пригласили перестроить трекинг до отключения старого механизма Shopify для чекаута. Новая отправка покупок заработала 10 августа, за шестнадцать дней до срока 26 августа. Изменения витрины вошли в основную ветку и опубликованы 18 августа.

Данные клиента обезличены. Показатели получены через API рабочих платформ в августе 2026.

Знакомо?

Симптомы

Ситуация Ремонт автомобилей
В отчётах не было видимых ошибок, но данных почти не было. Заказы поступали, оплачивались и отгружались. При этом определить результат рекламы по отчётам было нельзя.

Расследование

Диагностика

Я получил конфигурацию веб- и серверного контейнеров Tag Manager через API и сверил её с рабочей версией. Затем проверил выводы по сетевым запросам рабочего чекаута и витрины.

Основных причин было две.

  1. Серверное правило отбрасывало события покупок

    Контейнер клиента удалял каждую покупку с данными сессии и источника до отправки в аналитику. Проходили покупки из приложения Google в Shopify, отправленные без сессии. Поэтому в отчётах почти не было источников.

  2. Витрина и чекаут записывали одного посетителя как двух разных

    В чекауте использовался внутренний токен Shopify вместо client id Google. Из-за этого события чекаута не связывались с посетителем витрины, а покупка теряла источник. Для headless-магазина перенос идентификатора между витриной и чекаутом необходим.

Ещё я обнаружил правило, которое без ошибки удаляло заказы выше заданной суммы, двойную загрузку HubSpot на каждой странице, четырнадцать неработающих тегов Universal Analytics и токен Meta от стороннего приложения, который ни одна из сторон не могла перевыпустить.

После сдачи я перепроверил один из положительных выводов и обнаружил автоматизированный трафик: около 100 120 сессий из одной страны за двенадцать месяцев, примерно шестая часть всех сессий ресурса. Каждая длилась около шести секунд и включала одну страницу. Продаж и лидов не было. Трафик шёл с августа 2025. Я сообщил об этом клиенту без дополнительной оплаты.

Передача

Что я сделал

Акт передачиСдано авг. 2026

  1. Перенос идентификаторов. Client id Google и идентификатор рекламного клика сохраняются в заказе Shopify через атрибуты корзины. Собственный пиксель чекаута отправляет события с данными сессии. Покупку можно связать с приведшей её рекламой.
  2. Один отправитель на каждую платформу. Старые теги покупок на страницах для Google Ads, Analytics, Meta и Bing отключены, а дубль от приложения Shopify выключен, так что две системы больше не могут отправить одну и ту же продажу.
  3. Серверную отправку в рабочих областях с названиями и версиями: GA4 с серверным first-party куки, Meta CAPI и Bing. Для каждой платформы сохранены подтверждения до и после изменений.
  4. Возвраты. Система не полагается на вебхук: по расписанию забирает успешные возвраты из Shopify и отправляет их в аналитику. Каждый возврат проверяется через сервис валидации Google и записывается, чтобы его нельзя было отправить дважды.
  5. Измерение лидов. Клики по телефону, показ номера, клики по email и отправки контактной формы стали key events в GA4. Они считаются один раз за сессию, а не за каждый клик, так что клиент, трижды нажавший на номер телефона, даёт один лид, а не три.
  6. Настройки приватности для США. Модель opt-out, а не opt-in, под законы штатов США: без стены из куки, с доступной ссылкой «Your Privacy Choices» и сигналом Global Privacy Control, который учитывается до загрузки любого тега. Разработчику клиента передан готовый пакет, который остаётся только вставить.
  7. Отчётность и наблюдение. Отчёт для клиента, дашборд состояния, база знаний и ежедневная проверка показателей с отметками об отклонениях.

До → после

Результаты

Работа для клиента Сделано для реальных клиентов. Данные клиентов обезличены.

Продажи, которые можно проследить до источника

авг. 2026

6% to 76%

До
6% (39 из 612 продаж за 29 дней)
После
76% (за сутки после стабилизации данных, 19 августа 2026)

Дубли покупок в отчётах

авг. 2026

+100% to 0%

До
+100%
После
0%

Продажи, засчитанные рекламе Google, в день

авг. 2026

0,1 to 10,5

До
0,1
После
10,5

Возвраты, вычтенные из выручки в отчётах

авг. 2026

До
ни одного в аналитике (за 90 дней магазин вернул деньги по 211 возвратам)
После
каждый возврат, с 15 августа 2026

Типы отслеживаемых событий

авг. 2026

6 to 13

До
6
После
13
Полная таблица результатов
Что изменилосьДоПослеПроверено
Продажи с известным источником6% (39 из 612)76%дни после стабилизации данных, август 2026
Продажи, невидимые для любого отчёта573 из 612 за 29 дней24% по-прежнему без источника (остаток до 76%)август 2026
Дубли покупок в отчётах+100%0%с 15 августа 2026
Продажи, засчитанные рекламе Google, в день0,110,5август 2026
Вычтенные возвратыни одного, никогдакаждый возвратс 15 августа 2026
Типы отслеживаемых событий613август 2026

Заметка Данииладо того, как вы решите

Что это значит для похожего бизнеса

Если витрина и чекаут находятся на разных доменах, нужно переносить идентификатор посетителя между ними. Иначе рекламные платформы оптимизируют расходы по случайно сохранившейся части продаж. Изменение отчёта не восстановит потерянную связь.

Для оптимизации рекламы нужны доля продаж с известным источником и учёт возвратов. В большинстве систем возвраты вообще не вычитают. Тогда ставки опираются в том числе на выручку, которую магазин уже вернул покупателям.

Результат исправления должен быть виден клиенту. Поэтому рабочий отчёт, мониторинг и понятная документация входят в сдачу работы.

Даниил

Ситуации, на которые отвечает этот кейс

Все ситуации
Читать другой кейс

2,9 конверсии на одно объявление: исправление учёта событий маркетплейса

Я настроил учёт событий британского маркетплейса: вместо примерно 2,9 конверсии Google Ads на одно объявление сервер записывает одно событие на действие. Результат сверен с учётом маркетплейса.

Daniil Maximkin

Здравствуйте, я Даниил.

Я сам разбираюсь в задаче, выполняю работу и передаю результат. Все вопросы вы обсуждаете напрямую со мной. Общаюсь на русском и английском. На испанском могу переписываться с помощью переводчика.

Есть похожая задача?

Опишите задачу

Отвечу в течение одного рабочего дня. Первый ответ бесплатный. Или напишите напрямую: next@taskfordaniel.com

Обсудить задачу

Расскажите, что нужно разработать, исправить или подключить.

Описать задачу next@taskfordaniel.com