Просроченные и проигранные сделки, хаос в рабочих процессах, недоразумения при общении с клиентами — все это цена неправильного ведения CRM. Вручную искать такие ошибки слишком долго. Поэтому Ringostat делится с вами мануалом, как упростить этот процесс.

Виталий Сафонов,
Analyst & Automation Specialist at Ringostat
Что будем настраивать по инструкции и что для этого нужно
При ведении CRM менеджеры нередко допускают ошибки. Все мы люди — один забывает записать информацию, другой слишком спешит, а третий только учится работать в CRM. Но это не повод пускать работу с системой на самотек. У нас в Ringostat для предупреждения ошибок есть сразу несколько решений.
- Регламент по работе с CRM. В нем подробно описано, что нужно делать с каждой сделкой, контактом и задачей, какие поля заполнять и т. д.
- Интеграция с CRM, которая сразу после звонка создает контакты, задачи и сделки. Так менеджер не отвлекается на внесение информации вручную и не допускает ошибки — например, в номере телефона клиента.
- Дополнительный бонус за ведение CRM и соблюдение регламентов работы. Его может получить менеджер отдела продаж на любой позиции — при условии, что он выполняет план.
Но недочеты при работе с CRM-системой все равно случаются. Поэтому одна из моих обязанностей — находить их и составлять отчет. В нем видно, сколько и каких ошибок совершил менеджер. Если их количество критично, ячейка окрашена в розовый цвет:

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

В этой статье я расскажу, как создавать такие отчеты и автоматически отправлять письма об ошибках менеджерам. Я разберу реализацию этого на примере нашей CRM — Pipedrive. Но инструкция будет полезна и для любых других систем, потому что в них тоже есть фильтры.
Что нужно для реализации
- Фильтры в CRM.
- Документ, куда выгружаются сделки по созданным в CRM фильтрам и где будет считаться статистика по ошибкам.
- Скрипт, который рассылает письма со списком сделок, где надо исправить поля — это настраивается по желанию.
Настройка фильтров в CRM
Первым делом надо определиться, что именно мы хотим контролить и какие ошибки нужно «отлавливать» в CRM. На данный момент у нас есть 27 фильтров, по которым мы находим сделки, где что-то заполнено не в соответствии с регламентами. Часть из них вы уже видели на первом скрине статьи.
Для примера возьмем фильтр №14 «Не указан Город / Страна». Для начала создаем фильтр в веб-приложении Pipedrive. В разделе «Сделки» переходим в вид «Список».

В правом верхнем углу открываем выпадающий список, выбираем там «Фильтр» и нажимаем «Новый фильтр»

В окне создания фильтра есть два блока с условиями:
- в первый — 1 на скрине, мы прописываем условия, к которым будет применен логический оператор «И»;
- во втором — 2 на скрине, те, к которым будет применен оператор «ИЛИ».

Между блоками 1, 2 работает логический оператор И.
Логика фильтра такая:
(1.1 И 1.2 И 1.3 И 1.4) И (2.1 ИЛИ 2.2)
Итого получается, что в созданный нами фильтр попадут все сделки которые:
- созданы после 01.09.2019 включительно;
- не соответствуют этапам: Входящее обращение, First step, Не контактировали;
- у которых поле Город ИЛИ Страна пусто;
- Сохраняем фильтр и из адресной строки браузера копируем ID фильтра — ID понадобится позже, когда будем настраивать выгрузку сделок в таблицу.
Создание Google Таблицы
- Далее создаем Google таблицу, куда будем выгружать сделки по фильтру и считать количество сделок с ошибками в разрезе менеджеров.
- В созданном документе в редактор скриптов добавляем код, который будет обращаться к API вашей CRM и выгружать по созданному ранее фильтру сделки. Код, который нужно добавить в редактор скриптов, вы должны прописать самостоятельно — в соответствии с документацией вашей CRM.
- Используем метод
/v1/deals
— все детали по Pipedrive API в документации, вы можете без труда найти информацию по API других систем. - Среди параметров URL запроса метода
/v1/deals
есть filter_id — в него нужно передать id фильтра, который создали выше, чтобы в документ выгрузить сделки по этому фильтру.

В статье я намеренно не привожу пример скриптов, так как бизнес пользуется самыми разными CRM. И скрипты в зависимости от этого могут меняться. Если вы пользователь Pipedrive — пишите в комментарии, и я поделюсь примером того скрипта, который используем мы.
Как я уже говорил, у нас 27 фильтров, а это значит, что нужно 27 разных запросов и 27 разных листов с загруженными по ним сделкам. Но оно того стоит — один раз напрячься и создать необходимое количество фильтров, настроить выгрузку сделок по ним в таблицу и потом выставить периодичность, с которой выгрузки будут обновляться, используя «триггер» в Google apps script. После этого можно перейти к созданию сводной таблицы со статистикой.
Сводная таблица имеет простую структуру:
- по вертикали — имена менеджеров-владельцев сделок;
- по горизонтали — название фильтра:

Далее, используя простую формулу COUNTIF считаем количество сделок закрепленных за каждым менеджером в каждом листе с выгруженными сделками.

Полезная статья о работе формул — «Базовые советы для удобной работы в Google Spreadsheets».
Для удобства работы с таблицей и анализа данных выставляем правила условного форматирования для диапазона с расчетными данными. В меню «Формат» нажимаем «Условное форматирование». Далее в открывшемся окне настраиваем условное форматирование:
- Выбираем «Градиент»;
- Прописываем диапазон с расчетными данными, к которому будет применено условное форматирование;
- Выбираем цвет градиента, в который будут окрашиваться ячейки, в зависимости от критичности показателя;
- Нажимаем «Готово».

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

Для рассылки писем используется другой скрипт, также закрепленный за этим доксом. Логика его проста.
- Цикл 1 перебирает колонки с именами менеджеров в листе со списками сделок.
- Цикл 2, вложенный в Цикл 1, перебирает строки с фильтрами, формируя список из ID сделок по каждому фильтру.
- Когда все строки с фильтрами в первой итерации Цикла 1 проработаны, мы получаем готовый список сделок по первому менеджеру, трансформируем его в текст письма и отправляем на почту менеджера. Ее мы тоже получаем из Pipedrive. Для отправки письма используется класс MailApp в Google Apps Script — ссылка на документацию.
- Далее начинается вторая итерация Цикла 1, пункты 1-3 повторяются до конца цикла, т.е. пока список менеджеров не закончится.
Что имеем в итоге
- 27 листов с выгрузками сделок по фильтрам, которые обновляются каждый день.
- Лист со статистикой с условным форматированием для анализа количества ошибок в разрезе менеджеров.
- Лист со списком ID проблемных сделок по каждому фильтру и по каждому менеджеру.
- Один скрипт, который формирует письмо со списком проблемных сделок и отправляет его ответственному менеджеру на почту. Он срабатывает по триггеру раз в неделю. Письмо имеет такой вид:
