Інтеграція 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 робочий день.







