Настройка дедупликации данных в CRM Битрикс24

Наша компания занимается разработкой, поддержкой и обслуживанием решений на Битрикс и Битрикс24 любой сложности. От простых одностраничных сайтов до сложных интернет магазинов, CRM систем с интеграцией 1С и телефонии. Опыт разработчиков подтвержден сертификатами от вендора.
Предлагаемые услуги
Показано 1 из 1 услугВсе 1626 услуг
Настройка дедупликации данных в CRM Битрикс24
Простая
~1 рабочий день
Часто задаваемые вопросы
Наши компетенции:
Этапы разработки
Последние работы
  • image_website-b2b-advance_0.png
    Разработка сайта компании B2B ADVANCE
    1177
  • image_bitrix-bitrix-24-1c_fixper_448_0.png
    Разработка веб-сайта для компании ФИКСПЕР
    811
  • image_bitrix-bitrix-24-1c_development_of_an_online_appointment_booking_widget_for_a_medical_center_594_0.webp
    Разработка на базе Битрикс, Битрикс24, 1С для компании Development of an Online Appointment Booking Widget for a Medical Center
    564
  • image_bitrix-bitrix-24-1c_mirsanbel_458_0.webp
    Разработка на базе 1С Предприятие для компании МИРСАНБЕЛ
    747
  • image_crm_dolbimby_434_0.webp
    Разработка сайта на CRM Битрикс24 для компании DOLBIMBY
    655
  • image_crm_technotorgcomplex_453_0.webp
    Разработка на базе Битрикс24 для компании ТЕХНОТОРГКОМПЛЕКС
    976

Настройка дедупликации данных в CRM Битрикс24

Дублирующиеся контакты, компании и сделки — хроническая болезнь любой CRM, которая живёт дольше полугода. Менеджеры создают карточки вручную, лиды падают из разных источников, импорт из Excel накладывается на существующую базу. В результате отдел продаж теряет контекст переписки, аналитика врёт, а автоматизация срабатывает дважды.

Битрикс24 предоставляет встроенный механизм дедупликации, но «из коробки» он работает только по точному совпадению полей. Чтобы он реально помогал, его нужно настроить под конкретную базу.

Как работает дедупликация в Битрикс24

Система сверяет новую запись с существующими по набору критериев совпадения: телефон, email, название компании, ИНН. Логика реализована в модуле crm через класс CCrmEntityMerger и REST-метод crm.duplicate.findbycomm.

Поиск дублей запускается:

  • при ручном создании карточки — всплывает предупреждение;
  • при импорте — флаг «Проверять дубликаты» в мастере импорта;
  • через REST при интеграциях — метод возвращает массив потенциальных дублей до сохранения.

Настройка критериев: CRM → Настройки → Дубликаты. Здесь задаётся, по каким полям и с каким весом система считает записи совпадающими.

Настройка критериев совпадения

Ключевой момент — не включать всё подряд. Практика показывает: чем больше критериев, тем больше ложных срабатываний и тем медленнее работает проверка на больших базах (от 50k записей).

Оптимальная конфигурация для большинства B2B-компаний:

Сущность Поле Приоритет
Контакт Телефон (нормализованный) Высокий
Контакт Email Высокий
Компания ИНН Критический
Компания Название Средний (fuzzy)
Сделка Название + компания Низкий

Нормализация телефона критична: +7 (495) 123-45-67 и 84951234567 — один номер. Битрикс нормализует телефоны автоматически через CPhoneNumber::Normalize(), но только если тип поля задан как «Телефон», а не произвольный текст.

Массовая проверка существующей базы

После включения дедупликации существующие дубли никуда не денутся — система проверяет только новые записи. Для разовой чистки используйте встроенный инструмент: CRM → Контакты → ещё → Найти дубликаты.

Для баз свыше 100k записей встроенный инструмент тормозит. Разумнее сделать выборку через REST и обработать батчами:

// Поиск дублей по email через REST API
$result = CRest::call('crm.duplicate.findbycomm', [
    'type'      => 'EMAIL',
    'values'    => ['[email protected]'],
    'entity_type' => 'CONTACT',
]);
// Возвращает массив ID потенциальных дублей

Типичный цикл чистки: выгрузить все контакты с email → сгруппировать по нормализованному email → для каждой группы из 2+ записей запустить crm.merge с определёнными правилами приоритета полей.

Автоматическое объединение через REST

Если процесс повторяется регулярно (например, каждую ночь после импорта лидов), автоматизируйте его агентом Битрикса или внешним cron-скриптом:

// crm.merge — объединение двух контактов
CRest::call('crm.contact.merge', [
    'id'     => 1001,   // главная запись (сохраняется)
    'victims'=> [1002, 1003], // поглощаемые записи
]);

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

Типичные проблемы и их решение

Ложные дубли по имени компании. «ООО Ромашка» и «Ромашка ООО» — Битрикс считает разными. Подключите нормализацию через хук OnBeforeCRMCompanyAdd с очисткой юридической формы из названия.

Дубли из разных источников лидов. Если один клиент оставил заявку на сайте и позвонил по телефону — два лида с разным набором данных. Настройте объединение лидов в контакт через бизнес-процесс с проверкой дублей на этапе конвертации.

Производительность на больших базах. Индексы таблиц b_crm_contact и b_crm_company по полям PHONE и EMAIL — обязательны. Проверьте их наличие в БД, особенно после миграций.

Дедупликация — не разовая акция, а регулярный процесс. Настройте еженедельный отчёт по количеству потенциальных дублей и держите метрику под контролем.