Квиз не отображается
Частая причина: скрипт вставлен вручную, но отсутствует контейнерный div. Проверьте, что перед скриптом есть элемент с указанным id или классом. Убедитесь, что скрипт не заблокирован CSP-политикой сервера.
Пошаговый гайд 2026
Реальная инструкция на 2026 год: три рабочих способа встроить квиз (JavaScript, iframe, API). Готовые коды, настройки для Tilda, WordPress и самописных сайтов, чек-лист проверки и разбор типичных ошибок.
Введение
Квиз на сайте решает задачу, с которой обычная форма справляется плохо: он вовлекает посетителя в диалог и постепенно собирает информацию о потребностях, бюджете и сроках. Вместо одного поля "Оставьте телефон" человек отвечает на 5-8 простых вопросов, привыкает к интерактиву и оставляет контакт в конце, уже прогрессируя через экраны.
По данным Formo4ka, сайты с квизом получают в 2-5 раз больше заявок по сравнению со стандартными лид-формами. Это связано с тем, что квиз снижает порог входа: человеку проще нажать кнопку "Далее", чем заполнить форму с пятью полями. При этом квиз собирает больше данных для квалификации лида: тип услуги, бюджет, сроки, регион, опыт работы с конкурентами.
Способы
Выбор способа зависит от вашей платформы, уровня доступа к коду и задачи интеграции. Ниже — подробное сравнение каждого варианта с готовыми примерами кода.
Вариант 1
JavaScript-вставка подходит для любого сайта: статического, на конструкторе, на CMS, на кастомном фреймворке. Скрипт загружается асинхронно и рендерит квиз внутри указанного контейнера. Вы получаете полный контроль над расположением, размерами и стилями квиза.
Этот способ рекомендуется, если вам важно встроить квиз как часть дизайна страницы, а не как отдельный блок. JavaScript-квиз наследует шрифты и размеры родительского контейнера, а вы можете переопределить любой стиль через CSS-переменные.
Скопируйте этот код и вставьте в нужное место HTML-страницы. Квиз загрузится в контейнере с id="formo4ka-quiz":
<!-- Контейнер для квиза -->
<div id="formo4ka-quiz" style="max-width: 640px; margin: 0 auto;"></div>
<!-- Скрипт Formo4ka -->
<script
src="https://formo4ka.ru/embed/quiz.js"
data-quiz-id="ВАШ_ID_КВИЗА"
data-container="#formo4ka-quiz"
data-theme="light"
async
></script>
Замените ВАШ_ID_КВИЗА на идентификатор вашего квиза из панели управления Formo4ka. ID находится в настройках квиза на вкладке "Публикация".
После вставки кода можно настроить внешний вид квиза через CSS-переменные. Это полезно, если нужно адаптировать квиз под дизайн вашего сайта:
<style>
#formo4ka-quiz {
--quiz-primary: #8843D2;
--quiz-bg: #ffffff;
--quiz-text: #180E14;
--quiz-radius: 16px;
--quiz-font: inherit;
}
</style>
CSS-переменные применяются к контейнеру квиза и не затрагивают стили основного сайта. Переопределяйте только те переменные, которые хотите изменить.
Вариант 2
iframe-вставка — самый быстрый способ. Квиз работает в изолированном фрейме и не влияет на стили, скрипты или производительность основного сайта. Подходит для Tilda, WordPress, Bitrix, Wix и любых других платформ с поддержкой HTML-блоков.
Минус iframe: стили квиза ограничены настройками из панели управления Formo4ka. Вы не сможете переопределить шрифты или цвета через CSS родительской страницы. Для большинства случаев этого достаточно.
<iframe
src="https://formo4ka.ru/embed/quiz/ВАШ_ID_КВИЗА"
width="100%"
height="700"
frameborder="0"
allowfullscreen
style="border: none; border-radius: 16px;"
></iframe>
Атрибут height="700" задаёт начальную высоту. Для автоадаптации по высоте используйте JavaScript-модуль Formo4ka, который автоматически подстраивает iframe под содержимое.
<script src="https://formo4ka.ru/embed/autoheight.js" async></script>
Вариант 3
REST API Formo4ka позволяет программно создавать квизы, получать ответы респондентов, управлять настройками и интегрироваться с внешними системами. Этот способ подходит, если вы строите кастомное приложение, хотите автоматически обрабатывать ответы или интегрировать квиз с CRM без ручных действий.
API доступен на всех тарифах Formo4ka. Базовый тариф даёт 1000 запросов в месяц, профессиональный — без ограничений. Авторизация происходит через API-ключ, который генерируется в настройках аккаунта.
curl -X GET "https://api.formo4ka.ru/v1/quizzes/ID_КВИЗА/responses" \
-H "Authorization: Bearer ВАШ_API_КЛЮЧ" \
-H "Content-Type: application/json"
{
"quiz_id": "abc123",
"respondent": {
"name": "Алексей",
"phone": "+79001234567",
"email": "alexey@example.com"
},
"answers": [
{ "question": "Какой бюджет?", "answer": "от 100 000 руб." },
{ "question": "Сроки?", "answer": "до 2 недель" },
{ "question": "Регион?", "answer": "Москва" }
],
"score": 85,
"completed_at": "2026-06-11T09:00:00Z"
}
Webhook отправляется на указанный URL каждый раз, когда респондент завершает квиз. Формат — JSON. Вы можете обрабатывать данные в н8n, Make, Zapier или собственном бэкенде.
Сравнение
| Критерий | JavaScript | iframe | API |
|---|---|---|---|
| Скорость встраивания | 10-15 мин | 5-10 мин | 30-60 мин |
| Контроль над стилями | Полный | Ограничен | Полный |
| Изоляция от сайта | Частичная | Полная | Зависит от реализации |
| Поддержка платформ | Любые | Любые | Любые |
| Интеграция с CRM | Через webhook | Через webhook | Прямая |
| Влияние на SEO | Нет | Нет | Нет |
| Кому подходит | Дизайнерам, фронтендерам | Маркетологам, без кода | Разработчикам |
Tilda
Tilda поддерживает встраивание квиза через HTML-блок (T123) или через блок "Вставка кода". Оба способа работают стабильно и не требуют подключения сторонних плагинов. Ниже — пошаговая инструкция для каждого варианта.
Войдите в панель управления Formo4ka, создайте новый квиз или откройте существующий. На вкладке "Публикация" скопируйте ID квиза и ссылку на iframe.
В редакторе Tilda добавьте блок "Вставка кода" (T123) в нужное место страницы. Вставьте код iframe:
<iframe
src="https://formo4ka.ru/embed/quiz/ВАШ_ID_КВИЗА"
width="100%"
height="700"
frameborder="0"
style="border: none;"
></iframe>
В настройках блока T123 укажите максимальную ширину 640px и центрирование. Это сделает квиз компактным и удобным для чтения. Добавьте отступы сверху и снизу через настройки блока.
Нажмите "Опубликовать" и проверьте квиз на опубликованной странице. Откройте страницу в режиме превью, пройдите квиз от начала до конца, убедитесь, что кнопки работают и данные отправляются.
WordPress
WordPress поддерживает встраивание квиза через блок редактора Gutenberg, через виджет или через PHP-шаблон. Выбор способа зависит от темы и уровня доступа к файлам сайта.
Скопируйте ID квиза и ссылку на iframe из панели управления Formo4ka.
В редакторе Gutenberg добавьте блок "Custom HTML" в нужное место страницы. Вставьте код iframe:
<div style="max-width: 640px; margin: 2rem auto;">
<iframe
src="https://formo4ka.ru/embed/quiz/ВАШ_ID_КВИЗА"
width="100%"
height="700"
frameborder="0"
style="border: none; border-radius: 16px;"
></iframe>
</div>
Если вы работаете с темой WordPress и хотите встроить квиз в шаблон, добавьте код в файл шаблона:
<?php
// Вставьте в файл шаблона (например, page.php или single.php)
?>
<div class="quiz-container" style="max-width: 640px; margin: 2rem auto;">
<iframe
src="https://formo4ka.ru/embed/quiz/<?php echo esc_attr( get_theme_mod( 'formo4ka_quiz_id' ) ); ?>"
width="100%"
height="700"
frameborder="0"
style="border: none; border-radius: 16px;"
></iframe>
</div>
Откройте страницу на сайте и убедитесь, что квиз загружается. Проверьте мобильную версию: высота iframe должна адаптироваться под экран телефона. При необходимости добавьте CSS для адаптации.
Самописные сайты
Если ваш сайт создан на кастомном фреймворке или статической разметке, встраивание квиза выполняется через JavaScript или iframe. Этот вариант даёт максимум контроля и подходит для сложных интеграций.
Для большинства случаев оптимальна JavaScript-вставка. Она позволяет встроить квиз как часть дизайна страницы, переопределить стили и управлять поведением через события. Если важна изоляция — используйте iframe.
Откройте файл шаблона или компонента, где должен появиться квиз. Вставьте JavaScript-код перед закрывающим тегом body или в конец контейнера:
<!-- В шаблоне страницы -->
<section class="quiz-section">
<div id="formo4ka-quiz" style="max-width: 640px; margin: 0 auto;"></div>
</section>
<script
src="https://formo4ka.ru/embed/quiz.js"
data-quiz-id="ВАШ_ID_КВИЗА"
data-container="#formo4ka-quiz"
data-theme="light"
async
></script>
Добавьте стили для контейнера квиза в ваш CSS-файл. Это позволит адаптировать квиз под дизайн сайта:
.quiz-section {
padding: 3rem 1rem;
background: #f7f2ff;
border-radius: 24px;
}
#formo4ka-quiz {
--quiz-primary: #8843D2;
--quiz-radius: 16px;
}
Откройте страницу в браузере, пройдите квиз, проверьте отправку данных. Откройте консоль разработчика (F12) и убедитесь, что нет ошибок. Проверьте работу на мобильных устройствах и в разных браузерах.
Если нужно автоматически передавать данные из квиза в CRM, настройте webhook в панели управления Formo4ka. Укажите URL вашего сервера, и Formo4ka будет отправлять данные о каждом завершённом квизе.
Пример из практики
Алексей — владелец студии дизайна интерьеров "ProStudio" в Казани. До встраивания квиза сайт получал 15-20 заявок в месяц через стандартную форму "Оставьте заявку на консультацию". Конверсия из посетителя в заявку составляла 1.2%.
Алексей создал квиз из 6 вопросов: тип помещения, площадь, стиль, бюджет, сроки, контакт. Встроил квиз через iframe на главную страницу вместо стандартной формы. Настройка заняла 12 минут.
Через месяц после запуска квиза заявок стало 47 в месяц. Конверсия выросла до 3.8%. Средний чек заявок из квиза оказался выше: клиенты, которые ответили на вопросы о бюджете, были более готовы к сотрудничеству. Менеджерам стало проще обрабатывать заявки, потому что квиз сразу давал информацию о потребностях клиента.
Чек-лист
После встраивания квиза на сайт пройдите этот чек-лист перед запуском. Каждый пункт занимает 1-2 минуты, но экономит часы на исправление ошибок.
Ошибки
Частая причина: скрипт вставлен вручную, но отсутствует контейнерный div. Проверьте, что перед скриптом есть элемент с указанным id или классом. Убедитесь, что скрипт не заблокирован CSP-политикой сервера.
Если квиз наложен на другие элементы, проверьте position и z-index контейнера. Для iframe добавьте border: none и убедитесь, что высота задана корректно.
Проверьте URL webhook в настройках Formo4ka. Убедитесь, что сервер принимает POST-запросы с Content-Type: application/json. Проверьте логи сервера на ошибки 4xx или 5xx.
Если квиз загружается дольше 3 секунд, проверьте скорость интернет-соединения сервера. При iframe-вставке добавьте атрибут loading="lazy" для отложенной загрузки.
Проверьте, что контейнер квиза не имеет фиксированной ширины. Используйте max-width вместо width. Убедитесь, что высота iframe адаптируется под экран.
Если стили сайта влияют на квиз, добавьте уникальный префикс к контейнеру квиза и оберните стили в namespace. При iframe-вставке конфликтов со стилями быть не может.
Следующий шаг
Опишите задачу квиза обычными словами, а ИИ предложит вопросы, структуру и дизайн. Готовый квиз можно сразу встроить на сайт через JavaScript, iframe или API.
FAQ
Если вы используете iframe или JavaScript-вставку, процесс занимает 10-15 минут. Нужно скопировать готовый код из панели управления Formo4ka и вставить его в нужное место страницы. Для Tilda или WordPress это делается через встроенные блоки без ручной работы с кодом.
JavaScript-вставка подходит для любых сайтов и даёт максимум контроля над внешним видом. iframe проще в реализации и безопаснее, но ограничивает стилизацию. API нужен для интеграции с CRM, автоматической обработки ответов или кастомных сценариев. Для большинства случаев оптимальна комбинация JavaScript + кастомные стили.
Квиз подгружается асинхронно и не блокирует рендеринг основной страницы. При iframe-вставке загрузка квиза не влияет на скорость страницы вообще. При JavaScript-вставке скрипт загружается после основного контента. Оптимальный размер страницы с квизом не должен превышать 3 МБ для комфортной работы на мобильных устройствах.
Да. В Formo4ka можно задать цвет фона, цвет кнопок, шрифт, скругления углов и размер шрифта. При JavaScript-вставке доступны дополнительные CSS-переменные для точной настройки. При iframe-вставке стили ограничены настройками из панели управления.
Formo4ka поддерживает интеграцию с CRM через API, webhook и n8n. Можно настроить автоматическую передачу ответов, контактов и результатов квиза в amoCRM, Bitrix24, HubSpot или другую CRM. Для простых сценариев подходит webhook с JSON-пейлоадом.
Да. Квиз работает в изолированном контексте и не имеет доступа к данным вашего сайта. Все данные респондентов хранятся на серверах Formo4ka и зашифрованы. При iframe-вставке изоляция максимальна. При JavaScript-вставке скрипт не модифицирует DOM-структуру страницы за пределами контейнера квиза.
Проверьте, что код вставлен в правильное место, контейнер для квиза имеет достаточную высоту (минимум 400px), скрипт не блокируется расширениями браузера или CSP-политикой сервера. Откройте консоль разработчика (F12) и посмотрите ошибки. Частая причина — отсутствие тега container div перед скриптом.