СимптомыMeta
Meta CAPI не дедуплицирует события: как убрать дубли
Meta считает покупки дважды? Сравните ID браузерного и серверного Purchase, найдите пересечения отправителей и проверьте один реальный заказ.
- Опубликовано
- Проверено
Диагностика
- Платформа Meta
- Обычная причина У событий браузера и сервера не совпадают event_name и event_id.
- Причины по вероятности 5
- Как найти причину 7
Отвечу в течение одного рабочего дня. Первый ответ бесплатный. Опишите ваш случай
Знакомо?
Симптом
Коротко
Короткий ответ
Для дедупликации Meta по event ID сравните браузерный eventID, серверный event_id и имя события. Они должны описывать одно действие и направляться в один пиксель. Meta указывает окно 48 часов с получения первого события с этим ID.
Проверяю эти поля, прежде чем считать две доставки двумя покупками. Повторную доставку и атрибуцию кампаний разбираю отдельно.
Где искать
Причины по вероятности
Pixel и CAPI считают дваждыПричин: 5
-
У браузерного и серверного Purchase разные event_id
Отправители создают разные значения или добавляют разные префиксы. Сравниваю отправленные строки, не названия переменных GTM. -
Одну покупку отправляют две интеграции
Проверяю канал Shopify, приложения, собственные пиксели и теги темы/GTM. В инструкции Meta Pixel Shopify предупреждает о дублях при пересечении настроек агентства или приложения. После настройки интеграции Meta нужно удалить старый код пикселя из темы. -
ID меняется при перезагрузке или повторе
Проверяю генерацию времени или нового случайного значения при каждой отправке. Исправление: один стабильный ID действия, передаваемый обоими путями. -
Разные имена событий или получатели
Сравниваю браузерное событие с сервернымevent_name, включая регистр и написание, затем пиксель-получатель. Одинаковый ID в разных datasets не подтверждает правильную дедупликацию. -
Сервер доставляет поздно
Сравниваю время получения с окном Meta. Если очередь доставляет за его пределами, нужно исправить доставку вместе с ID.
Поля и сроки описаны в документации Meta. Ниже мой порядок проверки.
Шагов: 7
Как найти причину
Выполняйте проверки в указанном порядке.
- Выберите dataset и откройте Test Events. Проверяйте один магазин, один dataset и один реальный тестовый заказ. Для прямой серверной интеграции инструкция Meta описывает передачу тестового ID сессии в
test_event_code. Если приложение этого не поддерживает, зафиксируйте ограничение. Оно не доказывает отсутствие CAPI. - Найдите доставки Browser и Server. Откройте записи покупки, сохраните источник подключения, имя и доступные ID и время. Пару записей заказа храните приватно. Инструкция Meta описывает проверку браузерной и серверной доставки. Скриншоты в ней старые; ориентируйтесь на подписи текущего аккаунта.
- Сравните значения. Сопоставьте
eventIDиevent_idпобайтово, затем посмотрите доступный результат дедупликации. Не требуйте, чтобы интерфейс объединил две доставки в одну строку. - Отделите отсутствие от несовпадения. Только Browser: серверная доставка ещё не подтверждена. Только Server: нет подтверждения браузерной. Обе с разными ID: есть конкретное несовпадение. Если ID скрыт, отметьте это и проверьте поддерживаемую диагностику или выходные данные отправителя.
- При необходимости проверьте запрос пикселя. В инструментах разработчика найдите запрос события, не загрузку библиотеки. Документация Meta показывает
eventIDв вызове Pixel иeidв примере image-pixel. Сравните с серверным payload, если он доступен. - Протестируйте исправление. Повторите покупку, перезагрузку и серверный повтор там, где интеграция это допускает. ID должен оставаться связан с исходным действием. Новая отдельная покупка получает другой ID.
- Отдельно проверьте дальнейшие отчёты. Запишите время изменения и сравните новые заказы с доступными событиями. Чистая тестовая пара подтверждает один путь, но не правильность всех старых покупок или рекламных отчётов.
Признак и исправление
Таблица решений
Все значения ниже синтетические.
| Данные 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 рядом с настройкой агентства или приложения. Проверяю отправителей и одну пару событий покупки.
Читайте дальше или проверьте соседний симптом.
Все симптомы
Здравствуйте, я Даниил.
Я сам разбираюсь в задаче, выполняю работу и передаю результат. Все вопросы вы обсуждаете напрямую со мной. Общаюсь на русском и английском. На испанском могу переписываться с помощью переводчика.
Попробовали и всё ещё не работает?
Describe what's wrongОтвечу в течение одного рабочего дня. Первый ответ бесплатный. Или напишите напрямую: next@taskfordaniel.com