Тильда закрывает большинство сайтов своими блоками, но как только бизнес просит расчёт доставки в реальном времени, привязку к CRM или калькулятор со сложной логикой скидок, стандартных настроек не хватает. Тогда нужен индивидуальный функционал тильда - код поверх конструктора, написанный под конкретную задачу клиента, а не под шаблонный сценарий. За несколько лет работы с проектами на Тильде у меня набрался десяток повторяющихся кейсов - от виджета СДЭК до бота в Telegram, - и в этой статье разберу, как они устроены изнутри и сколько занимают по времени.
Что вообще считается индивидуальным функционалом на Тильде
Платформа даёт три легальных способа встроить свой код: блок Т123 (HTML/CSS/JS-редактор), подключение внешнего скрипта через настройки проекта (Ещё → Настройки проекта → Код для вставки) и работу с DOM уже отрисованной страницы после события tilda-blocks-ready. На практике 90% задач решаются комбинацией второго и третьего способа: скрипт грузится один раз на весь сайт, слушает события форм и блоков, и дальше сам обращается к внешним API - доставке, оплате, CRM.
Отличие от «доработки на конструкторе» простое: стандартные настройки Тильды - это переключение готовых опций (цвет кнопки, порядок полей формы, обязательность поля). Индивидуальный функционал - это логика, которой в интерфейсе нет вообще: подстановка цены в зависимости от выбора пользователя, запрос к стороннему API до отправки формы, валидация по нестандартным правилам. Ниже - таблица, которая обычно снимает вопрос «а нам точно нужен разработчик или хватит настроек».
| Задача | Решается настройками Тильды | Нужен кастомный скрипт |
|---|---|---|
| Изменить текст кнопки, порядок полей | Да | Нет |
| Показать разные цены для регионов доставки | Нет | Да |
| Посчитать стоимость доставки СДЭК по адресу | Нет | Да |
| Принять оплату с разбивкой на части или подпиской | Частично (простой приём - да) | Да, если логика нестандартная |
| Отправить заявку сразу в CRM и Telegram менеджеру | Частично (базовая интеграция в Zero Block есть не у всех CRM) | Да |
Если задача похожа на то, что я делал раньше, часто быстрее не писать с нуля, а адаптировать готовое решение - у меня в библиотеке готовых скриптов для Тильды собраны рабочие заготовки под типовые сценарии, их дешевле доработать под конкретный сайт, чем создавать с нуля.
Расчёт доставки и интеграция с СДЭК
Типичный запрос интернет-магазина на Тильде: показать точную стоимость и сроки доставки СДЭК прямо в форме заказа, а не отправлять клиента считать её вручную на сайте перевозчика. Стандартная форма Тильды умеет только фиксированные тарифы по регионам - этого хватает, пока ассортимент однородный по весу и габаритам, и перестаёт хватать, как только в корзине смешиваются лёгкие и тяжёлые товары.
Решение - скрипт, который слушает выбор города в поле формы, дергает API СДЭК (расчёт по коду ПВЗ или адресу) и подставляет результат в скрытое поле, которое улетает вместе с заявкой в CRM. Вот упрощённый каркас такого запроса:
document.addEventListener('tilda-blocks-ready', function () {
var cityInput = document.querySelector('input[name="city"]');
cityInput.addEventListener('change', async function () {
const res = await fetch('/api/cdek-calc', {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({ city: cityInput.value, weight: getCartWeight() })
});
const data = await res.json();
document.querySelector('input[name="delivery_price"]').value = data.price;
document.querySelector('.delivery-result').textContent = data.price + ' ₽, ' + data.days + ' дн.';
});
});
Запрос к СДЭК я всегда проксирую через свой бэкенд, а не дергаю API напрямую из браузера - токен авторизации СДЭК не должен светиться в исходном коде страницы. На такую интеграцию с проксирующим сервером, кэшированием тарифов и подстановкой цены в письмо клиенту у меня уходит от 3 до 5 дней, стоимость такой доработки - от 40 000 ₽, потому что помимо фронтенд-скрипта нужен серверный обработчик и логирование ошибок API.
Приём платежей через Т‑Банк и кастомная логика оплаты
Встроенный модуль оплаты Тильды закрывает простой сценарий - одна кнопка, одна сумма, один товар. Но у меня регулярно приходят запросы посложнее: частичная предоплата с доплатой позже, разные способы оплаты в зависимости от суммы заказа, автоматическое выставление статуса «оплачено» в CRM по вебхуку от Т‑Банка, а не по ручной проверке менеджера.
Схема, которая у меня отработана: форма Тильды отправляет данные не напрямую в оплату, а на промежуточный обработчик, который создаёт платёж через Т‑Банк Эквайринг API, возвращает клиенту ссылку на оплату и параллельно создаёт сделку в CRM со статусом «Ждёт оплаты». Когда приходит вебхук об успешной оплате, обработчик меняет статус в CRM и уведомляет менеджера. Контактные данные клиента при этом хранятся в CRM на серверах в России, а не в сторонних облачных таблицах - это принципиально для персональных данных по 152-ФЗ, и я всегда закладываю это в архитектуру ещё на этапе обсуждения задачи.
Бесплатный материал
🎁 Полезный скрипт в подарок
Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.
Без спама. Отписка в 1 клик.
По срокам такая интеграция с эквайрингом и вебхуками занимает 5-7 дней в зависимости от того, сколько статусов сделки нужно синхронизировать. Простая доработка формы оплаты под один нестандартный сценарий (например, скрыть способ оплаты для сумм ниже порога) стоит от 3 000 ₽, полноценная интеграция с эквайрингом и CRM - от 40 000 ₽.
Калькуляторы и динамическая логика на лендинге
Калькулятор стоимости - самый частый запрос на кастомный функционал вообще, не только на Тильде. Клиенты просят его для строительных услуг (цена зависит от площади, материала, этажности), для страховых и юридических продуктов (цена зависит от набора опций), для образовательных курсов (цена зависит от формата и рассрочки).
Зеро-блок Тильды даёт готовый конструктор калькулятора, но у него жёсткие ограничения: линейная сумма выбранных опций без условной логики. Как только нужно правило «если выбран пакет Premium, скидка на второй месяц действует, только если оплата картой», штатный калькулятор перестаёт справляться, и я переписываю его логику на чистом JS поверх вёрстки блока - визуально ничего не меняется, но под капотом работает произвольная функция расчёта вместо суммирования чисел.
Отдельная категория - калькуляторы с сохранением результата в заявку: клиент считает стоимость, а при отправке формы в CRM вместе с контактами уходит расшифровка того, что именно он выбрал. Это экономит менеджеру звонок на уточнение деталей и в моей практике поднимает конверсию из заявки в оплату на 15-20% просто за счёт того, что менеджер перезванивает уже с конкретным предложением, а не с вопросом «а что вас интересует».
Стоимость калькулятора зависит от количества переменных и условий: простой (2-3 параметра, линейная формула) - от 3 000 ₽ как доработка существующего блока; калькулятор с ветвящейся логикой и сохранением в CRM - начинается от 15 000-20 000 ₽ и растёт вместе со сложностью условий.
Что обычно ломает типовой калькулятор
Чаще всего проблема не в логике расчёта, а в том, что верстальщик Тильды меняет структуру блока при следующей правке дизайна, и селекторы, на которые завязан скрипт, перестают находить нужные элементы. Поэтому я стараюсь вешать логику не на классы Тильды (они генерируются автоматически и могут поменяться), а на data-атрибуты, которые прописываю сам и которые не трогает редактор блоков.
Интеграция форм с CRM и Telegram через aiogram
Стандартная интеграция Тильды с CRM (amoCRM, Bitrix24) работает через готовые коннекторы и покрывает базовый сценарий: заявка с формы → сделка в воронке. Но как только нужна дополнительная логика - например, разные воронки в зависимости от выбранного товара, или моментальное уведомление менеджеру в Telegram с деталями заказа, а не просто «новая заявка» - готовый коннектор в сторону, и я пишу обработчик вебхука самостоятельно.
Схема простая: форма Тильды отправляет данные на вебхук (Тильда поддерживает это в настройках формы из коробки), обработчик раскладывает данные по нужным полям CRM и параллельно шлёт сообщение в Telegram-чат менеджера через бота на aiogram - с именем клиента, номером телефона и содержимым заявки одним сообщением, без необходимости открывать CRM, чтобы понять, что за заявка пришла. Отдельно к боту иногда добавляю команды для менеджера: посмотреть заявки за день, сменить статус сделки прямо из чата, не заходя в CRM с телефона.
Стоимость такого бота с интеграцией - от 30 000 ₽ за сам Telegram-бот, плюс от 3 000 ₽ за доработку формы на Тильде под нужный набор полей и вебхук. Если нужна более глубокая связка с несколькими CRM-полями и условной маршрутизацией заявок - это уже комплексная интеграция от 40 000 ₽.
Автоматизация обработки заявок в n8n
Когда заявок с Тильды становится много и в цепочке участвует не два сервиса (форма → CRM), а четыре-пять (форма → CRM → Telegram → расчёт доставки → бухгалтерская сверка), писать отдельный обработчик под каждую связку невыгодно - я собираю такие цепочки в n8n, self-hosted на своём сервере.
Типичный workflow, который я настраивал для интернет-магазина: вебхук с формы Тильды triggers сценарий → n8n проверяет заявку на дубли по номеру телефона → создаёт сделку в CRM → запрашивает расчёт доставки СДЭК → шлёт клиенту SMS или сообщение в Telegram-бота с подтверждением → пишет менеджеру в рабочий чат. Всё это без единой строчки кода на бэкенде - n8n собирает цепочку из нод визуально, а кастомный код нужен только в узких местах, где логика нестандартная (например, специфический формат данных для конкретной CRM).
Преимущество такого подхода перед набором отдельных скриптов - цепочку видно целиком на одном экране, и когда через полгода нужно добавить ещё один шаг (например, уведомление в WhatsApp), это правка одной ноды, а не поиск нужного файла в коде трёх разных интеграций. Настройка workflow в n8n под задачу - от 25 000 ₽, конкретная цена зависит от числа шагов и внешних сервисов, которые нужно связать.
Сколько стоит доработка Тильды под конкретную задачу
Цена индивидуального функционала на Тильде складывается не из объёма кода, а из числа внешних систем, с которыми он взаимодействует, и того, насколько критична отказоустойчивость (что происходит, если СДЭК или Т‑Банк на секунду недоступны - упадёт форма или тихо продолжит работать с фолбэком).
| Тип доработки | Стоимость | Срок |
|---|---|---|
| Простой скрипт (валидация поля, подстановка значения, мелкая логика) | от 3 000 ₽ | 1-2 дня |
| Калькулятор с условной логикой | от 15 000 ₽ | 3-5 дней |
| Интеграция с СДЭК или другой службой доставки | от 40 000 ₽ | 3-5 дней |
| Интеграция с эквайрингом Т‑Банк и CRM | от 40 000 ₽ | 5-7 дней |
| Telegram-бот для менеджеров (aiogram) | от 30 000 ₽ | 5-10 дней |
| Автоматизация цепочки заявок в n8n | от 25 000 ₽ | 3-7 дней |
На рынке частных разработчиков и в студиях за аналогичные доработки просят от 15 000 до 100 000 ₽ в зависимости от опыта и региона - разброс большой именно потому, что сложность задач под одинаковым названием «доработать форму» может отличаться на порядок. Я на этапе обсуждения задачи всегда прошу пример желаемого результата или конкурента с похожей функцией - это сразу снимает половину вопросов по цене.
Когда стандартных блоков не хватает
Кастомный скрипт
от 3 000 ₽
Подробнее →Частые вопросы
Можно ли добавить свой код в Тильду без разработчика?
Простые вещи вроде замены цвета или текста - да, через штатные настройки. Как только нужна логика (запрос к внешнему API, условные вычисления, вебхуки) - придётся либо разбираться в JavaScript и документации API конкретного сервиса самостоятельно, либо отдавать задачу разработчику. Готовые куски кода из открытых источников часто не подходят один в один - вёрстка блоков у каждого сайта отличается, и селекторы приходится подгонять вручную.
Сколько времени занимает индивидуальная доработка Тильды?
Простой скрипт - 1-2 дня. Интеграция с внешним сервисом (доставка, оплата, CRM) - от 3 до 7 дней, в основном время уходит не на написание кода, а на получение доступов и тестирование на реальных данных заказчика. Бот или связка из нескольких сервисов через n8n - до 10 дней.
Ломается ли кастомный скрипт при обновлении Тильды?
Платформа периодически меняет структуру блоков и классы CSS, поэтому скрипты, завязанные на автоматически генерируемые классы, со временем могут перестать находить нужные элементы. Я стараюсь писать код так, чтобы он опирался на свои data-атрибуты, а не на внутреннюю разметку Тильды - это снижает риск поломки при обновлении конструктора, но не убирает его полностью, если меняется сама структура блока.
Что дешевле - доработать Тильду или переехать на WordPress?
Если нужны один-два нестандартных сценария (калькулятор, интеграция с доставкой), доработка Тильды почти всегда дешевле и быстрее переезда - сайт на Тильде обходится от 30 000 ₽, а доработка под задачу добавляет к этому от 3 000 до 40 000 ₽. Переезд имеет смысл, когда индивидуального функционала становится больше, чем стандартных блоков: сайт на WordPress стоит от 60 000 ₽, и в него функционал закладывается архитектурно, а не навешивается поверх чужого конструктора.