Когда один клиент записан с разными телефонами, система начинает считать его несколькими людьми. Из-за этого менеджеры видят неполную историю, рассылки дублируются, скидки применяются неправильно, а отчеты искажаются.

Решать такую задачу нужно аккуратно: сначала нормализовать телефоны, найти вероятные совпадения, проверить правила объединения и только потом менять основную базу.

Коротко: что делать

  • Сделать резервную копию таблиц клиентов и истории
  • Привести телефоны к единому формату
  • Найти совпадения по телефону, email, имени, заказам и внешним ID
  • Отделить точные дубли от похожих, но разных клиентов
  • Согласовать правило, какая карточка становится основной

Основные причины

Дубли появляются не только из-за ручного ввода. Часто их создают формы, интеграции, телефония, импорт из Excel и разные правила нормализации.

  • Телефоны сохраняются в разных форматах: +7, 8, пробелы, скобки, добавочные номера
  • CRM не проверяет уже существующего клиента при создании заявки
  • Импорт из таблицы создает новые записи вместо обновления старых
  • Интеграция с телефонией передает номер в другом формате
  • У клиента несколько реальных телефонов, но система не умеет хранить их в одной карточке

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

Главная задача диагностики — понять, где создаются дубли и как безопасно их объединить.

  • Проверить схему хранения телефонов и дополнительных контактов
  • Сравнить новые дубли по источнику создания
  • Посмотреть, есть ли уникальные индексы или проверки перед insert
  • Проверить импорт, формы, API и телефонию
  • Собрать список дублей с уровнем уверенности

Как исправить проблему

Исправление обычно состоит из двух частей: очистить уже созданные дубли и закрыть причину появления новых.

  • Нормализовать телефоны в отдельное техническое поле
  • Добавить поиск существующего клиента перед созданием новой карточки
  • Сделать безопасное объединение истории заказов, звонков и заявок
  • Настроить правила импорта и API upsert вместо простого insert
  • Добавить отчет по новым потенциальным дублям

Безопасный план решения

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

Чего не стоит делать

  • Не объединять записи только по имени
  • Не удалять карточки без переноса истории
  • Не править телефоны вручную в большой базе без скрипта и лога
  • Не ставить уникальность на телефон, если у одного клиента может быть несколько номеров

Что подготовить перед исправлением

  • Экспорт клиентов или доступ к базе
  • Примеры дублей
  • Правила, какая карточка главная
  • Список источников заявок и интеграций

FAQ

Можно ли объединять клиентов автоматически?

Да, но только для точных совпадений. Сомнительные случаи лучше отправлять на ручную проверку или отдельный отчет.

Что делать с несколькими телефонами одного клиента?

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

Как не потерять историю?

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

Когда стоит обратиться за помощью

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

Итог

Начните с нормализации телефонов и отчета дублей. Если нужно написать скрипт очистки, объединения и защиты от новых дублей, можно прислать структуру базы в Telegram @rabotator_support.