Форма сайта создаёт повторяющиеся контакты в amoCRM

  • Обновлено
  • Чтение ≈ 3 минуты

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

Проверяем нормализацию телефонов, повторные отправки формы, сопоставление по email и логику интеграции, создающей контакт вместо связи с существующим.

В этой статье
  1. Когда возникает проблема и к чему относится
  2. Как отличить основные причины
  3. Пошаговая диагностика и решение
  4. Как убедиться, что проблема решена
  5. Если исправление не помогло

#Когда возникает проблема и к чему относится

Проверяем нормализацию телефонов, повторные отправки формы, сопоставление по email и логику интеграции, создающей контакт вместо связи с существующим. Подходит для встроенных форм amoCRM и сторонних сайтов с API-интеграцией. Поведение поиска дублей зависит от способа создания: рекомендации по импорту файла не следует автоматически переносить на API формы.

#Как отличить основные причины

Возможная причинаКак узнатьЧто делать
Форма отправляет запрос дваждыДвойной обработчик кнопки или повтор запроса после тайм-аута создаёт одинаковые события.Дубликаты имеют одинаковое время созданияПроверить повторный POST и защиту от повторов
Телефон записан в разных форматахПробелы, код страны, добавочные и email требуют осторожного сопоставления.Контакты выглядят одинаково, но номера отличаются префиксомНормализовать сравнение на стороне интеграции
Интеграция всегда создаёт контактНекоторые внешние модули не запрашивают существующий контакт либо не привязывают сделку к нему.Одна форма приводит к новому контакту даже при существующем emailСверить поиск перед созданием

#Пошаговая диагностика и решение

  1. Сохраните примеры дублей до измененийВ «Контактах» откройте два повторяющихся контакта, запишите их ID, дату создания, связанные сделки и варианты телефона/email. Выясните, поступили ли они из одного источника или из разных форм. Не объединяйте сразу: карточки могут принадлежать разным людям с одинаковым рабочим номером.
  2. Проведите один тест на своей формеВведите в форму разрешённые тестовые данные, отправьте один раз и дождитесь сообщения об успешной отправке, затем в «Контактах» найдите тестовый телефон и email. Если появилось две новые карточки с одинаковым временем, проверьте, не срабатывает ли кнопка дважды и нет ли двух подключённых модулей.
  3. Проверьте обработчики отправки на сайтеАдминистратор сайта проверяет, включены ли одновременно стандартный модуль CRM, отдельный скрипт и обработчик конструктора формы. В журналах сайта сопоставьте время, ID заявки и число HTTP-запросов. Если уходят два POST, отключайте один из дублирующих маршрутов в тестовой версии сайта, не отключая сбор всех живых заявок.
  4. Сравните точные контактные данныеВ первой и второй карточках проверьте номер целиком, включая код страны, дополнительные номера, пробелы и email. Внешняя интеграция должна сравнивать нормализованный номер и адрес, но не объединять людей только по совпадению имени. Создайте согласованный единый формат ввода телефона в форме и проверяйте корректность международных номеров.
  5. Проверьте логику поиска через APIЕсли используется собственная интеграция, попросите разработчика перед созданием контакта искать существующий по разрешённым идентификаторам, затем привязывать новую сделку к найденному ID. Проверьте контроль гонки запросов и повторов после тайм-аута: одинаковый ID заявки на сайте не должен порождать два контакта. Не публикуйте OAuth-токены.
  6. Различите результат стандартной формы и импортаЕсли дубли возникли только при загрузке CSV, откройте «Контакты» → «Импорт» и проверьте правила объединения и обновления, отдельно от сайта. Если они появляются именно от веб-формы, настройки поиска дублей CSV могут ничего не изменить. Исправляйте тот канал, который реально создаёт записи.
  7. Проверьте исправление на повторной отправкеПосле изменения в тестовой среде отправьте форму с тестовым номером два раза и отдельно один раз с другим адресом. Убедитесь, что для известного клиента повторная заявка связана с существующим контактом, а независимый новый клиент не склеен ошибочно. Удаление и объединение исторических дублей оформите отдельной согласованной процедурой.

#Как убедиться, что проблема решена

Два корректных тестовых обращения от одного человека не создают лишние контакты; разные люди остаются разными карточками, заявки сохраняются.

#Если исправление не помогло

При повторе покажите разработчику ID формы/заявки, время двух запросов и идентификаторы созданных контактов без передачи личных данных клиентов.

Так эту ошибку тоже называют

Источники и обновления

Последнее обновление статьи: 2 ноября 2026. Версии программ и интерфейсы меняются — если шаги не совпадают с вашей версией, сверяйтесь с документацией производителя.