Как я нахожу дубли лидов из Яндекс Директа

14.10.2026 · 8 мин чтения
Две тёмные карточки с коралловым швом на чёрном фоне
Я открываю учёт заявок и часто вижу одну и ту же историю. На один телефон ложатся несколько карточек: форма с сайта, звонок на подменный номер и лид-форма Директа. В кабинете это одно обращение человека, в списке — несколько лидов. Здесь я рассказываю, как сам ищу такие повторы: два канала на одну заявку, повтор webhook и формы, склейка по телефону и почте.

Почему повтор для меня отдельная тема

Качество лида и импорт расходов я уже разбирал отдельно. Там речь о том, какая заявка целевая и как расход из кабинета попадает в отчёт. Здесь только повторы: одна живая заявка, которая попала в учёт несколько раз.
Для меня лид из Директа — один первичный объект, а не любая активность в карточке. У него известен источник: кампания, объявление и тип конверсии, форма или звонок. Следующий звонок того же человека сам по себе новый лид не создаёт. Пока это правило не сказано вслух, связки плодят строки быстрее, чем продажи успевают их закрыть.
Повтор портит отчёт тихо. Расход рекламы тот же, а строк больше, поэтому заявка выглядит дешевле, чем она есть на самом деле. Воронка кажется слабее: в знаменателе лишние карточки, а сделок столько же. Источник, ответственный и статус разъезжаются по разным записям, и уже неясно, какая кампания привела человека первым.

Два канала на одну заявку

Самый частый повтор у меня не поломка сервера, а два честных канала. Человек оставил заявку на сайте и почти сразу позвонил. Коллтрекинг честно видит новый звонок. Форма уже создала карточку. Без общего входа в учёт на один разговор появляются две записи. Для менеджера клиент выглядит настойчивым: написал и ещё позвонил. Для отчёта это уже два лида.
Тёмная форма, карточка с коралловым полем, телефон и коралловый кабель
Форма, звонок и вебхук легко становятся несколькими строками на одного человека.
Лид-форма Директа живёт отдельно от сайта. Заявка может прийти письмом, в мессенджер, вебхуком или через коннектор, даже если человек не открывал посадочную. Рядом часто стоит форма сайта с метками. Если общего шлюза нет, каждый путь создаёт свою строку на одного клиента. То же бывает, когда оставлены сразу прямой вход, промежуточный коннектор и ручная выгрузка из кабинета: каждый считает себя главным.
СценарийЧто вижу в спискеЧто это на самом деле
Лид-форма и форма сайтаДве заявки за короткий срокДва канала, один человек
Звонок после формыКарточка формы и карточка звонкаОдно обращение, два события
Ручной лид менеджераСтрока руками рядом с автоматическойОтвет ускорили и продублировали
Два коннектора сразуОдинаковые поля, разное время созданияОдно событие ушло двумя дорогами
Повторная отправка формыДве записи с одним текстомДвойной клик или повтор доставки
  • Рисую все пути из Директа в учёт: лид-форма, сайт, звонок, мессенджер, ручной ввод.
  • Оставляю один первичный вход для заявок из рекламы.
  • Остальные каналы не открывают карточку, а дописывают уже найденную.
  • Если два сервиса аналитики оба создают сделки в одном учёте, второй путь создания выключаю.

Повтор webhook и формы

Один канал тоже умеет прислать заявку дважды. Доставка webhook устроена так, что запрос могут прислать ещё раз, если первый раз не подтверждён. Сервер ответил медленно, сеть оборвалась, пришёл ответ об ошибке — площадка повторяет отправку. У Яндекс Форм и похожих связок по HTTP повтор включается при долгой тишине, сетевой ошибке и ответе сервера об ошибке. На один ответ человека иногда приходят два одинаковых запроса.
У такой доставки есть заголовок x-delivery-id. Я смотрю его до создания лида. Повтор с тем же идентификатором новую карточку не рождает: в журнал пишу, что эта доставка уже была. Ответ обработчика делаю быстрым и успешным. Пока сервер молчит и не подтверждает приём, площадка считает, что заявку не доставили, и шлёт её снова. Смысл простой: сначала запомнить ключ доставки, потом решать, нужна ли новая строка.
Отдельно ловлю гонки, которые снаружи похожи на рост форм. Кнопку отправки нажали дважды. Сценарий автоматизации и прямой вебхук стартовали вместе. Телефония, коллтрекинг и коннектор учёта сработали на одно событие. Число заявок в списке растёт, а внутри один и тот же набор полей размножился по дороге.
  • В логе ищу повтор одного и того же x-delivery-id.
  • Сверяю тело запроса: те же телефон, почта и текст заявки.
  • Смотрю, подтвердил ли сервер приём быстро, до того как площадка начала повтор.
  • Выключаю лишнюю цепочку: второй коннектор, второе письмо в учёт, ручную выгрузку поверх вебхука.

Склейка по телефону и почте

Ключ доставки ловит повтор того же запроса. Звонок после формы он не свяжет: это другое событие. Разные каналы я склеиваю по телефону и почте, но только после приведения к одному виду. Один номер, записанный через восьмёрку, через плюс и семёрку, со скобками и пробелами, без правила выглядит как несколько людей. Почту перевожу в строчные буквы и убираю пробелы по краям.
Трубка и конверт с коралловой кромкой на круглой тёмной платформе
Телефон и почта склеивают разные каналы, если привести их к одному виду.
ПолеНасколько ему доверяюГде легко ошибиться
Ключ доставки или внешний номер заявкиСильнее всего для того же запросаНе связывает форму и звонок
Телефон в одном видеВысокоОбщий номер семьи или ресепшена
Почта в одном видеВысокоОбщий ящик компании
Идентификатор визита счётчикаСредне, для связи с визитомЕго нет, если форма его не сохранила
Жёсткое правило «такой телефон уже есть, новый лид не создавать» я не включаю. С одного номера звонит другой человек в семье. На ресепшен попадают разные клиенты. Спустя долгое время человек возвращается с новой задачей. В этих случаях жёсткий запрет теряет живую заявку. Мягкое правило держит короткое окно: повтор внутри него дополняет карточку, а не открывает новую. В учёте вроде Битрикс24 или amoCRM поиск перед новой карточкой идёт по телефону и почте. Как включать это в конкретной системе, здесь не разбираю: мне важен порядок, сначала найти, потом создать.
Склеиваю, когда человек уточняет тот же заказ, когда повтор пришёл из другого канала той же кампании или когда форму отправили ещё раз в коротком окне. Отдельную карточку оставляю, если потребность другая, если по правилам учёта нужна новая сделка, или если это мусор и ошибочный клик. Мусор помечаю как некачественную заявку и не сливаю с живым клиентом. Повтор из Директа отмечаю так, чтобы ответственный видел второе касание, а не думал, что это новый человек.
  • Телефон привожу к одному виду: код страны, без скобок, пробелов и лишних знаков.
  • Почту пишу строчными буквами, без пробелов по краям.
  • Сначала ищу совпадение по телефону и почте, потом решаю: комментарий к старой карточке или новая.
  • Повтор помечаю, а не прячу, чтобы продажа видела второе касание.
  • Отклонённые повторы оставляю в журнале, а не выбрасываю молча.

Как проверяю, что живая заявка не пропала

Стопка тёмных карточек и стеклянный диск с коралловым ободком
Три прогона: новый человек, повтор той же заявки и второй канал.
После любой правки входа я прогоняю три проверки и смотрю учёт глазами, а не верю галочке в коннекторе. Первая — новый человек с телефоном, которого в базе нет. Должна появиться одна карточка, с кампанией и типом конверсии. Вторая — та же заявка ещё раз через несколько минут. Новой карточки быть не должно: комментарий, задача ответственному, стадия прежняя. Третья — другой канал, форма и следом звонок. Снова одна карточка и след второго канала рядом. Ожидаемое поведение я заранее проговариваю с продажами и записываю, иначе каждый менеджер клеит по-своему.
  1. Фиксирую время отправки и время, когда строка появилась в учёте.
  2. Сверяю телефон в карточке с тем, что ушло из формы, уже в одном виде.
  3. Проверяю, что метки кампании и тип конверсии не пропали на повторе.
  4. Смотрю журнал повторов: доставка записана, лишняя карточка не создана.
  5. Уточняю у продаж, что они ждут при повторе через несколько минут и при паре форма плюс звонок.
Раз в неделю беру несколько свежих лидов из Директа и ищу пару по телефону и почте. Сверяю число конверсий в кабинете с числом уникальных обращений в учёте за тот же день. Если списки разъехались, сначала открываю лог доставки и схему коннекторов. Ставки и объявления в этот момент не трогаю: шум сидит во входе заявок, а не в тексте рекламы.
Повторные карточки шумят дальше учёта. В счётчик уходит несколько событий на одну заявку, и стратегии Директа учатся на этом шуме. При выгрузке заказов из учёта одинаковый идентификатор или перенос базы без смены номеров заказа снова плодит повторы. Если номер заказа не передан, заказы легко двоятся при привязке к визиту. Идентификатор визита из счётчика кладу в скрытое поле формы и храню в карточке, чтобы заказ держался за визит, а не за случайную строку.
Когда повторы собраны, стоимость обращения считаю заново: тот же расход делю на уникальные заявки, а не на раздутый список. Следующий шаг воронки тоже смотрю по уникальным карточкам. С продажами фиксирую три договорённости: что считать повторной заявкой, кто имеет право завести лид руками и как помечать дубль. Удалять карточку не спешу. Пометка и журнал оставляют след, а удаление его стирает. Склейка задним числом без правила на входе только подметает то, что интеграции создадут снова.
SEO

Найду, где одна заявка стала двумя

Сверю каналы, повторы доставки и склейку по телефону с почтой, чтобы в списке остались уникальные обращения.
SEO-специалист и автор материала
Читайте также
Обложка
Как я отличаю целевой лид из Яндекс Директа от пустой заявки
Как я отличаю целевой лид Директа от пустой заявки: цель отправки в Метрике, статусы и причины отказа в CRM, отметка хорошего лида и спама.
Читать статью
Обложка
Звонки из Директа: встроенный учёт и коллтрекинг на сайте
Показываю, чем встроенный учёт звонка в Директе отличается от коллтрекинга на сайте, где задать цель и что смотреть, если звонок не попал в отчёт.
Читать статью
Обложка
Как я связываю воронку Яндекс Директа с учётом клиентов
Как я связываю клик из Директа, форму с идентификатором, этапы в CRM и обратную передачу в Метрику, чтобы автостратегия училась на макроцели.
Читать статью
Обложка
Как я ставлю согласие на рекламную рассылку в лид-форме Яндекс Директа
Как я ставлю в лид-форме Директа два чекбокса на данные и рекламу, почему галочка не стоит заранее и какой лог согласия храню в учёте.
Читать статью