Постоянно работая с несколькими рекламными связками в Header Bidding, привыкаешь к этому многообразию. И без разницы, как настроен рекламный стек — на Google Ad Manager (Prebid.js) или Yandex Adfox — везде условия похожие. Но когда рекламный инвентарь ограничен, нужно искать другие способы увеличение дохода и деманда.
Недавно, у меня возникла ситуация — клиентский сайт, AMP трафик — нужно увеличить доход. На страницах стоят тэги РСЯ+Google через Динамическую монетизацию, несколько блоков InPage-видео и стандартный sticky-баннер. Одним из желаний было увеличить деманд, без увеличения количества рекламного инвентаря.
Начав копать в сторону AMP Header Bidding — я понял, что вариант с Prebid.js не подойдёт, так как требуется Prebid Server, да и не все вендоры его поддерживают. Я нашёл довольно интересную альтернативу Header Bidding от команды AMP — Real Time Config.
- Что такое Real Time Config
- Настройка Real Time Config в Google Ad Manager
- Создание key-values
- Создание Order и Line Items
- Создание креативов
- Дублирование Line Items
- Сборка кода и интеграция
- Где применяется RTC. Примеры интеграции
- Рунет
- ixbt.com
- NTV.ru
- Cosmo.ru
- Зарубежные издания
- Metro.co.uk
- Reuters.com
- NYtimes
- Кейсы использования связки Adx+RTC на AMP страницах
- Сайт №1
- Сайт №2
- Сайт №3
- Выводы
Что такое Real Time Config
Real Time Config (RTC) — технология, основанная на методе Fast Fetch, который позволяет не только быстрее загружать и показывать рекламные объявления на AMP страницах, но и делать это для разных монетизаторов.
Полистав заграничный интернет, нашёл статью, где рассказывается о 6-кратном увеличение дохода, после внедрения RTC.
Отличные результаты, правда? Вот и меня они очень удивили, поэтому я начал сильнее погружаться в тему.
Актуальный список монетизаторов, которые поддерживают Real Time Config:
- APS (Amazon Publishing Service)
- Automatad
- Criteo
- FLUX
- IndexExchange
- Lotame
- Media.net
- PubMatic OpenWrap
- Rubicon
- Salesforce
- Yieldbot
- Kargo
- Xandr (бывший Appnexus)
- Yieldlab
Из этого списка, мне знакомо 7-8 названий и только с одними Criteo я работаю. Решив не останавливаться на полпути, начал изучать интеграцию.
Настройка Real Time Config в Google Ad Manager
Гугловская инструкция по настройке RTC, не более чем стена текста на Гитхабе.
Благо, у Criteo тоже есть инструкция по настройке RTС — она более подробная и с картинками, хотя бы.
Так как не все умеют в английский язык, а я уже хоть что-то сделал, решил набросать простую инструкцию, для тех авантюристов, кто тоже хочет попробовать. Пример настройки выполнен для монетизатора Criteo, для других вендоров запрашивайте у них инструкции.
Инструкцию спрячу под спойлер, так как она довольно объёмная. Для тех, кому нужны примеры и кейсы — листайте дальше!
Создание key-values
Создайте значение Key-values
Назовите его crt_amp_rtc_pb
Задайте key values по кнопке «New value»
По этим значениям будет ходить Ad Manager, в случае, если Google не выкупил рекламу.
Обязательно! Указывайте значения в десятичном формате “1.00, 2.00 … 100.00” иначе таргетинг не будет работать.
Создание Order и Line Items
Переходим во вкладку Delivery — Orders и создаём новую Рекламную кампанию
Задайте название кампании и имя рекламодателя (в моём случае Criteo).
Далее, создаём Line Item
Выбираем тип рекламы Display
В настройках Line Item выбираем следующие настройки:
Name — cdb_1.00
Line item type — Price priority (12)
Expected creatives — размеры креатива, которые считаете нужными, я выберу 300×250 и 336×280
Настройки Delivery settings:
Start time — Immediately
End time — Unlimited
Limit — None
Rate — 1.00 $, 1 рубль, 1 евро, всё зависит от валюты вашего аккаунта GAM. Я делаю всё на рублёвом аккаунте (не забываем про десятичный формат)
Display Creatives — One or More
Rotate Creatives — Optimized
Inventory — Нужно добавить Ad Unit, который будет использоваться, в моём случае это Ad-ops.ru, в нём лежат все блоки сайта
Custom targeting — таргетирование на key-values, которое создавали в начале — ставим значение для нашего набора — 1.00
Создание креативов
Сохраняем Line Item и переходим во вкладку Creatives
В настройках мы указали 2 набора креативов, нужно создать креатив под каждый размер — 300×250 и 336×280
Нажимаем Add Creative — New Creative — 300×250
Тип креатива — Third party
Название — CDB_OnPage_Creative1
Code type — Standart
В поле ввода вставляем код креатива. Это код креатив Criteo:
<script type="text/javascript">
function decodeTargeting(val) {
return decodeURIComponent(Array.isArray(val) ? val.join('') : val);
}
function write(html) {
document.open();
document.write(html);
document.close();
}
function resizeIframe(width, height) {
const iframeWidth = window.innerWidth;
const iframeHeight = window.innerHeight;
function resize(status) {
let newWidth = width - iframeWidth;
let newHeight = height - iframeHeight;
window.$sf.ext.expand({
r: newWidth,
b: newHeight,
push: true
});
}
if (iframeWidth !== width || iframeHeight !== height) {
window.$sf.ext.register(width, height, resize);
// we need to resize the DFP container as well
window.parent.postMessage({
sentinel: 'amp',
type: 'embed-size',
width: width,
height: height
}, '*');
}
}
var targeting = %%PATTERN:TARGETINGMAP%% ;
if (targeting && "crt_amp_rtc_format" in targeting) {
var sizeArr = decodeTargeting(targeting["crt_amp_rtc_format"]).split('x').map(Number);
resizeIframe(sizeArr[0],sizeArr[1]);
}
if (targeting && "crt_creative" in targeting) {
var creative = decodeTargeting(targeting["crt_creative"]);
write(creative);
} else if (targeting && "crt_display_url" in targeting) {
var url = decodeTargeting(targeting["crt_display_url"]);
write("<scr" + "ipt type='text/javascript' src='" + url + "'></scr" + "ipt>");
}
</script>
Сохраняем настройки. Ставим галочку напротив Override settings и добавляем оставшиеся размеры креатива в настройки.
В результате мы имеет один набор настроек с CPM в 1 рубль (доллар, евро) и набором креативов для работы. Следующая цель — размножить эти настройки до нужной вам частоты.
Дублирование Line Items
Необходимое количество Line Items нужно выбрать самостоятельно. Надо знать, что чем больше line items, тем с большей точностью Google будет отдавать рекламу сторонним системам.
Например, набор line items с шагом в 2 рубля (1-200 рублей) принесут больше денег, чем набор с шагом в 5 рублей (допустим тоже 1-200 рублей). Поэтому кампании типа Pricing Rules (например, кампания под Prebid) разбивают на максимальное количество порогов.
Вот пример, одной из моих кампаний на 147 line item’ов- вы можете делать по другому:
- 1-50, шаг 1 рубль;
- 50-100, шаг 2 рубля;
- 100-200, шаг 5 рублей;
- 200-1000, шаг 25 рублей;
- 1000-2000, шаг 50 рублей;
Итак, мы определились с количеством наборов – осталось их скопировать. Выберите line item и нажмите Copy to
Выберите вариант Copy with creatives и Same order, чтобы копировать наборы в эту РК. Максимально число копий, которое можно сделать за один раз – 60.
Обычно на копирование требуется время – 1-2 минуты. Поэтому не стоит спешить делать новые копии, иначе могут быть проблемы со скопированными наборами.
После того, как все наборы скопированы – нужно их отредактировать. Благо, каждый line item можно редактировать, не заходя в него. Нужно поменять название, CPM и таргетирование key-values.
В конце, не забудьте запустить кампанию, чтобы она была в статусе «Ready».
Сборка кода и интеграция
Пройдите в AdUnit, который выбрали для RTC и откройте вкладку Tags. Выберите тип тэга AMP Tag.
Определитесь с настройками тэга на втором этапе. Обычно его можно пропустить и сразу перейти к коду.
Получаем примерно такой код:
<amp-ad width=336 height=280
type="doubleclick"
data-slot="/21916281163/ad-ops.ru"
data-multi-size="300x250">
</amp-ad>
Чтобы добавить RTC, нужно в код вызова добавить следующие параметр, где:
- vendors — указываются рекламные вендоры с ID рекламного блока (для Criteo этот параметр ZONE_ID);
- timeoutMillis — таймаут запроса к вендорам;
rtc-config='{
"vendors": {
"criteo": {"ZONE_ID": 1234567}
},
"timeoutMillis": 1000}'>
Итоговый код, который нужно будет разместить на AMP страницах:
<amp-ad width=336 height=280
type="doubleclick"
data-slot="/21916281163/ad-ops.ru"
data-multi-size="300x250"
rtc-config="{
"vendors": {
"criteo": {"ZONE_ID": 1234567}
},
"timeoutMillis": 1000}">
</amp-ad>
Где применяется RTC. Примеры интеграции
Рунет
ixbt.com
Трафик — 22,4 млн. в месяц по SimilarWeb. Используются тэги Criteo и APS (Amazon Publisher Services).
По сравнению с «голым» AdExchange — Criteo с RTC дал +30% дохода. APS — около +5 (и с выводом сложности).
Михаил Панюшкин, техдир iXBT.com
NTV.ru
Трафик — 18 млн. в месяц по SimilarWeb. Используется Criteo.
Cosmo.ru
Трафик — 15,9 млн. в месяц по SimilarWeb. Используется Criteo.
По моим наблюдениям, крупные площадки с AMP трафиком, монетизируют эти страницы двумя способами – «голый» РСЯ или «голый» Adx/Adsense. Редко Adfox с Динамической монетизацией.
Real Time Config используют единицы, в основном дополнительным вендором к Adx/Adsense идёт Criteo.
Зарубежные издания
Metro.co.uk
Трафик — 32,7 млн. в месяц по SimilarWeb. Используются Criteo и Appnexus через prebid.js.
Reuters.com
Трафик — 64,8 млн. в месяц по SimilarWeb. Используется Medianet.
NYtimes
Трафик — 378,9 млн. в месяц по SimilarWeb. Используются Medianet и APS.
Ситуация с зарубежным трафиком отличается от Ру или СНГ трафика. Разнообразия технологий и вендоров значительно больше, рекламный стек отличается от сайта к сайту.
Кейсы использования связки Adx+RTC на AMP страницах
Вернёмся к началу статьи и клиентскому сайту с Динамической монетизацией. Заменив коды на Adx+RTC я начал собирать статистику. В итоге, тест раскатал еще на двух сайтах — на одном тоже была Динамическая монетизация, на другом стояли тэги Adx.
Эффективность монетизации высчитываю по показателю ARPPV (Average Revenue Per Page View) – так как считаю его наиболее удобным. Можно еще ARPU использовать, но это дело вкуса.
Сайт №1
Переход с Динамической монетизации Adfox на тэги Adx+RTC.
Результаты — +48,04% ARPPV
Рост видимости +12%
Доля дохода от RTC – 4%
Сайт №2
Переход с Динамической монетизации Adfox на тэги Adx+RTC.
Результаты — +39,88% ARPPV
Рост видимости +72%
Доля дохода от RTC – меньше 1%
Сайт №3
Переход с Adx тэгов на Adx+RTC
Результаты: Значимых изменений видимости или ARPPV не выявлено. Было небольшое падение на период теста, но потом выправилось.
Доля дохода от RTC – меньше 1%
Выводы
По статистике видно, что внедрение RTC на AMP не принесло много денег, 4% от общего дохода это довольно мало. Основным драйвером роста в моём случае, был переход на Adx тэги, вместо РСЯ+ДМ.
К тому же, в Рунете не так много вендоров, кто работает с RTC. Основным можно выделить Criteo, остальные вендоры не очень популярны или имеют небольшой деманд на Ру сегмент. На зарубежном трафике дела обстоят иначе — монетизаторов, как и площадок работающих с технологией значительно больше, поэтому там есть «где развернуться».
Если на вашей площадке есть много AMP трафика и есть доступ к Criteo, то ради эксперимента, можно попробовать Real Time Config. Если площадка с заграничным трафиком — то надо уже тестировать, а не экспериментировать. Выбор монетизаторов значительно выше.
В любом другом случае, забейте на RTC.
Нормальная тема, спасибо!
Цены в паре ключ-значения указывать с точкой (1.00) только для RTC? Для обычной ДМ и перевзвешивания с гуглом указываю без точек. Это нормально?
Да, нормально. RCT не будет работать, если не указывать правильно ставки. Для РК под Prebid тоже требуется указывать ставку и key value с точками
Спасибо за статью, годнота 🙂 Подскажи, пжл, какие пороги key value используешь для Adfox + Ad Manager? В хэлпе яндекса показывают промежутке от 1 до 100 шаг 10, потом 100-200 шаг 20, ну и дальше шаг еще больше примерно до 600.
В общении с поддержкой Яндекса для некрупных проектов они рекомедуют делать шаг меньше, например, в 5 рублей. И диапазон брать небольшой, рублей до 300.
Что ты посоветуешь?
Спасибо!
Для Динамической монетизации стараюсь использовать меньшую градацию на низких ставках. Например, от 1 до 50 с шагом в 1 рубль, от 50 до 100 с шагом в 2 рубля и так далее. Работает лучше, чем советует Яндекс, но не проверял на сайтах с низком трафиком. На них тоже должно работать, но обучаться будут не 2 недели, а 3-4.
А до какого потолка идешь?
2500 рублей
Да, ничего себе сколько терминов, приходится открывать гугл) отстал я серьезно по вопросам монетизации. Подумаю как это внедрить у себя на умирающих статейниках, респект.
Очень полезно, спасибо! У IndexExchange, Rubicon, Xander тоже не плохой спрос на ру, будем тестить.
Раз в рунете никто не хочет работать с RTC, приходится искать новые источники деманда!
Спасибо!