Документация › Шорткоды и код
JavaScript-события
Квиз генерирует события на document. Данные — в event.detail: всегда quiz (ярлык или номер квиза) и root
(корневой элемент квиза), плюс поля конкретного события.
| Событие | Когда | Поля detail |
|---|---|---|
elder-quiz:start | Старт прохождения: кнопка стартового экрана или первый ответ | — |
elder-quiz:confirm | Ответ на вопрос принят | question, answers |
elder-quiz:next | Переход к следующему вопросу | question — куда перешли |
elder-quiz:prev | Возврат к предыдущему вопросу | question |
elder-quiz:progress | Изменился прогресс | percent |
elder-quiz:time_expired | Истёк общий таймер квиза | — |
elder-quiz:finish | Прохождение завершено (последний вопрос пройден) | — |
elder-quiz:show_contacts | Показана форма контактов | — |
elder-quiz:before_submit | Перед отправкой данных на сервер | formData, actions |
elder-quiz:submit_contacts | Форма контактов успешно отправлена — главная конверсия | — |
elder-quiz:show_results | Показан экран результата | — |
elder-quiz:resume_mail | Посетитель отправил себе ссылку «продолжить позже» на почту | remind — выбранная частота: day, week, month или none |
JavaScript
document.addEventListener( 'elder-quiz:submit_contacts', function ( e ) {
console.log( 'Заявка из квиза', e.detail.quiz );
} );Цели и пиксели
Все события, кроме confirm и before_submit, автоматически уходят целями в Яндекс.Метрику и в включённые пиксели и dataLayer
(настройка). В dataLayer событие приходит с полем elderQuiz: quiz, title и данные события.
JavaScript
// GTM: триггер «Пользовательское событие» с именем elder-quiz:submit_contacts
window.dataLayer = window.dataLayer || [];
// плагин сам выполнит: dataLayer.push({ event: 'elder-quiz:submit_contacts', elderQuiz: { quiz: '…', title: '…' } })Пример: своя цель в счётчике
JavaScript
document.addEventListener( 'elder-quiz:show_results', function ( e ) {
if ( typeof window.gtag === 'function' ) {
window.gtag( 'event', 'quiz_result', { quiz: e.detail.quiz } );
}
} );