Этот кейс появился не просто так. Мне давно хотелось поделиться тем, чем я занимаюсь, и в процессе решила ответить на вопрос, который нередко слышу "а что вообще такое реклама"?
Бытует мнение, что реклама — это просто видео или картинка, но это глубоко не так :)
В этой статье мы базисно обсудим, что такое реклама, как тестировать, разберём основы VAST 3.0 и его структуру. А ещё поделюсь также базовыми проверками VAST с использованием техник тест-дизайна, которые помогают сделать мой процесс эффективным, надёжным и быстрым.
Многообразие рекламных креативов:
Рекламные форматы в цифровом маркетинге бывают очень разными:
Баннеры — статичные и анимированные.
Видеообъявления — пре‑, мид‑ и в паузе паузролл.
Нативные — органично встроенные в контент и не раздражающие пользователей.
Интерактивные — вовлекают пользователя через опросы, игры, динамические элементы.
Мультиформатные и динамические — адаптируются под пользователя и устройство.
Если честно даже это еще не все : ) но глобально это основа базового потребление рекламного контента в дижитал среде.
Что такое VAST 3.0?
VAST — это XML формат, который задаёт как видеореклама загружается, воспроизводится и отслеживается в плеерах. Поскольку моя работа связана с тестированием рекламы в среде стримингов, я решила начать именно с него.
VAST выступает в роли «универсального языка» между плеером (например, в веб-браузере, мобильном приложении или Smart TV) и рекламным сервером
Это некая основа, от которой зависит доставка и качество показа креатива.
Приведём пример из официального репозитория IAB:
<VAST version="3.0">
<Ad id="112233" sequence="1">
<InLine>
<AdSystem>ExampleAdServer</AdSystem>
<AdTitle>Test Pre-roll Video Ad</AdTitle>
<Impression><![CDATA[https://tracker.example.com/impression]]></Impression>
<Error><![CDATA[https://tracker.example.com/error?code=[ERRORCODE]]]></Error>
<Creatives>
<Creative sequence="1" id="creative-1">
<Linear skipoffset="00:00:05">
<Duration>00:00:20</Duration>
<TrackingEvents>
<Tracking event="start"><![CDATA[https://tracker.example.com/start]]></Tracking>
<Tracking event="firstQuartile"><![CDATA[https://tracker.example.com/firstQuartile]]></Tracking>
<Tracking event="midpoint"><![CDATA[https://tracker.example.com/midpoint]]></Tracking>
<Tracking event="thirdQuartile"><![CDATA[https://tracker.example.com/thirdQuartile]]></Tracking>
<Tracking event="complete"><![CDATA[https://tracker.example.com/complete]]></Tracking>
<Tracking event="skip"><![CDATA[https://tracker.example.com/skip]]></Tracking>
<Tracking event="close"><![CDATA[https://tracker.example.com/close]]></Tracking>
</TrackingEvents>
<VideoClicks>
<ClickThrough><![CDATA[https://advertiser.example.com/landing]]></ClickThrough>
</VideoClicks>
<MediaFiles>
<MediaFile delivery="progressive" type="video/mp4" width="640" height="360" bitrate="800">
<![CDATA[https://cdn.example.com/videos/ad.mp4]]>
</MediaFile>
</MediaFiles>
</Linear>
</Creative>
</Creatives>
</InLine>
</Ad>
</VAST>
Основные компоненты VAST 3.0 и их роль
<Ad> — уникальное рекламное объявление с атрибутом
id
. Может иметь атрибутsequence
, определяющий порядок воспроизведения, если в одном файле несколько объявлений.<Impression> — URL, на который плеер отправляет запрос при показе рекламы. Этот адрес фиксирует факт начала показа — важно для точной аналитики.
<Error> — URL, куда плеер отправит запрос при ошибках (например, если видео не загрузилось). В URL обычно подставляется параметр с кодом ошибки
[ERRORCODE]
.<Linear> — описывает линейное видеообъявление (preroll\midroll\pauseroll). Внутри задаются длительность, возможность пропуска рекламы (
skipoffset
) и другие параметры.<TrackingEvents> — набор URL для трекинга ключевых событий просмотра: начало, первая четверть, середина, третья четверть, завершение, пропуск и закрытие.
<VideoClicks> — содержит данные о кликах по видео, в том числе URL перехода пользователя по <ClickThrough>
<MediaFiles> — список медиафайлов с указанием качества и формата (атрибуты:
delivery
,type
,width
,height
,bitrate
), который помогает плееру выбрать подходящий под устройство и скорость соединения.<Extensions> — контейнер для расширений. Позволяет добавлять кастомные параметры и описание, не вошедшие в основной стандарт VAST. Используется для интеграции дополнительных функций, например, сторонней аналитики или вывода erid, кнопок пропуска креатива и тд.
Пример расширения:
<Extensions>
<Extension type="customType">
<!-- Дополнительные пользовательские настройки -->
</Extension>
</Extensions>
Использование техник тест-дизайна при тестировании креативов
1. Анализ граничных значений
Техника позволяет проверить поведение системы в ключевых значениях на границе, где чаще всего возникают ошибки.
К примеру в VAST возьмем трекинг событий в видео:
Старт (0%)
25% (первый квартиль)
50% (медиана)
75% (третий квартиль)
100% (завершение)
Таблица примера:
Тест № | Время (сек) | Ожидаемое поведение трекера |
---|---|---|
1 | 4.9 | НЕ отправлять запрос |
2 | 5.0 | Отправить запрос на 25% (firstQuartile) |
3 | 5.1 | НЕ отправлять повторный запрос |
Так проверяется точность срабатывания трекера, избегая ложных позитивов и пропусков.
2. Эквивалентное разбиение
Эта техника разделяет диапазон значений на классы, внутри которых система ведёт себя одинаково. Проверяется по одному значению из каждого класса.
Пример для <skipoffset>
Класс | Время (сек) | Ожидаемое поведение кнопки пропуска |
---|---|---|
До | 0-4.9 | Кнопка скрыта |
Ровно | 5.0 | Кнопка появляется |
После | 5.1 и далее | Кнопка активна и кликабельна |
И так сокращается количество тестов, не теряя смысла проверки.
3. Попарное тестирование
Обожаю эту технику ибо она позволяет покрыть все сочетания значений между парами параметров, что сокращает число тестов против полного перебора.
Пример для <MediaFile>:
Test # | delivery | type | Ожидаемый результат |
---|---|---|---|
1 | progressive | video/mp4 | Видео корректно загружается и воспроизводится |
2 | progressive | video/webm | Видео корректно загружается и воспроизводится |
3 | streaming | video/mp4 | Видео корректно загружается и воспроизводится |
4 | streaming | video/3gpp | Видео корректно загружается и воспроизводится |
Таким образом покрываются основные взаимодействия параметров с минимальным количеством тестов.
Вывод: реклама — это не просто mp4, а целая экосистема
Креатив — это сложный и многогранный организм, где видеоролик — лишь одна из частей большой системы. Важна не только картинка на экране, но и трекинг, аналитика, корректное взаимодействие между плеером, рекламным сервером и пользователем. Ошибки в любой части этой цепочки могут стоить бизнесу прибыли и подпортить опыт пользователей.
Мир рекламы значительно глубже. Например, Wrapper — это когда реклама загружает другую рекламу :) (редирект), что повышает гибкость, но усложняет тестирование. AdPods — это последовательность из нескольких объявлений в одном блоке, что позволяет лучше монетизировать показ.
Есть также и платформы, к примеру AdFox от Яндекса она связывает рекламодателей и площадки, поддерживая разные форматы и динамические кампании.
Так что мой кейс это лишь начало изучение большого мира рекламных технологий.)