1. Главная
  2. Статьи
  3. Заявки с сайта

Заявки с сайта в CRM: форма, API и защита от дублей

Как передавать заявки с форм напрямую, сохранять рекламные метки и не плодить дубли.

30 сентября 20268 минут

Форма на сайте выглядит самой простой частью продаж: три поля и кнопка. Но между нажатием кнопки и звонком менеджера есть участок, который никто не видит. Письмо с заявкой попало в спам. Хостинг перестал отправлять почту. Клиент отправил форму дважды, и два менеджера позвонили ему с разницей в пять минут. Рекламная метка потерялась, и непонятно, какое объявление сработало.

Разберём, как передавать заявки с сайта в CRM напрямую и что при этом не забыть.

Почему «заявки на почту» ненадёжны

Классическая схема: форма отправляет письмо на адрес отдела продаж. У неё три системные проблемы.

  • Письмо может не дойти, и вы не узнаете. Письма, которые сайт отправляет сам, почтовые сервисы часто считают подозрительными. Часть уходит в спам, часть отбрасывается молча. Посетитель при этом видит «Спасибо, мы свяжемся с вами».
  • У письма нет статуса. Непонятно, кто взял заявку, перезвонили ли клиенту, чем всё закончилось.
  • Данные нельзя посчитать. Чтобы узнать число заявок за месяц по источникам, придётся разбирать письма руками.

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

Как работает передача по API

API это адрес в CRM, на который ваш сайт отправляет данные формы обычным HTTP-запросом. Схема из четырёх шагов:

  1. Посетитель заполняет форму, данные уходят на сервер вашего сайта.
  2. Обработчик формы на сервере проверяет поля и отправляет запрос в CRM, подписав его ключом.
  3. CRM создаёт заявку и возвращает ответ: номер заявки или описание ошибки.
  4. Сайт показывает посетителю «Заявка принята», а если CRM не ответила, сохраняет заявку у себя и повторяет попытку.
Запрос в CRM должен уходить с сервера, а не из браузера. Ключ API, записанный в JavaScript на странице, видит любой посетитель: он сможет создавать в вашей CRM сколько угодно мусорных заявок. Храните ключ в настройках сервера.

Если сайт собран на конструкторе и своего обработчика нет, ищите в настройках формы отправку данных на внешний адрес (обычно это называется «вебхук»). Запрос при этом уходит с серверов конструктора, и ключ остаётся скрытым.

Что передавать вместе с заявкой

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

ЧтоЗачем
Имя, телефон, emailСвязаться с клиентом. Хотя бы одно из трёх обязательно.
Текст обращенияМенеджер звонит подготовленным.
Название формы или услугаПонять, что именно интересует: «Расчёт стоимости», «Обратный звонок».
ИсточникОтличить заявки разных сайтов и лендингов.
Страница формыУвидеть, с какого товара или услуги пришёл человек.
Метки UTMСвязать заявку с рекламной кампанией и объявлением.
Страница первого захода и реферерУзнать, откуда посетитель попал на сайт.

Как не потерять рекламные метки

Метки UTM живут в адресе страницы, на которую человек пришёл из рекламы: ?utm_source=yandex&utm_campaign=okna. Проблема в том, что форму он отправляет не с этой страницы. Он походил по сайту, открыл цены, контакты, и в адресе меток уже нет. Если брать метки из адреса в момент отправки, большая часть заявок придёт без них.

Правильный порядок:

  1. Сохраните метки при первом заходе. Когда посетитель открывает сайт по ссылке с метками, запишите их в cookie или в хранилище браузера вместе с адресом первой страницы и реферером.
  2. Добавьте сохранённое к форме. При отправке подставьте метки в скрытые поля формы или прочитайте cookie на сервере.
  3. Передайте метки в CRM отдельными полями. Не склеивайте их в текст сообщения: по отдельным полям можно фильтровать и считать.
  4. Проверьте на себе. Откройте сайт по ссылке с тестовой меткой, пройдите по трём страницам, отправьте форму и посмотрите, что пришло в заявку.

Повторные обращения и дубли

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

Дубли ловят по контактам: тот же телефон или тот же email. Две тонкости:

  • Телефон нужно приводить к одному виду. «+7 (912) 000-12-34» и «89120001234» это один номер. Надёжный способ: сравнивать только цифры, причём последние десять.
  • Повтор не всегда дубль. Клиент, чья прошлая заявка закрыта полгода назад, вернулся с новой задачей. Это новая заявка. А вот вторая форма, пока первая ещё в работе, это дополнение к ней.

Информацию из повторного обращения терять нельзя: человек мог уточнить вопрос или прийти уже с другой рекламы. Её стоит записать в историю существующей заявки.

Как это сделано в Linkodium CRM

Заявка создаётся одним запросом POST /api/v1/leads. Ключ выпускает администратор в «Настройках компании», на вкладке «API-ключи», и передаёт его в заголовке запроса. Тело запроса может быть JSON или обычной формой. Кроме контактов и сообщения принимаются источник, услуга, страница формы, страница первого захода, реферер, пять меток UTM и идентификатор посетителя Яндекс Метрики.

Защита от дублей работает так. Если в компании есть активная заявка (в статусе «Новая заявка» или «В работе», не в архиве) с тем же телефоном или email, новая не создаётся. В существующую добавляется событие «Повторное обращение» с текстом, страницей и метками, а в ответе API приходит её номер и признак повтора. Телефоны сравниваются по последним десяти цифрам. Если прежняя заявка закрыта, создаётся новая.

Ещё одна полезная мелочь: заявку можно передать сразу со статусом «Спам». Она сохранится, но уведомление сотрудникам не уйдёт. Так удобно поступать с тем, что отметил антиспам формы: если он ошибся, заявку всё равно можно найти.

Примеры запросов есть в документации API, общий обзор на странице «Формы сайта и API».

Типичные ошибки

  • Ключ в коде страницы. Про это сказано выше, но ошибка настолько частая, что повторим: только на сервере.
  • «Спасибо» при любой ошибке. Обработчик не проверяет ответ CRM. Если запрос не прошёл, заявка пропала, а посетитель уверен, что его ждут. Сохраняйте заявку у себя и повторяйте отправку с паузой.
  • Один ключ на всё. Сайт, лендинг и телефония работают с одним ключом. При утечке придётся перенастраивать всё сразу. Заведите отдельный ключ на каждую интеграцию.
  • Одинаковый источник у всех форм. «Сайт» вместо «Сайт, форма расчёта» и «Лендинг, акция». Через месяц не понять, какая форма работает.
  • Метки из адреса в момент отправки. Большая часть заявок придёт без них.
  • Нет защиты формы от ботов. Спам заполнит список заявок. Поставьте проверку на стороне сайта.

Коротко

Передавайте заявки в CRM напрямую, с сервера и с проверкой ответа. Сохраняйте рекламные метки при первом заходе и отправляйте их отдельными полями. Повторное обращение клиента, с которым уже работают, должно дополнять существующую заявку, а не создавать новую. Тогда каждая отправленная форма доходит до менеджера, а вы видите, откуда приходят клиенты.

Соберите все заявки в одном месте

Регистрация по коду из письма занимает минуту. Банковская карта не нужна.

Начать бесплатно