Tilda · 6 мин чтения

Квиз на Тильде: логика ветвлений и передача ответов в CRM

Квиз на Тильде обычно вырастает из обычной формы: сначала одно поле “оставьте телефон”, потом хочется спросить у клиента что-то ещё, а потом эти вопросы начинают зависеть друг от друга. В итоге получается воронка из нескольких шагов, где каждый следующий вопрос подстраивается под предыдущий ответ, а в конце все данные должны попасть менеджеру в CRM, а не потеряться в почте. Разберу, как собрать логику ветвлений квиза на Тильде из штатных блоков, где эти настройки упираются в потолок и как настроить передачу ответов в CRM так, чтобы каждое поле дошло до нужного места.

Из каких блоков собирать квиз на Тильде

В библиотеке блоков Тильды квизы собирают из формы, разбитой на несколько шагов: на каждом экране один-два вопроса, кнопка “Далее” и полоска прогресса сверху. Технически это обычный блок формы, только с полями, сгруппированными по шагам, и Тильда сама переключает экраны при клике на кнопку, без перезагрузки страницы. Типы полей стандартные: один вариант ответа радиокнопкой, несколько вариантов чекбоксами, текстовое поле, число, телефон и почта на последнем шаге. Каждый шаг можно скрыть или показать в зависимости от ответа на предыдущий, об этом ниже.

Если готовых блоков с нужной вёрсткой мало, квиз можно собрать в Zero Block, блоке с ручной вёрсткой, куда добавляются свои поля и своя логика на JS. Это дольше, чем взять готовый блок формы, зато не привязывает дизайн квиза к шаблонам Тильды. Для большинства коммерческих квизов вроде “выберите услугу, получите расчёт” хватает обычного многошагового блока формы. Zero Block имеет смысл, когда в квизе нужна нестандартная анимация переходов или карточки с картинками вместо списка вариантов.

Логика ветвлений: как вопросы меняются от ответа

В настройках блока формы у каждого поля можно задать условие показа: выводить вопрос только если на предыдущем шаге выбран определённый вариант. Условия работают вложенно, то есть третий вопрос может зависеть от ответа на второй, а второй от первого, и цепочка веток строится без единой строчки кода.

Пример из практики. Квиз “подберём формат сайта” начинается с вопроса “что нужно сделать” с вариантами “сайт”, “бот”, “интеграция с CRM”. Если клиент выбрал “сайт”, следующий вопрос “на чём собрать: Тильда или WordPress” и дальше уточняющие вопросы про число страниц и наличие каталога. Если выбрал “бот”, квиз сразу спрашивает про площадку, Telegram или сайт, и нужна ли история переписки в базе. Веток три, вопросов на каждой ветке два-три, итоговый набор полей в заявке у разных клиентов получается разным, но каждое поле именованное и понятное менеджеру.

Когда встроенной логики не хватает

Условия вида “показать поле, если выбран такой ответ” закрывают большинство квизов. Сложнее, когда результат зависит не от одного предыдущего ответа, а от суммы баллов по всем вопросам сразу, например квиз-тест “какой тариф подходит” со шкалой баллов, где финальный экран определяется совокупностью пяти-шести ответов. Штатные условия по одному полю такую арифметику не считают, здесь нужен скрипт, который на лету подсчитывает баллы и решает, какой результат показать.

В таких случаях добавляю JS-код прямо в настройки блока, в Тильде есть поле для вставки кода на конкретный блок или на всю страницу, либо, если логики много и она завязана на несколько форм сразу, беру кастомную доработку Тильды: пишу отдельный скрипт, который читает ответы на предыдущих шагах, считает результат и подставляет нужный текст или скрытое поле перед отправкой формы.

Бесплатный материал

🎁 Полезный скрипт в подарок

Подпишитесь на Telegram - пришлю готовый скрипт по этой теме.

Без спама. Отписка в 1 клик.

Передача ответов квиза в CRM

В настройках формы на вкладке с получателями данных Тильда даёт выбрать, куда уходит заявка: на почту, в Telegram, в одну из встроенных интеграций вроде amoCRM или Bitrix24 или на произвольный адрес через Webhook. Для CRM из встроенного списка достаточно авторизовать аккаунт и сопоставить поля формы с полями сделки, дальше Тильда сама отправляет данные при каждой отправке квиза.

Важный момент, который часто упускают: у каждого поля в форме есть служебное имя, и именно по нему Тильда сопоставляет данные с полями CRM. Если два вопроса на разных ветках квиза называются одинаково, например оба поля “Комментарий”, в CRM может прийти путаница, кто на что отвечал. Веткам с разными вопросами нужны разные имена полей, даже если внешне это одна и та же надпись “Ваш комментарий”.

Отдельно передаю скрытые поля с UTM-метками: Тильда умеет подставлять в скрытое поле формы значение из параметра в адресной строке, например utm_source, и это поле уходит в CRM вместе с остальными ответами. Без этого маркетолог видит в CRM новую заявку, но не видит, с какой рекламной кампании пришёл клиент.

Webhook и своя интеграция, если нужной CRM нет в списке

Часть CRM, особенно нишевых или самописных, в стандартном списке интеграций Тильды отсутствует. Для них использую вебхук: Тильда отправляет POST-запрос с данными формы в формате JSON на указанный адрес при каждой отправке квиза. Дальше этот запрос принимает обработчик на хостинге, где уже лежит сайт: обычный PHP-скрипт разбирает JSON и кладёт данные в CRM через её API, отдельный сервер под это не нужен.

Если кроме CRM нужно параллельно кинуть уведомление в Telegram-чат менеджеру и поставить задачу в трекере, вместо нескольких обработчиков проще собрать цепочку в n8n, автоматизация в n8n стоит от 25 000 ₽: вебхук из Тильды приходит в n8n одним узлом, а дальше сценарий разводит данные по всем нужным системам без отдельного кода на каждую. Для типовой связки квиза с CRM, эквайрингом и расчётом доставки в проектах обычно закладываю комплексную интеграцию для Tilda от 40 000 ₽, потому что там кроме приёма заявок настраивается ещё и обмен статусами заказа обратно.

Проверка квиза перед запуском

Перед тем как пускать трафик на квиз, прохожу его несколько раз руками по каждой ветке, а не только по одной, “прямой” цепочке ответов. Часто ломается именно редкая ветка: например, если клиент выбрал “другое” на первом шаге, а под этот вариант не завели ни одного уточняющего вопроса, и заявка в CRM приходит почти пустой.

Дальше проверяю, что скрытые поля с UTM-метками действительно доходят до CRM, а не остаются пустыми, потому что часто ошибаются с именем GET-параметра. Для отладки вебхука удобно временно направить его на сервис, который показывает содержимое входящих запросов, например webhook.site, и свериться, что все поля из формы попали в JSON под правильными именами.

Отдельно смотрю на кнопку “Назад” в многошаговой форме: если пользователь вернулся и поменял ответ на первом шаге, логика показа последующих вопросов должна пересчитаться, а не оставить вопросы от прежней ветки. И проверяю защиту от задвоения заявок: двойной клик по кнопке “Отправить” на медленном мобильном интернете не должен создавать в CRM две одинаковые сделки.

Частые ошибки при настройке квиза на Тильде

  • Протестирован только один сценарий ответов, остальные ветки остаются непроверенными до жалоб от клиентов.
  • Скрытые поля с UTM-метками добавлены в форму, но не подключены к параметрам адресной строки, и в CRM приходят пустыми.
  • Одинаковые имена полей на разных ветках квиза, из-за чего в CRM данные с разных вопросов перезаписывают друг друга.
  • Нет обязательных полей на телефон или почту, и в CRM попадают заявки, с которыми невозможно связаться.
  • Слишком длинный квиз без возможности вернуться назад и поправить ответ, из-за чего пользователь закрывает вкладку.

Условия и возможности Тильды меняются, поэтому перед запуском я уточняю их у самого сервиса.

Частые вопросы

Можно ли сделать сложную логику квиза без программиста?

Простые ветвления, показать вопрос в зависимости от одного предыдущего ответа, настраиваются прямо в конструкторе без кода. Как только логика завязана на сумму баллов по нескольким вопросам или на комбинацию из трёх и более ответов, штатных условий не хватает и нужен скрипт, который считает результат на лету.

Как передать в CRM ответы вместе с UTM-метками?

В форму добавляется скрытое поле, в настройках которого указывается, что его значение берётся из GET-параметра адресной строки, например utm_source. Это поле помечается как обычное поле формы и уходит в CRM вместе с остальными ответами при каждой отправке.

Что делать, если нужной CRM нет в списке интеграций Тильды?

Используется вебхук: Тильда отправляет данные формы POST-запросом на указанный адрес. Дальше их принимает обработчик на хостинге сайта или сценарий в n8n, который уже кладёт заявку в нужную CRM через её API.

Квиз можно связать с расчётом доставки или скидки по промокоду?

Да, но это отдельная логика поверх самого квиза: расчёт стоимости доставки по зоне или проверка промокода настраиваются как самостоятельные доработки формы, а не как часть штатных условий показа вопросов.

Есть задача?

Обсудим в мессенджере

Расскажите, что нужно сделать — отвечу в течение 4 часов в рабочее время. Первая консультация бесплатно.

Продолжая пользование настоящим сайтом Вы выражаете своё согласие на обработку Ваших персональных данных (файлов куки) с использованием Yandex.Metrika.
Понятно