Back to archive
13.08Server-side и API-интеграции

CRM API: как связать рекламу, заявки и продажи

TL;DR

  • CRM API нужен, чтобы маркетинг видел не только заявки, но и дальнейшие статусы: qualified, meeting, approved, paid, lost.
  • Главный ключ интеграции - стабильный lead_id плюс рекламные идентификаторы: UTM, GCLID, fbclid, ttclid, client_id.
  • amoCRM и Bitrix24 поддерживают webhooks и API-подходы, но требуют аккуратной работы с правами, секретами и лимитами.
  • Не отправляйте рекламные события из CRM без фильтра качества. Иначе алгоритмы будут учиться на мусоре.
  • CRM-интеграция ломается не из-за API, а из-за процессов: менеджеры не ведут статусы, поля заполняются руками, нет владельца данных.

1. Зачем маркетологу CRM API

Лендинг знает, что человек оставил форму. CRM знает, что с этим человеком произошло дальше. Между этими мирами часто пропасть.

Если связки нет, маркетинг оптимизируется на верх воронки:

  • заявка отправлена;
  • звонок заказан;
  • квиз пройден;
  • форма заполнена.

Но бизнесу нужны другие события:

  • дозвонились;
  • заявка качественная;
  • встреча назначена;
  • кредит одобрен;
  • договор подписан;
  • деньги получены.

CRM API позволяет возвращать эти статусы в аналитику и рекламные системы.

Ad click

Landing

Lead form

CRM lead

Sales status

Quality event

Ads API / BI / DWH

2. Какие данные нужно сохранить

В момент создания лида сохраните:

ПолеЗачем
lead_idГлавный внутренний ключ
UTMИсточник, канал, кампания, креатив
GCLID/GBRAID/WBRAIDGoogle Ads attribution
fbclid/fbc/fbpMeta matching
ttclidTikTok matching
client_id/session_idСвязка с аналитикой
landing URLКонтекст заявки
form nameКакая форма сработала
consentМожно ли использовать данные

Если этих полей нет в CRM, дальнейшая интеграция превращается в гадание. Sales может закрыть сделку, но маркетинг не поймет, какой канал ее привел.

3. API vs webhook

API и webhook часто путают.

МеханикаЧто делает
API requestВы сами спрашиваете или меняете данные в CRM
WebhookCRM сама сообщает вашему endpoint, что событие произошло

Пример API: раз в час забрать все сделки со статусом paid.

Пример webhook: CRM сразу отправляет уведомление, когда сделка перешла в approved.

Для маркетинговых пайплайнов часто нужен гибрид: webhooks для быстрых событий, scheduled API sync для сверки и восстановления пропущенных данных.

4. amoCRM и Bitrix24

amoCRM позволяет подписывать webhooks на события и отправлять уведомления на заданный URL. Это удобно для событий по сделкам и лидам.

Bitrix24 дает REST API и webhooks. В webhook URL уже зашит секрет, поэтому его нельзя хранить в публичном коде, таск-менеджерах и скриншотах.

Серьезная интеграция не должна отправлять событие напрямую из CRM в рекламную платформу без промежуточного слоя. Нужны validation, retry, logs, rate limiting и защита от дублей.

5. Какие CRM-статусы отправлять в рекламу

Не каждый статус полезен.

СтатусЧто делать
New leadМожно использовать для базовой аналитики
ContactedОбычно слабый сигнал
QualifiedХороший сигнал для leadgen
ApprovedОтличный сигнал для финтеха
Paid / issuedЛучший сигнал, если объема достаточно
LostНе отправлять как conversion, но анализировать
Duplicate / spamИсключать из оптимизации

Если отправлять в рекламные API каждый новый лид, алгоритм будет искать людей, которые дешево оставляют заявки. Если отправлять qualified или paid, он будет искать людей, которые ближе к выручке.

6. Локальный контекст СНГ/РК

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

Перед интеграцией нужно договориться:

  • что считается качественным лидом;
  • кто меняет статус;
  • какие поля обязательны;
  • как обрабатываются дубли;
  • где хранится рекламная атрибуция;
  • кто отвечает за ошибки API.

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

7. Ошибки

ОшибкаПоследствие
Нет lead_idНевозможно надежно связать события
Webhook URL попал в общий доступРиск доступа к CRM
Нет retryСобытия теряются при временной ошибке
Нет дедупликацииРекламные платформы получают дубли
Нет договоренности по статусамОдин менеджер ставит qualified, другой нет
Все лиды считаются ценнымиАлгоритмы оптимизируются на мусор

8. Чеклист

  • CRM хранит UTM и click IDs.
  • У каждого лида есть уникальный ID.
  • Статусы описаны и одинаково используются sales-командой.
  • Webhook endpoint защищен.
  • Секреты не лежат в коде и таблицах.
  • Есть очередь или retry-механика.
  • Есть лог входящих и исходящих событий.
  • Quality events уходят в Ads/BI только после фильтра.

9. Видео

Интеграция AmoCRM и Python. Авторизация, интеграция, токены, amocrm-api

10. Главный совет

CRM API не заменяет дисциплину в CRM. Сначала наведите порядок в статусах и обязательных полях, потом отправляйте quality events в рекламу.

Sources / Notes