Разработка · 8 мин чтения

Интеграция WordPress с CRM: как передавать заявки из форм

Заявка с сайта на WordPress становится реальной сделкой только тогда, когда менеджер увидел её в CRM, а не когда письмо тихо легло в папку «Входящие», которую проверяют раз в день. Интеграция WordPress с CRM закрывает именно этот разрыв: форма отправляет заявку не только на почту, но и сразу создаёт сделку в amoCRM, Bitrix24 или другой системе, с телефоном, именем и источником обращения. Настраиваю такие связки на проектах с Contact Form 7, WPForms и WooCommerce, и разница между «письмо на почту» и «карточка сделки за несколько секунд» на практике решает, обработают лид сегодня или через два дня, когда клиент уже оформил заказ у конкурента.

Зачем связывать формы WordPress с CRM напрямую

Форма на сайте без CRM работает как чёрный ящик: заявка ушла на почту, но никто не видел, ответил ли менеджер, через сколько часов и с каким результатом. Как только заявка попадает в CRM, у неё появляется статус, ответственный и история переписки, а руководитель видит воронку целиком, а не набор писем в разных ящиках.

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

Отдельный плюс для платного трафика: если в CRM попадают UTM-метки из формы, можно посчитать, с какой рекламной кампании пришла реальная продажа, а не просто клик по объявлению. Без интеграции эти данные обычно теряются на этапе «форма отправила письмо».

Способы передачи заявок из WordPress в CRM

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

  • Готовый плагин-коннектор для конкретной CRM (Bitrix24, amoCRM, RetailCRM) - ставится за 15-20 минут, но работает только с той системой, под которую написан.
  • Вебхук из формы (Contact Form 7 с дополнением, WPForms Webhooks addon, Gravity Forms Webhooks) - универсальный способ, отправляет POST-запрос на любой адрес.
  • Zapier или Make - облачный конструктор, который принимает заявку из формы и передаёт её в CRM без кода.
  • n8n - похожий на Zapier конструктор, но с возможностью разместить его на своём сервере в РФ, что важно, если в форме собираются телефоны и почта клиентов.
Способ Что настраивается Время на запуск
Готовый плагин под CRM API-ключ CRM, привязка полей формы 15-30 минут
Вебхук в форме URL эндпоинта CRM, маппинг полей, секретный ключ 2-4 часа
Zapier / Make триггер на новую запись формы, action в CRM 1-2 часа
n8n нода Webhook и нода запроса к API CRM, обработка ошибок 4-8 часов

У Zapier и Make подписка начинается от 20-30 долларов в месяц на рынке, и это ограничение по числу задач, а не разовая плата. n8n можно развернуть на собственном сервере и платить только за хостинг, поэтому для потока заявок больше пары сотен в месяц он обычно выгоднее.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Contact Form 7: вебхук вместо только почты

Contact Form 7 сам по себе умеет только отправлять письмо, поэтому передачу в CRM добавляю либо через дополнение вроде CF7 to Webhook, либо через хук wpcf7_mail_sent в functions.php. Второй способ надёжнее, потому что не зависит от стороннего плагина и его обновлений.

add_action( 'wpcf7_mail_sent', function( $contact_form ) {
    $submission = WPCF7_Submission::get_instance();
    if ( ! $submission ) {
        return;
    }
    $data = $submission->get_posted_data();

    wp_remote_post( 'https://yourcrm.example.com/api/webhook/lead', array(
        'method'  => 'POST',
        'headers' => array( 'Content-Type' => 'application/json' ),
        'body'    => wp_json_encode( array(
            'name'  => $data['your-name'] ?? '',
            'phone' => $data['your-phone'] ?? '',
            'email' => $data['your-email'] ?? '',
        ) ),
        'timeout' => 10,
    ) );
} );

В этом коде функция срабатывает после отправки письма и передаёт в CRM только нужные поля, а не весь массив данных формы. Так безопаснее: в CRM не улетает служебная информация вроде user-agent или referrer, если она не нужна отделу продаж.

Важный момент, который часто упускают: если запрос к CRM не прошёл (сервер CRM ответил ошибкой или не ответил за 10 секунд), заявка должна хотя бы залогироваться на стороне сайта, иначе она потеряется молча. Добавляю запись в лог WordPress через error_log или в отдельную таблицу, чтобы потом можно было руками довнести пропущенные лиды.

WPForms и Gravity Forms: готовые интеграции с amoCRM и Bitrix24

WPForms Pro и Gravity Forms в связке с платными дополнениями закрывают интеграцию с популярными CRM без единой строчки кода: указываешь API-ключ, сопоставляешь поля формы с полями сделки, и на этом настройка заканчивается.

Проблема этих готовых интеграций в другом: поля сделки в CRM почти никогда не совпадают один в один с полями формы на сайте. У формы есть «Комментарий», а в CRM для этого поля отведён отдельный тип данных, и без ручной перепроверки маппинга часть текста обрезается или не сохраняется вовсе. Первую заявку после настройки всегда проверяю руками в самой CRM, а не только в логе плагина.

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

WooCommerce: заказы и оплата в CRM

Для интернет-магазина на WooCommerce заявка это не только форма обратной связи, но и сам заказ. WooCommerce умеет отправлять вебхуки на изменение статуса заказа, и эти события удобно заводить прямо в сделку CRM: новый заказ создаёт сделку на этапе «Ожидает оплату», а смена статуса на «Оплачен» двигает её дальше по воронке.

На практике часто нужна связка сразу в три системы: WooCommerce принимает оплату через эквайринг, например T‑Bank, после успешного платежа меняет статус заказа, и уже это событие через вебхук уходит в CRM и запускает передачу заказа в СДЭК для расчёта доставки. Если настраивать каждую связку отдельными плагинами, они начинают конфликтовать за один и тот же хук, поэтому для трёх и более сервисов в цепочке обычно быстрее собрать один сценарий в n8n, чем городить три плагина.

n8n как мост между WordPress и любой CRM

Когда CRM не входит в список популярных или логика передачи заявки сложнее, чем «поле в поле», проще собрать сценарий в n8n: нода Webhook принимает POST-запрос от формы, следующая нода приводит данные к нужному формату, а нода HTTP Request отправляет их в API CRM, будь то Bitrix24 REST, amoCRM API v4 или любая другая система с документированным API.

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

Раз в форме собираются телефоны и почта клиентов, сервер с n8n держу на площадке в России, а не на бесплатном облачном хостинге за рубежом: персональные данные клиентов должны храниться на серверах в РФ по 152-ФЗ, и это не рекомендация, а требование закона, которое соблюдаю в каждом проекте с CRM.

Частые ошибки при интеграции WordPress с CRM

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

  • Нет обработки ошибок вебхука, поэтому при недоступности CRM на 5 минут заявки этого периода теряются без следа.
  • В CRM передаётся необработанный номер телефона в разных форматах (+7, 8, без кода страны), из-за чего сделки не находят карточку существующего клиента и создают дубли.
  • UTM-метки не прокидываются из формы в CRM, и через месяц никто не может сказать, какая реклама реально принесла продажи.
  • Контакты клиентов сохраняются в зарубежных облачных таблицах вроде Google Sheets «для быстроты», хотя это те же персональные данные, что и в CRM, и требования 152-ФЗ к ним никуда не деваются.

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

Частые вопросы

Какая CRM проще всего интегрируется с WordPress?

Проще всего заводятся Bitrix24 и amoCRM, потому что у обеих задокументированный REST API и готовые плагины под большинство форм WordPress. С самописными или узкоотраслевыми CRM без публичного API интеграция занимает заметно больше времени, потому что вебхук нужно собирать через n8n или отдельный скрипт, а не через готовое дополнение.

Нужно ли программировать, если формы сделаны в Contact Form 7?

Не обязательно, если подходит вебхук через готовое дополнение вроде CF7 to Webhook. Код в functions.php нужен, когда требуется что-то сверх простой передачи полей: логирование ошибок, проверка дублей или отправка не всех полей формы, а только части.

Что делать, если заявки из формы не приходят в CRM?

Сначала проверяю, ушёл ли запрос вообще, через лог плагина или через вкладку «Сеть» в браузере при тестовой отправке. Дальше смотрю ответ CRM: чаще всего проблема в истёкшем API-ключе, неверном URL эндпоинта после обновления CRM или в том, что обязательное поле сделки осталось пустым и CRM отклонила запрос целиком.

Сколько стоит настроить передачу заявок из WordPress в CRM?

Простая связка через готовый плагин с одной формой и одной CRM обычно укладывается в разовую консультацию от 3 000 ₽, если система уже поддерживает нужный коннектор. Сценарий в n8n с обработкой ошибок, защитой от дублей и несколькими формами оцениваю от 25 000 ₽, а дальнейшее сопровождение интеграции продолжаю по техподдержке от 15 000 ₽ в месяц.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно