Кейс: доработка причины перевода лидов и сделок в неудачную стадию в CRM Битрикс24

Сложно сказать почему то или иное взаимодействие с клиентом оказалось провальным, особенно тяжело это сделать, если с момента взаимодействия прошла неделя или месяц, а если прошёл год, то никто уже ничего не вспомнит. В кейсе я расскажу, как мы доработали функционал Битрикс24, чтобы точно определять источники провалов в лидах и сделках.
Эмиль Алиев
Эмиль Алиев,
Программист

Проблема

Выяснить причину провала сделки в стандартном функционале CRM Битрикс24 очень сложно. Придется тратить время, прослушивать все звонки, если они сохранились, поднимать историю взаимодействий с клиентом, дергать менеджеров и на основе этого делать какие-то выводы.

Менеджеры по продажам иногда искажают эту информацию для сокрытия плохих результатов или специально выдают коллегам неэффективные источники за эффективные, чтобы повысить свои результаты. Всех этих проблем можно было избежать, если бы менеджер перед переводом в неудачную стадию, оставлял комментарий с причиной неудачи.

Итак, основная задача — добавить возможность указывать причины провала лида или сделки при переводе в неудачную стадию. Указание причины должно быть обязательным — если причина не указана, стадия не должна меняться.

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

Возможность указать причину неудачи должна быть в списке лидов и сделок, в канбане или при просмотре. Все изменения связанные с указанием причины должны отражаться в истории лида или сделки. В списке лидов и сделок должно быть видно причину неудачи.

Процесс

Хранить причину неудачи можно было несколькими способами:

  1. Записывать причину в комментарии к сделке или лиду.
  2. Хранить данные в отдельно созданной таблице или инфоблоке.
  3. Хранить данные в пользовательских полях, которые запрещено редактировать.

Первый способ нам не подходил, так как сложно потом среди всех комментариев найти комментарий с причиной неудачи. К тому же было бы сложно вывести этот комментарий в списке.

Второй — был не так уж плох. Мы получали простой доступ к нужным нам данным, но проблема была с отображением информации в списке.

Третий способ хранения оказался самым удобным. Легко получить нужные нам данные и так же легко вывести их в списке, В поле статус неудачи можно легко указывать пользовательские статусы.

Дальше нужно было решить важный вопрос — как в окно подтверждения неудачной стадии добавить нужные нам поля?

Способов было два:

  1. Найти, где генерируется это окно и просто добавить туда наши поля.
  2. Повесить JavaScript обработчик на появление окна и перед его показом добавить нужные поля.

Первый способ сразу отмели, чтобы в будущем избежать проблем с обновлением и взяли второй.

Чтобы сохранять введенные пользователем данные, добавили специальный скрипт, на который будут делаться ajax-запросы. Так же добавили обработчик нажатия кнопки сохранения и добавили отправку данных на созданный ранее скрипт, в момент нажатия кнопки. После этого дали системе Битрикс24 выполнить все нужные действия.

Последние штрихи. Очистили поля, связанные с неудачей при изменении стадии сделки или лида на какой-либо другой статус. Добавили записи в историю лида или сделки при изменении полей «Статус неудачи» и «Причина неудачи», чтобы можно было посмотреть кто и когда их менял.

В итоге это выглядит вот так.

В списке лидов список лидов

В канбане лидов канбан лидов

На странице просмотра лида страница просмотра лида

В списке сделок список сделок

В канбане сделок канбан сделок

На странице просмотра сделки страница сделки

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

Итог

В результате мы получили обязательное указание причины неудачи при переводе лида или сделки в неудачную стадию. При этом мы не вносили никаких изменений в ядро Битрикс24, и получили всё что хотели. Теперь менеджер не может присвоить сделке или лиду статус «неудачный», пока не укажет причину провала.