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

СимптомыMeta

Meta CAPI не дедуплицирует события: как убрать дубли

Meta считает покупки дважды? Сравните ID браузерного и серверного Purchase, найдите пересечения отправителей и проверьте один реальный заказ.

Опубликовано
Проверено

Диагностика

  1. Платформа Meta
  2. Обычная причина У событий браузера и сервера не совпадают event_name и event_id.
  3. Причины по вероятности 5
  4. Как найти причину 7

Отвечу в течение одного рабочего дня. Первый ответ бесплатный. Опишите ваш случай

Знакомо?

Симптом

Описание симптома Meta

После подключения серверного трекинга Meta Pixel, похоже, считает конверсии дважды, или покупки удвоились в Ads Manager. Начинаю с доставки событий одного реального заказа. Разрыв в отчётах даёт повод для проверки, но не диагноз.

Две копии события с общим ключом проходят дедупликацию
Отметьте, что видите

Коротко

Короткий ответ

Для дедупликации Meta по event ID сравните браузерный eventID, серверный event_id и имя события. Они должны описывать одно действие и направляться в один пиксель. Meta указывает окно 48 часов с получения первого события с этим ID.

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

Где искать

Причины по вероятности

Pixel и CAPI считают дваждыПричин: 5

  1. У браузерного и серверного Purchase разные event_id

    Отправители создают разные значения или добавляют разные префиксы. Сравниваю отправленные строки, не названия переменных GTM.
  2. Одну покупку отправляют две интеграции

    Проверяю канал Shopify, приложения, собственные пиксели и теги темы/GTM. В инструкции Meta Pixel Shopify предупреждает о дублях при пересечении настроек агентства или приложения. После настройки интеграции Meta нужно удалить старый код пикселя из темы.
  3. ID меняется при перезагрузке или повторе

    Проверяю генерацию времени или нового случайного значения при каждой отправке. Исправление: один стабильный ID действия, передаваемый обоими путями.
  4. Разные имена событий или получатели

    Сравниваю браузерное событие с серверным event_name, включая регистр и написание, затем пиксель-получатель. Одинаковый ID в разных datasets не подтверждает правильную дедупликацию.
  5. Сервер доставляет поздно

    Сравниваю время получения с окном Meta. Если очередь доставляет за его пределами, нужно исправить доставку вместе с ID.

Поля и сроки описаны в документации Meta. Ниже мой порядок проверки.

Шагов: 7

Как найти причину

Выполняйте проверки в указанном порядке.

  1. Выберите dataset и откройте Test Events. Проверяйте один магазин, один dataset и один реальный тестовый заказ. Для прямой серверной интеграции инструкция Meta описывает передачу тестового ID сессии в test_event_code. Если приложение этого не поддерживает, зафиксируйте ограничение. Оно не доказывает отсутствие CAPI.
  2. Найдите доставки Browser и Server. Откройте записи покупки, сохраните источник подключения, имя и доступные ID и время. Пару записей заказа храните приватно. Инструкция Meta описывает проверку браузерной и серверной доставки. Скриншоты в ней старые; ориентируйтесь на подписи текущего аккаунта.
  3. Сравните значения. Сопоставьте eventID и event_id побайтово, затем посмотрите доступный результат дедупликации. Не требуйте, чтобы интерфейс объединил две доставки в одну строку.
  4. Отделите отсутствие от несовпадения. Только Browser: серверная доставка ещё не подтверждена. Только Server: нет подтверждения браузерной. Обе с разными ID: есть конкретное несовпадение. Если ID скрыт, отметьте это и проверьте поддерживаемую диагностику или выходные данные отправителя.
  5. При необходимости проверьте запрос пикселя. В инструментах разработчика найдите запрос события, не загрузку библиотеки. Документация Meta показывает eventID в вызове Pixel и eid в примере image-pixel. Сравните с серверным payload, если он доступен.
  6. Протестируйте исправление. Повторите покупку, перезагрузку и серверный повтор там, где интеграция это допускает. ID должен оставаться связан с исходным действием. Новая отдельная покупка получает другой ID.
  7. Отдельно проверьте дальнейшие отчёты. Запишите время изменения и сравните новые заказы с доступными событиями. Чистая тестовая пара подтверждает один путь, но не правильность всех старых покупок или рекламных отчётов.

Признак и исправление

Таблица решений

Все значения ниже синтетические.

Данные Browser / ServerЧто меняю или проверяю
order_EXAMPLE / EXAMPLEСогласую один формат и передаю одинаковую строку
Purchase_EXAMPLE / purchase_EXAMPLEУбираю разницу регистра в ID
checkout_EXAMPLE / order_EXAMPLEИспользую одну ссылку на действие в обоих путях
Новое случайное значение при каждой отправкеГенерирую один раз, сохраняю при повторах
Один ID, разные имена событийВыравниваю имя для одного действия
Два приложения с независимыми IDВыбираю ответственного за Purchase и убираю пересечение
Есть только Browser или только ServerСначала нахожу отсутствующую доставку
ID недоступныФиксирую ограничение и проверяю доступную диагностику отправителя

Исправлю одну конкретную проблему

Исправлю конфликт отправителей Purchase или передачу общего event ID в вашем магазине.

Проверю реальный тестовый заказ и покажу его браузерную и серверную доставку в Events Manager.

20 000 ₽ · 3 рабочих дня после доступа

Срочно, в течение 24 часов: +25%.

Если данные расходятся в нескольких системах или предыдущее исправление не помогло

Сверяю каждый заказ Shopify с данными GA4, Meta и Google Ads там, где доступны записи по отдельным заказам. Отдельно отмечаю атрибутированные и смоделированные итоги, которые нельзя сопоставить с конкретным заказом.

Подтверждаю причину по вашим данным, исправляю трекинг и добавляю ежедневную проверку, чтобы новый сбой не остался незамеченным.

от 100 000 ₽

образец отчёта (на английском)

Обсудим задачу бесплатно: Опишите проблему

Вопросы

Вопросы, которые вызывает этот симптом

Почему Meta Pixel считает конверсии дважды?

Сначала ищу независимых отправителей Purchase и сравниваю их ID. Метод Meta по event ID сопоставляет браузерный eventID с серверным event_id при одинаковом имени события и пикселе. Большой итог в Ads Manager сам по себе не доказывает дубль.

В Ads Manager вдвое больше покупок. Отключить CAPI?

Сначала прослеживаю один заказ: какие интеграции отправили браузерную и серверную копии, какие у них имена и ID. Затем выбираю отправителя. Если отключить рабочий путь раньше, можно потерять данные для проверки.

order_EXAMPLE и EXAMPLE пройдут дедупликацию?

Это разные строки. Для одной покупки согласуем общий формат на обоих путях. Проверяю, что при перезагрузках и повторах ID сохраняется. Здесь синтетические примеры, не номера заказов.

Две строки Test Events доказывают две учтённые покупки?

Нет. Проверяю источник, имя, ID и доступные сведения об обработке и дедупликации. Сначала нужно подтвердить, что обе доставки описывают одно действие.

Канал Meta в Shopify дедуплицирует отдельную установку GTM?

Не предполагаю, что независимые интеграции согласуют ID. Shopify предупреждает о дублях или неверных данных при добавлении Meta Pixel рядом с настройкой агентства или приложения. Проверяю отправителей и одну пару событий покупки.

Читайте дальше или проверьте соседний симптом.

Все симптомы

Для общего расхождения отчётов есть Meta показывает больше покупок, чем Shopify. Механизм описан в гайде по event_id и статье Event Match Quality.

Daniil Maximkin

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

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

Попробовали и всё ещё не работает?

Describe what's wrong

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

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

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

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