Любой шаг в waterfall можно перевести в видео-формат: вы вставляете VAST-тег рекламной сети. Плеер выбирает поддерживаемый видеокреатив и передаёт события воспроизведения и взаимодействия. Для VPAID интерфейс и часть измерения обеспечивает SDK рекламной сети. Совместимость конкретного тега проверяется по фактическому показу и событиям сети. Отдельный видеоплеер интегрировать не нужно. Видео-движок подгружается отдельным модулем и только если видео-формат реально включён в блоке, поэтому страницы без видео ничего лишнего не загружают.
Эта страница — техническая спецификация нашего плеера. Её можно целиком отдать менеджеру рекламной сети или адопсу: здесь всё, что обычно спрашивают при заведении видеоразмещения.
🎞️ Какие креативы проигрываются
Когда в кабинете рекламной сети вы отмечаете поддерживаемые форматы креативов (MIME types), отмечайте только то, что плеер действительно умеет. Лишняя галочка означает, что на вас будут нацеливаться кампании, чей креатив у нас не проиграется: сеть засчитает ставку, а показа не будет.
| MIME | Поддержка | Комментарий |
|---|---|---|
video/mp4 | ✅ Да | Основной формат, максимальный охват браузеров |
video/webm | ✅ Да | Chrome, Firefox, Edge, Safari современных версий |
application/javascript | ✅ Да | Это VPAID. Поддерживается версия 2.x, версия 1.x — нет |
video/ogg | ⚠️ Не рекомендуется | Не играет в Safari; в рекламном инвентаре почти не встречается |
video/x-ms-wmv, video/quicktime, video/3gpp, video/3gpp2 | ❌ Нет | Ни один современный браузер не проигрывает их надёжно |
| HLS / DASH (манифесты) | ❌ Нет | Нужен прогрессивный файл, а не поток |
| Flash | ❌ Нет | Технология отключена во всех браузерах |
🔤 Макросы в VAST-теге
Рекламные сети просят передавать в теге домен площадки, адрес страницы и случайное число против кэширования. Чтобы не вписывать это руками для каждой площадки, поставьте макрос — плеер подставит значение в момент запроса.
https://ssp.example/vast?placement=12345&dl={DOMAIN}&cb={CACHEBUSTING}| Макрос | Что подставляется |
|---|---|
{DOMAIN} | Домен страницы, на которой показывается реклама |
{PAGE_URL} | Адрес страницы (без якоря #), закодированный |
{REFERRER} | Источник перехода на страницу, закодированный |
{CACHEBUSTING}, {CACHEBUSTER}, {RANDOM} | Случайное число — защита от кэширования ответа |
{TIMESTAMP} | Текущее время в формате ISO-8601 |
{WIDTH}, {HEIGHT} | Фактические размеры рекламного места в пикселях |
Разные сети записывают макросы по-разному, поэтому мы понимаем все четыре варианта записи — они равнозначны:
[DOMAIN] {DOMAIN} %%DOMAIN%% ${DOMAIN}{PID}, впишите туда значение из кабинета сети — как обычно.{DOMAIN} ставить нельзя — сеть получит чужой домен и отклонит запрос. Уточните это у менеджера сети.📐 Размер плеера: передавать в теге или зашивать
Размер можно передавать динамически — макросами {WIDTH} и {HEIGHT}. Плеер подставит фактические размеры рекламного места в момент запроса, в пикселях. Это лучше, чем зашивать числа в тег: sticky-блок на десктопе и на телефоне имеет разную ширину, и статичное значение будет врать сети на половине трафика — а от заявленного размера зависит, какие креативы на вас нацелятся и по какой ставке.
Зашить фиксированные значения в тег тоже можно (обычные параметры вроде &w=400&h=225) — тогда следите, чтобы они совпадали с реальным размером блока в админке.
Как ролик вписывается в блок. Плеер занимает всю доступную площадь блока и не искажает пропорции ролика. Если пропорции блока и ролика не совпадают, по краям появляются поля. Поэтому под видео блок лучше задавать в пропорции 16:9 — тогда типичный рекламный ролик заполнит его целиком, без полей: так выше заметность и кликабельность.
🧾 Один тег на все форматы или отдельный на каждый
Рекомендуем отдельный тег на каждый формат — sticky, in-read и interstitial это разный инвентарь. Причины практические:
- У форматов разные параметры размещения: размер, допустимая длительность, поведение при старте. Один тег = один набор заявленных параметров, и он не может быть верным сразу для всех.
- Раздельная статистика. По одному тегу сеть покажет общую цифру, и вы не увидите, какой формат приносит деньги, а какой пустует.
- Разные ставки и минимальные цены обычно настраиваются на уровне размещения — на общем теге их не разделить.
Технически один тег на несколько форматов работает: с макросами {WIDTH}, {HEIGHT} и {DOMAIN} плеер сам передаст фактические параметры. Если нужно быстро стартовать — начните с одного тега на sticky, а разделите позже, когда появится статистика и станет что оптимизировать.
📋 Что отвечать при заведении размещения
Готовые ответы на анкету рекламной сети для sticky-плеера. Значения из этой таблицы должны совпадать с настройками блока в админке — иначе сеть будет присылать креативы, которые плеер отклонит.
| Вопрос анкеты | Наш ответ |
|---|---|
| MIME types | video/mp4, video/webm, application/javascript |
| Длительность ролика (min / max) | Укажите согласованный с сетью диапазон. Максимум должен соответствовать полю «Max Duration» у шага; 0 означает отсутствие ограничения со стороны плеера. |
| Размер плеера | Фактический размер блока; для видео рекомендуем 16:9 (например 400×225) |
| Start delay | 0 — реклама показывается сама по себе, а не внутри вашего видео |
| Linearity | Linear. Non-linear (баннер поверх видео) не поддерживается |
| Skip | По умолчанию non-skippable — кнопки пропуска нет. Пропуск поддерживается: если у видео-шага задать «Skip Offset» (в секундах), кнопка «Пропустить» появится через это время. Объявляйте сети skippable только после того, как выставили Skip Offset в блоке |
| Playback method | Auto play, sound off — ролик стартует без звука, звук включает зритель |
| Delivery | Progressive |
| API frameworks | VPAID 2.0 (VPAID 1.0, MRAID и ORMMA не поддерживаются) |
⚙️ Что важно знать о поведении плеера
- Ролик стартует без звука — этого требуют браузеры для автозапуска. Звук зритель включает кнопкой на плеере.
- Если в ответе несколько роликов подряд (ad pod), плеер покажет первый.
- Цепочки перенаправлений (VAST wrapper) поддерживаются до трёх уровней — обычного пути «сеть → партнёр → креатив» хватает с запасом.
- Ожидание завершения ролика настраивается отдельно: на вкладке «Основные» есть флажок «Не прерывать видео при ротации (ждать завершения ролика)». По умолчанию он выключен. Согласуйте эту настройку и ограничение длительности с менеджером или задайте их при самостоятельном управлении блоком.
- Если сеть не ответила или креатив не проигрался, плеер не оставляет пустое место, а переходит к следующему шагу waterfall.
Кнопка «Пропустить» не выполняет рекламный переход. После завершения или пропуска она исчезает; пока плеер готовит замену, может сохраняться последний кадр или экран завершения креатива. Кнопка перехода остаётся доступной, пока этот показ активен. Встроенные элементы VPAID могут отличаться у разных рекламных систем.
🎬 Требования к креативу
- Формат файла — MP4 (H.264) или WebM; для VPAID — версия 2.x.
- Если «Max Duration» больше нуля, Linear-ролик с указанной длительностью выше лимита не запускается. Если VPAID сообщает длительность выше лимита, плеер по истечении этого времени отправляет команду остановки рекламному SDK. Значение 0 отключает этот лимит. Согласуйте длительность креатива с сетью заранее.
- Подберите пропорции креатива под размер размещения. Проверьте, как ролик отображается на компьютере и телефоне: результат зависит от настроек вписывания видео и самого креатива.
- Сообщение не должно зависеть от звука: большинство зрителей увидит ролик беззвучным.