Как создать интерактивный тест в электронном письме

Автор: | 02.07.2026

На протяжении последних нескольких лет мы успешно использовали интерактивные электронные письма с живыми лентами Twitter и скрытыми «золотыми билетами» для продвижения Litmus Live. В 2017 году для Litmus Live мы добавили новый элемент — интерактивный тест прямо в письме. Чтобы «разблокировать» участие и выиграть «золотой билет», подписчикам нужно было правильно ответить на все пять вопросов теста.

Если вы пропустили это, вот само письмо:

Интерактивный тест полностью функционирует в Apple Mail, Outlook для Mac (2011 и 2016) и iOS Mail. Вот как выглядел интерактивный тест в этих почтовых клиентах:

Сообщество электронных писем обратилось к нам с просьбами рассказать, как мы создали это письмо. Вот пошаговое руководство по созданию собственного интерактивного теста в электронном письме.

## Тест

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

### Пошаговое руководство по созданию собственного теста

Мы подготовили упрощённый шаблон теста, чтобы вы могли следовать за нами и создать свой собственный интерактивный тест в письме:

#### 1. Настройка радиокнопок

В верхней части раздела с тестом размещена группа **радиокнопок**

«`

«`

Каждый элемент input определён как **type=»radio»**, чтобы они отображались как радиокнопки. Используйте одинаковый атрибут name — **name=»slide»** — для каждой радиокнопки, чтобы они были объединены в группу. Затем, чтобы каждую кнопку можно было нацелить, присвойте каждой уникальный id и отметьте первый «слайд» для отображения по умолчанию с помощью атрибута checked.

Также мы скроем радиокнопки по умолчанию с помощью следующего CSS:

«`

input {

display: none;

}

«`

#### 2. Связь слайдов с радиокнопками

Ниже радиокнопок разместите «слайды», которые будут связаны с ними.

«`

«`

**.slide1** соответствует радиокнопке с **id=»one»** и должен содержать контент для Вопроса №1, **.slide2** — id=»two» с Вопросом №2 и так далее. Цель — связать контент с радиокнопкой так, чтобы он отображался только при выборе этой радиокнопки. Для этого скрываем div-ы слайдов по умолчанию и отображаем их только при выборе соответствующей радиокнопки:

«`

/* СКРЫТЬ СЛАЙДЫ ПО УМОЛЧАНИЮ, ОТОБРАЖАТЬ ПРИ ВЫБОРЕ РАДИОКНОПКИ */

.slide1, .slide2, .slide3 {

display: none;

}

#one:checked ~* .slide1, #two:checked ~* .slide2, #three:checked ~* .slide3 {

display: block !important;

}

«`

Следующий шаг — создание HTML-структуры для вопроса.

#### 3. Создание HTML-структуры

Для создания вопроса с несколькими вариантами ответов, где правильный только один, мы используем ещё одну группу радиокнопок. Самый простой способ кодирования — это структура «label > input > контент, связанный с этим label», и продолжать вложение label до тех пор, пока не будут перечислены все вопросы.

HTML-структура для вопроса с тремя возможными ответами будет выглядеть так:

«`

Вставьте заголовок вопроса здесь

«`

Каждый input имеет одинаковое имя (name=»quiz»), чтобы они были объединены в группу, и **только один** мог быть выбран одновременно.

Давайте заполним это реальным контентом:

«`

Сколько будет 1 + 1?

A) 1

B) 2

C) 3

«`

В этом примере правильный ответ на вопрос «Сколько будет 1 + 1?» — B) 2. Мы назначим классы **.wrong** неправильным ответам и **.correct** правильному ответу, чтобы отображать сообщения об успехе или ошибке и стилизовать их.

#### 4. Определение сообщений об успехе и ошибке

Добавим сообщения об успехе и ошибке в HTML:

«`

Сколько будет 1 + 1?

A) 1
Попробуйте ещё раз!

B) 2
Правильно!

C) 3
Неправильно =(

«`

Здесь мы размещаем сообщения об успехе или ошибке непосредственно перед закрывающим тегом **** соответствующего ответа. Поскольку мы используем вложенность, это происходит в обратном порядке. Таким образом, первый закрывающий **** относится к ответу C, второй — к ответу B, а третий — к ответу A.

Скроем эти сообщения по умолчанию:

«`

.error, .success, .next {

display: none;

}

«`

И будем отображать их только при выборе соответствующей радиокнопки:

«`

.wrong:checked ~ .error {

display: inline-block !important;

}

.correct:checked ~ .success {

display: inline-block !important;

}

.correct:checked ~ .next {

display: inline-block !important;

}

«`

По сути, мы говорим, что когда игрок выбирает:

— Неправильный ответ, отмечается **.wrong радиокнопка** и отображается сообщение об ошибке

— Правильный ответ, отмечается **.correct радиокнопка** и отображается сообщение об успехе

Сообщение об успехе также содержит специальный **

«`

«`

Атрибут **for** очень полезен для интерактивности в письмах, так как позволяет связывать элементы с любым полем ввода, даже если они разделены в HTML.

В этом примере мы указываем **for=»two»**, что соответствует input с **id=»two»** — это наш второй «слайд» и вопрос в интерактивном тесте. Во втором слайде и втором вопросе теста **

Теперь у вас есть HTML-контент для вашего теста. Вы можете просто повторно использовать эту структуру для всех вопросов, изменяя статус правильности и сообщения по мере необходимости.

### Резервный вариант

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

Оно отображалось по умолчанию и скрывалось для клиентов WebKit, где тест был активен:

«`

@media screen and (-webkit-min-device-pixel-ratio: 0) {

/* Вставьте сюда CSS */

}

«`

С помощью Checklist было легко проверить, что резервный вариант работает во всех почтовых клиентах, которые не поддерживают интерактивность. Посмотрите, как письмо отображалось в разных почтовых клиентах с различной поддержкой интерактивности.

## Высокая социальная активность

Важно измерять успех любой email-кампании. Для нашего интерактивного теста мы использовали активность в Twitter как меру успеха кампании. Кампания собрала около 650 твитов с хэштегом #LitmusLive — огромный успех для нас!

.@litmusapp продолжает расширять границы email-рассылок. #LitmusLive https://t.co/hGytikwQPj? pic.twitter.com/nt5k7SfreI

— Seán Smyth (@Sean_Smyth) 14 марта 2017 г.

@litmusapp Я продолжаю возвращаться к этому письму и находить новые крутые элементы (например, стрелки в разделе с лентой Twitter). Это здорово! #litmuslive

— email snarketing (@EmailSnarketing) 14 марта 2017 г.

Привет @litmusapp, взаимодействие с сообществом — это ПОБЕДА! Узнал много нового, просто участвуя! Привет всем #emailgeeks! Надеюсь увидеть вас на #LitmusLive

— Elina Sosnovska (@eli_elinasos) 14 марта 2017 г.

ОБОЖАЮ формат теста в этом году, @litmusapp @kllewkow! #LitmusLive pic.twitter.com/Aioem5YNrB

— McKenzie Gregory (@kenziegreg) 14 марта 2017 г.

Люди! @litmusapp добавили тест в утреннее письмо #litmuslive. pic.twitter.com/0Jgh3P8tqs

— Michael J. Barber (@michaeljbarber) 14 марта 2017 г.

## Делитесь и заботьтесь

Теперь у вас есть всё необходимое, чтобы добавить интерактивный тест в следующее письмо, и мы не можем дождаться, чтобы увидеть, как вы его используете! Если вы хотите поделиться своей кампанией с интерактивным тестом, заходите в Сообщество. А если у вас есть вопросы — дайте нам знать, мы здесь, чтобы помочь.