Интеграция Tilda с CRM и аналитикой
Tilda не предоставляет серверного кода, зато имеет хорошо задокументированный механизм webhooks и гибкий HTML-блок для вставки произвольного кода. Для интеграций с CRM используются три подхода: встроенные интеграции в настройках сайта, webhook на собственный обработчик, и прямые JS-интеграции через блок T123.
Встроенные интеграции
В настройках сайта Tilda раздел «Интеграции» содержит готовые коннекторы для amoCRM, Bitrix24, GetResponse, Mailchimp, SendPulse и ряда других систем. Настройка занимает 15–30 минут: указываете API-ключ, маппинг полей формы на поля CRM — готово.
Ограничение: маппинг полей ограниченный, условий нет, дополнительная логика недоступна.
Webhook на собственный обработчик
Для нестандартных CRM или сложной логики — webhook:
В настройках формы Tilda: «После отправки» → «Webhook» → указываем URL.
Tilda отправит POST с данными формы в формате application/x-www-form-urlencoded:
Name=Иван+Иванов&Phone=%2B79001234567&Email=ivan%40example.com&formid=form123456789&tranid=1234567890
Обработчик на Laravel:
public function handleTildaWebhook(Request $request): Response
{
$data = $request->all();
// Базовая проверка — Tilda не подписывает запросы,
// поэтому защита через IP-фильтр или секретный параметр в URL
$expectedToken = config('services.tilda.webhook_token');
if ($request->query('token') !== $expectedToken) {
abort(403);
}
$lead = [
'name' => $data['Name'] ?? $data['name'] ?? '',
'phone' => $data['Phone'] ?? $data['phone'] ?? '',
'email' => $data['Email'] ?? $data['email'] ?? '',
'source' => 'tilda',
'form' => $data['formid'] ?? '',
];
// Создаём лид в CRM
dispatch(new CreateCRMLead($lead));
return response('OK', 200);
}
Важный нюанс: Tilda не подписывает webhook-запросы криптографически. Защита — либо секретный токен в URL (?token=xxx), либо IP-фильтр (IP-адреса серверов Tilda публикуются в документации).
Аналитика через GTM
Для отслеживания событий форм в Google Analytics 4 или Яндекс.Метрике стандартный подход — Google Tag Manager. Tilda поддерживает вставку GTM-кода:
«Настройки сайта» → «Аналитика» → «Google Tag Manager» → вводим ID контейнера (GTM-XXXXXXX).
После этого в GTM настраиваем триггер на отправку формы Tilda. Tilda генерирует кастомное событие:
// Событие, которое Tilda отправляет в dataLayer после успешной отправки формы
window.addEventListener('message', function(event) {
if (event.data && event.data.indexOf('tildaCallback') >= 0) {
const data = JSON.parse(event.data);
if (data.event === 'tf-success') {
dataLayer.push({
event: 'tilda_form_submit',
formId: data.formId,
pageName: document.title,
});
}
}
});
В GTM: триггер → «Пользовательское событие» → tilda_form_submit. К нему привязываем тег GA4 с событием generate_lead.
Передача UTM-меток в CRM
UTM-метки из URL нужно сохранить и передать вместе с лидом. Tilda поддерживает это через скрытые поля формы:
- В форме добавить скрытые поля с именами
utm_source,utm_medium,utm_campaignи т.д. - В настройках формы включить «Автоматически подставлять UTM-метки в скрытые поля».
После этого в webhook придут заполненные UTM-поля, которые можно передать в CRM как атрибуты сделки.
Передача данных из Tilda в Bitrix24 через вебхук
public function sendToBitrix(array $lead): void
{
$webhookUrl = config('services.bitrix24.webhook_url');
Http::post("{$webhookUrl}crm.lead.add.json", [
'fields' => [
'TITLE' => "Лид с сайта: {$lead['name']}",
'NAME' => $lead['name'],
'PHONE' => [['VALUE' => $lead['phone'], 'VALUE_TYPE' => 'WORK']],
'EMAIL' => [['VALUE' => $lead['email'], 'VALUE_TYPE' => 'WORK']],
'SOURCE_ID' => 'WEB',
'SOURCE_DESCRIPTION' => "Tilda, форма: {$lead['form']}",
'UF_CRM_UTM_SOURCE' => $lead['utm_source'] ?? '',
],
]);
}
Webhook Bitrix24 генерируется в разделе «Разработчикам» → «Входящий webhook» → выбираем права на crm.
Сроки
Настройка встроенной интеграции Tilda → CRM через стандартный коннектор: 30–60 минут. Реализация кастомного webhook-обработчика с маппингом полей и UTM-трекингом: 3–5 часов. Полная аналитическая связка с GTM, GA4, Метрикой и передачей UTM в CRM — 1 рабочий день.







