Вопрос, как заблокировать номер в форме Тильды, обычно возникает не от скуки, а после того, как за ночь в CRM падает полсотни заявок с одинаковым текстом про крипту или казино. Штатных настроек Тильды хватает не всегда, поэтому в статье разберу и встроенные инструменты, и кастомные скрипты, которые ставлю клиентам на практике.
Откуда в форме Тильды берутся спам-заявки
Большая часть спама на лендингах приходит не от живых людей, а от ботов, которые находят форму по адресу сайта и отправляют POST-запрос напрямую на вебхук Тильды, минуя саму страницу и её JS. Отсюда характерные признаки: номер вида +79999999999 или 88888888888, email test@test.com, поле сообщения с ссылкой или пустое. У одного из моих клиентов на лендинге для стройматериалов из 50-60 заявок в сутки живыми оказывались 5-7, остальное - боты, перебирающие один и тот же список форм по CMS-отпечатку.
Второй источник - конкуренты или недобросовестные фрилансеры, которые вручную закидывают форму мусором, чтобы забить статистику или испортить конверсию перед отчётом заказчику. Такие заявки отличить сложнее: номер похож на реальный, но повторяется раз в несколько дней с разных IP.
Штатные способы заблокировать номер в форме Тильды
Первым делом смотрю в настройки самой формы - там есть два рабочих инструмента, которые закрывают процентов 60-70 автоматического спама без единой строчки кода.
Google reCAPTCHA v3
В настройках блока формы (T123, T450, Zero Block с формой) есть вкладка с антиспам-защитой, куда вставляются ключи Google reCAPTCHA v3. Она работает в фоне и не показывает пользователю галочку «я не робот» - просто присваивает каждой отправке балл от 0 до 1, и Тильда отсекает заявки с низким баллом. Ставлю её на каждый проект по умолчанию, но одна reCAPTCHA не спасает от целевого спама с реальных браузеров.
Honeypot и встроенный антиспам-фильтр
В том же разделе настроек формы есть чекбокс защиты от спама на базе скрытого поля-ловушки: обычный посетитель его не видит и не заполняет, а скрипт-автозаполнитель попадает в это поле - и заявка отбрасывается ещё до попадания в базу. Включается за один клик, но простые боты, написанные специально под Тильду, эту ловушку уже научились игнорировать.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
Черный список телефонов и email в настройках формы
Если спам идёт волнами с одних и тех же 3-5 номеров, в настройках формы можно задать список телефонов и адресов, с которых заявки перестанут приниматься. Работает это как точечная блокировка: вписываю номер в поле - Тильда просто не пропускает отправку с таким значением дальше.
Минус в том, что список статичный и без поддержки масок или регулярных выражений: если бот меняет последнюю цифру номера при каждой отправке, черный список бесполезен - придётся вписывать десятки вариантов вручную. Для одного проекта с формой заявок на монтаж я в течение недели добавлял туда по 2-3 номера в день, пока не стало ясно, что нужен скрипт с логикой, а не статичный перечень.
Кастомный скрипт для блокировки спам-номеров
Когда встроенных средств не хватает, ставлю на страницу с формой собственный JS, который проверяет номер телефона до отправки формы и обрывает событие submit, если находит признаки спама: одинаковые цифры подряд, номер из черного списка, несоответствие формату мобильного номера РФ.
Пример проверки номера перед отправкой
const blacklist = ['+79999999999', '+78888888888'];
function isSpamPhone(phone) {
const clean = phone.replace(/D/g, '');
if (/^(d)1+$/.test(clean)) return true; // все цифры одинаковые
if (!/^7d{10}$/.test(clean)) return true; // не похоже на номер РФ
if (blacklist.includes(phone)) return true;
return false;
}
document.addEventListener('submit', function (e) {
const form = e.target.closest('form');
if (!form) return;
const phoneInput = form.querySelector('input[name="phone"]');
if (phoneInput && isSpamPhone(phoneInput.value)) {
e.preventDefault();
e.stopPropagation();
}
}, true);
Подход простой, но закрывает большинство ботов, которые не эмулируют реальный ввод в поле, а просто подставляют значение и триггерят отправку.
Куда вставить скрипт в Тильде
Добавляю код через панель настроек страницы в поле «Вставить код перед закрывающим тегом body» либо прямо внутрь HTML-блока T123/T451 рядом с формой - второй вариант удобнее, если защита нужна не на всех страницах сайта. Похожие заготовки под конкретные типы форм - заявка, обратный звонок, расчёт стоимости - собраны у меня в библиотеке готовых скриптов для Тильды, откуда можно взять рабочий каркас и адаптировать под свою форму.
Фильтрация заявок на стороне CRM и Telegram-бота
Если заявки с Тильды падают не только на почту, а идут в Telegram или CRM через вебхук, фильтровать спам логичнее на этом же шаге, а не разбирать вручную уже в самой системе. Для клиента с формой на Tilda и amoCRM ставил прослойку на n8n: Webhook-нода принимает заявку, дальше Function-нода проверяет номер по regex и списку паттернов, и только если проверка пройдена, заявка летит в CRM и падает уведомлением в чат. Спам без создания сделки просто логируется в отдельную таблицу - так отсеивали около 70% мусорных заявок ещё до того, как менеджер вообще их видел.
Если заявки принимает Telegram-бот, написанный на aiogram, ту же логику зашиваю прямо в обработчик вебхука: бот сверяет номер с черным списком и форматом, и в общий чат уходят только заявки, прошедшие фильтр. Для хранения номеров из черного списка использую базу на своём сервере в РФ, а не иностранные таблицы вроде Google Sheets - так проще соблюсти требования 152-ФЗ к персональным данным клиентов.
Точечная доработка скрипта на самой Тильде стоит от 3 000 ₽, комплексная интеграция с CRM, эквайрингом или СДЭК - от 40 000 ₽, отдельная автоматизация фильтрации на n8n - от 25 000 ₽.
Сравнение способов блокировки спама в форме
| Способ | Сложность настройки | Эффективность |
|---|---|---|
| Google reCAPTCHA v3 | Низкая, штатная настройка Тильды | Отсекает большинство автоматических ботов |
| Honeypot-поле | Низкая, чекбокс в настройках формы | Средняя, простые боты игнорируют |
| Черный список номеров | Низкая, но требует ручного пополнения | Точечная, для повторяющихся номеров |
| Кастомный JS-валидатор | Средняя, нужен скрипт на странице | Высокая для ботов без эмуляции ввода |
| Фильтр перед CRM/ботом | Высокая, отдельная интеграция | Максимальная, режет спам до попадания в базу |
На практике комбинирую минимум два уровня: reCAPTCHA плюс кастомный скрипт для номера - этого достаточно для 90% лендингов. Фильтр перед CRM подключаю, только если заявок много и их разбирает отдельный менеджер, которому важно не видеть мусор вообще.
Когда стандартных блоков не хватает
Кастомный скрипт
от 3 000 ₽
Подробнее →Частые вопросы
Можно ли заблокировать номер в форме Тильды бесплатно?
Да, встроенные reCAPTCHA v3, honeypot-поле и черный список номеров в настройках формы доступны без доработок и закрывают базовый поток ботов. Ограничение в том, что черный список статичный и требует ручного пополнения, а простые боты со временем учатся обходить honeypot.
Помогает ли Google reCAPTCHA от целевого спама конкурентов?
Частично. reCAPTCHA хорошо режет автоматизированные скрипты, но не отличит живого человека, который вручную вбивает мусорные данные в форму. От такого спама помогает связка с черным списком номеров и проверкой формата на стороне JS.
Как понять, что заявку отправил бот, а не человек?
Смотрю на паттерны: одинаковые цифры в номере, шаблонный email вида test@test.com, время отправки в 3-4 часа ночи с интервалом в несколько секунд между заявками, отсутствие переходов по другим страницам сайта в аналитике перед отправкой формы.
Что делать, если спам идёт с разных номеров каждый раз?
Статичный черный список тут не поможет - нужна проверка по паттерну: одинаковые цифры подряд, несоответствие формату мобильного номера, отправка без предварительного взаимодействия с полями формы. Такую логику завожу в кастомный скрипт или в фильтр на стороне CRM, а не в список конкретных номеров.