- PVSM.RU - https://www.pvsm.ru -
Этот кейс появился не просто так. Мне давно хотелось поделиться тем, чем я занимаюсь, и в процессе решила ответить на вопрос, который нередко слышу "а что вообще такое реклама"?
Бытует мнение, что реклама — это просто видео или картинка, но это глубоко не так :)
В этой статье мы базисно обсудим, что такое реклама, как тестировать, разберём основы VAST 3.0 и его структуру. А ещё поделюсь также базовыми проверками VAST с использованием техник тест-дизайна, которые помогают сделать мой процесс эффективным, надёжным и быстрым.
Многообразие рекламных креативов:
Рекламные форматы в цифровом маркетинге бывают очень разными:
• Баннеры — статичные и анимированные.
• Видеообъявления — пре-, мид- и пост-роллы в паузе паузролл.
• Нативные — органично встроенные в контент и не раздражающие пользователей.
• Интерактивные — вовлекают пользователя через опросы, игры, динамические элементы.
• Мультиформатные и динамические — адаптируются под пользователя и устройство.
Если честно даже это еще не все : ) но глобально это основа базового потребление рекламного контента в дижитал среде.
VAST — это XML формат, который задаёт как видеореклама загружается, воспроизводится и отслеживается в плеерах. Поскольку моя работа связана с тестированием рекламы в среде стримингов, я решила начать именно с него.
VAST выступает в роли «универсального языка» между плеером (например, в веб-браузере, мобильном приложении или Smart TV) и рекламным сервером
Это некая основа, от которой зависит доставка и качество показа креатива.
Приведём пример из официального репозитория IAB [1]:
<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>
<Ad> — уникальное рекламное объявление с атрибутом id. Может иметь атрибут sequence, определяющий порядок воспроизведения, если в одном файле несколько объявлений.
<Impression> — URL, на который плеер отправляет запрос при показе рекламы. Этот адрес фиксирует факт начала показа — важно для точной аналитики.
<Error> — URL, куда плеер отправит запрос при ошибках (например, если видео не загрузилось). В URL обычно подставляется параметр с кодом ошибки [ERRORCODE].
<Linear> — описывает линейное видеообъявление (prerollmidrollpauseroll). Внутри задаются длительность, возможность пропуска рекламы (skipoffset) и другие параметры.
<TrackingEvents> — набор URL для трекинга ключевых событий просмотра: начало, первая четверть, середина, третья четверть, завершение, пропуск и закрытие.
<VideoClicks> — содержит данные о кликах по видео, в том числе URL перехода пользователя по <ClickThrough>
<MediaFiles> — список медиафайлов с указанием качества и формата (атрибуты: delivery, type, width, height, bitrate), который помогает плееру выбрать подходящий под устройство и скорость соединения.
<Extensions> — контейнер для расширений. Позволяет добавлять кастомные параметры и описание, не вошедшие в основной стандарт VAST. Используется для интеграции дополнительных функций, например, геотаргетинга или сторонней аналитики.
Пример расширения:
<Extensions>
<Extension type="customType">
<!-- Дополнительные пользовательские настройки -->
</Extension>
</Extensions>
Напомню, что техника проверяет поведение системы в ключевых пограничных моментах, где чаще всего возникают ошибки.
К примеру в VAST оно из это ключевые события видео:
Старт (0%)
25% (первый квартиль)
50% (медиана)
75% (третий квартиль)
100% (завершение)
Таблица примера:
|
Тест № |
Время (сек) |
Ожидаемое поведение трекера |
|---|---|---|
|
1 |
4.9 |
НЕ отправлять запрос |
|
2 |
5.0 |
Отправить запрос на 25% (firstQuartile) |
|
3 |
5.1 |
НЕ отправлять повторный запрос |
Так проверяется точность срабатывания трекера, избегая ложных позитивов и пропусков.
Эта техника разделяет диапазон значений на классы, внутри которых система ведёт себя одинаково. Проверяется по одному значению из каждого класса.
Пример для <skipoffset>
|
Класс |
Время (сек) |
Ожидаемое поведение кнопки пропуска |
|---|---|---|
|
До |
0-4.9 |
Кнопка скрыта |
|
Ровно |
5.0 |
Кнопка появляется |
|
После |
5.1 и далее |
Кнопка активна и кликабельна |
И так сокращается количество тестов, не теряя смысла проверки.
Обожаю эту технику ибо она позволяет покрыть все сочетания значений между парами параметров, что сокращает число тестов против полного перебора.
Пример для <MediaFile>:
|
Test # |
delivery |
type |
Ожидаемый результат |
|---|---|---|---|
|
1 |
progressive |
video/mp4 |
Видео корректно загружается и воспроизводится |
|
2 |
progressive |
video/webm |
Видео корректно загружается и воспроизводится |
|
3 |
streaming |
video/mp4 |
Видео корректно загружается и воспроизводится |
|
4 |
streaming |
video/3gpp |
Видео корректно загружается и воспроизводится |
Таким образом покрываются основные взаимодействия параметров с минимальным количеством тестов.
Креатив — это сложный и многогранный организм, где видеоролик — лишь одна из частей большой системы. Важна не только картинка на экране, но и трекинг, аналитика, корректное взаимодействие между плеером, рекламным сервером и пользователем. Ошибки в любой части этой цепочки могут стоить бизнесу прибыли и подпортить опыт пользователей.
Мир рекламы значительно глубже. Например, Wrapper — это когда реклама загружает другую рекламу : ) (редирект), что повышает гибкость, но усложняет тестирование. AdPods — это последовательность из нескольких объявлений в одном блоке, что позволяет лучше монетизировать показ.
Есть также и платформы, к примеру AdFox от Яндекса она связывает рекламодателей и площадки, поддерживая разные форматы и динамические кампании.
Так что мой кейс это лишь начало изучение большого мира рекламных технологий.)
Автор: Marrigun
Источник [2]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/testirovanie/429776
Ссылки в тексте:
[1] IAB: https://github.com/InteractiveAdvertisingBureau/VAST_Samples/blob/master/VAST%204.0%20Samples/SSAI_stitching_mezzanine_file_support-test.xml?ysclid=mf7bwu3mnv97746873
[2] Источник: https://habr.com/ru/articles/944534/?utm_campaign=944534&utm_source=habrahabr&utm_medium=rss
Нажмите здесь для печати.