Как связать форму на Tilda с CRM: пошагово
· 7 мин чтения · Даниил Федулов
Форма на Tilda связывается с CRM в два уровня: сначала вы добавляете приёмник данных (готовую интеграцию или вебхук) в настройках сайта, а затем — и этот шаг пропускают чаще всего — подключаете его в каждой форме отдельно. Подключить на уровне проекта недостаточно: форма без галочки просто не делает попытки отправить данные. Ниже — все шаги, техническая механика вебхука и все грабли, о которые спотыкаются постоянно.
Шаг 1. Добавьте приёмник данных на уровне сайта
В настройках сайта на Tilda откройте раздел «Формы». Здесь два варианта:
- Готовая интеграция — у Tilda есть встроенные подключения к популярным CRM. Если ваша CRM в списке, начните с неё: меньше ручной работы.
- Вебхук (Webhook) — универсальный способ: Tilda отправляет данные формы POST-запросом на указанный вами адрес. Так подключается практически любая CRM или своя обработка. Адрес приёмника даёт CRM или делает разработчик.
После добавления приёмник появится в списке доступных сервисов — но пока он ни к одной форме не привязан. Если выбрали вебхук, у CRM обычно есть отдельная страница настроек интеграции, где генерируется адрес приёмника и токен или секретный ключ — их нужно ввести в настройках Tilda один раз, при добавлении приёмника.
Что подготовить заранее
Прежде чем открывать настройки Tilda, стоит собрать несколько вещей — так подключение займёт один заход, а не три:
- Доступ к CRM с правами администратора — обычной учётной записи менеджера обычно не хватает, чтобы создать интеграцию и получить токен доступа.
- Список полей формы и то, куда каждое из них должно попасть в CRM — имя, телефон, email, комментарий, выбранная услуга.
- Воронка и этап по умолчанию, в который должна попадать новая заявка — если воронок несколько, заранее решите, какая нужна.
- Список всех форм на сайте, которые должны вести в CRM, — попап, футер, отдельные лендинги. Про них легко забыть на шаге привязки.
Шаг 2. Привяжите приёмник в каждой форме
Главная грабля всей связки. Откройте страницу, найдите блок с формой (в Zero Block — выделите саму форму), зайдите в её настройки → раздел «Сервисы» (Services) — и поставьте галочку напротив вашего приёмника. Сохраните и переопубликуйте страницу.
Повторите для каждой формы на сайте: попап, форма в футере, квиз — все они привязываются независимо. Новая форма, добавленная через месяц, тоже не подхватит интеграцию автоматически — про неё придётся вспомнить и привязать вручную.
Как устроен вебхук технически (если делаете сами)
Если готовой интеграции с вашей CRM нет и приёмником выступает собственный скрипт, задача сводится к двум частям: принять данные от Tilda и передать их дальше в CRM. Вот упрощённый пример приёмника на PHP — он получает данные формы и складывает их в файл-журнал, а дальше их можно отправить в CRM или на почту:
<?php
// webhook-receiver.php — принимает POST-данные формы Tilda
$name = $_POST['Name'] ?? '';
$phone = $_POST['Phone'] ?? '';
$email = $_POST['Email'] ?? '';
$payload = [
'name' => $name,
'phone' => $phone,
'email' => $email,
'source' => 'tilda',
];
// журналируем каждую заявку — пригодится, если понадобится
// разобраться, дошли ли данные до этой точки вообще
file_put_contents(
__DIR__ . '/log.json',
json_encode($payload, JSON_UNESCAPED_UNICODE) . PHP_EOL,
FILE_APPEND
);
// здесь же данные можно сразу отправить дальше — в CRM, Telegram, почту
http_response_code(200);
echo 'ok';Дальше данные из $payload нужно передать в саму CRM. Например, чтобы создать сделку в amoCRM через её API, отправляется POST-запрос с токеном доступа и полями сделки:
curl -X POST "https://ВАШ_ДОМЕН.amocrm.ru/api/v4/leads" \
-H "Authorization: Bearer ВАШ_ACCESS_TOKEN" \
-H "Content-Type: application/json" \
-d '[
{
"name": "Заявка с сайта: Иван Петров",
"price": 15000,
"custom_fields_values": [
{
"field_code": "PHONE",
"values": [{ "value": "+7 900 000-00-00" }]
}
]
}
]'Это иллюстрация принципа, а не готовый рецепт: точные названия полей, коды кастомных полей и формат токена доступа у amoCRM время от времени меняются, поэтому актуальную структуру запроса и способ получения токена всегда сверяйте с официальной документацией amoCRM перед тем, как копировать пример в боевой код.
Отдельный момент, который часто упускают при самостоятельной настройке: собственный приёмник вебхука доступен по открытому адресу в интернете, а значит, теоретически на него может прийти запрос не только от Tilda. Чтобы отсечь чужие запросы, приёмник должен проверять секретный параметр или подпись, которую присылает сама Tilda или CRM вместе с данными, и отклонять запросы без него — это несложная, но обязательная часть безопасной интеграции, а не опциональное «для профессионалов».
Полезно логировать не только успешные запросы, но и время их получения: если из-за сетевого сбоя Tilda продублирует отправку формы, вы это сразу увидите в журнале — и сможете отличить два одинаковых лида от двух разных заявок, а не гадать постфактум, почему в CRM две одинаковые сделки подряд.
Шаг 3. Проверьте обязательные поля
Обязательность полей настраивается отдельно — в характеристиках самого поля ввода. Если обязательное поле не заполнено, форма может молча не отправляться, не показывая ошибку. Отправьте тест с пустыми полями и убедитесь, что подсказки видны, а лишние поля не помечены обязательными.
Шаг 4. Проверяйте доставку по лиду в CRM, а не по журналу
У Tilda есть журнал ошибок отправки — и вот неочевидное: пустой журнал не означает, что заявки уходят. Непривязанная форма не делает попытки отправки, поэтому и ошибок не создаёт. Журнал чист и тогда, когда всё работает, и тогда, когда не работает ничего — само по себе «ошибок нет» ничего не доказывает.
Единственная надёжная проверка — сквозная: отправьте тестовую заявку с опубликованной страницы и убедитесь, что лид появился в CRM. Если заявка из проверочного запроса (например, отправленного напрямую на вебхук через curl или Postman) доходит, а с формы — нет, это почти всегда означает, что форма не привязана к приёмнику: возвращайтесь к шагу 2 и проверьте галочку в разделе «Сервисы» именно этой формы.
Частые грабли — коротко
- Приёмник добавлен в настройках сайта, но не привязан в формах — заявки не уходят, журнал пуст. Самая частая причина из всех.
- Страницу не переопубликовали после изменения формы — на сайте крутится старая версия, изменения просто не применились.
- Названия полей формы не совпадают с полями CRM — лид приходит пустой или частичный, часть данных теряется незаметно.
- Заявка уходит, но сделка не создаётся — причина на стороне CRM: права доступа интеграции, неверная воронка, «протухший» токен.
- Тестируют в режиме предпросмотра вместо опубликованной страницы — поведение может отличаться от боевого сайта.
- На форме нет согласия на обработку персональных данных или другого обязательного юридического поля — форма может отправляться, но заявка формально собрана с нарушением, и об этом стоит подумать заранее, а не после жалобы.
- Несколько источников (сайт, квиз, чат-бот) ведут в CRM без пометки происхождения заявки — со временем невозможно понять, какой канал реально приносит клиентов.
По отдельности каждая грабля выглядит мелочью, но вместе они и дают тот самый эффект «форма вроде работает, а заявок нет»: причина почти никогда не в самой форме, а в одном из звеньев цепочки между формой и CRM, которое не проверили целиком.
Когда лучше позвать специалиста
Если форм много, CRM нестандартная или заявки нужно раскидывать по воронкам и менеджерам — быстрее отдать настройку тому, кто делал это не раз. Я настраиваю связку сайта с amoCRM, Bitrix24 и Macro — от 3 000 ₽, с обязательной сквозной проверкой: тестовая заявка с каждой формы до лида в CRM. Если рядом с CRM нужно ещё и принимать оплату на сайте — это отдельная задача с чеками 54-ФЗ, обычно настраиваю их вместе. Если форма не на Tilda и просто «молчит» — начните с разбора семи причин, почему форма не отправляет письма.