Возможности кода рекламного блока
- Срезы статистики
- Ограничение высоты в баннерах
- Настройка темы
- Размещение Floor Ad или Top Ad одновременно с Лентой
- Callback-функции в коде вызова рекламы
- Показ своей рекламы в блоке
- Показ рекламы в лентах с бесконечной прокруткой
- Эксперименты над рекламой c Varioqub
- Сбор контекста страницы для таргетинга рекламы
- Обратиться в службу поддержки
Вы можете использовать дополнительные функции и изменять некоторые настройки, работая непосредственно с кодом рекламного блока.
За вызов рекламы в коде отвечает функция Ya.Context.AdvManager.render.
Внимание
-
Мы не рекомендуем неопытным пользователям самостоятельно вносить изменения в код вызова рекламных блоков. Изменение любых переменных и функций, кроме описанных на данной странице, может привести к ошибкам в работе блоков Рекламной сети и, следовательно, к снижению дохода.
-
Код блока нельзя использовать в качестве альтернативного кода в других рекламных системах.
Срезы статистики
В коде блока вы можете дополнительно задать идентификатор среза и собирать отдельную статистику по срезам. Идентификатор среза задается в отдельной переменной:
| Имя переменной | Описание | Тип данных |
|---|---|---|
statId |
Идентификатор среза | Число от 1 до 1 000 000 000 |
Задайте идентификатор среза в коде вызова рекламы при размещении на сайте, например:
Ya.Context.AdvManager.render({
blockId: "R-A-123456-1",
renderTo: "yandex_rtb_R-A-123456-1",
statId: 34567, // идентификатор среза
});
Идентификатор среза для блока R-A-123456-1 в примере — 34567. Его можно указывать и в других блоках, тогда вы сможете просмотреть для этих блоков сгруппированную статистику. Размещая блок R-A-123456-1 на других страницах, вы можете указать другой идентификатор среза, чтобы просматривать статистику отдельно для каждого места размещения.
Ограничение высоты в баннерах
По умолчанию комбинаторные объявления формата Адаптивный height (высота) и max-height (максимальная высота).
Рекомендуемые значения максимальной высоты блоков:
-
в мобильной версии сайта — не менее 70 и не более 90 vh;
-
в десктопной версии сайта при размещении на боковых панелях — не менее 40 и не более 60 vh.
Пример кода рекламного блока с максимальной высотой:
<div id="yandex_rtb_R-I-677833-1" style="max-height: 80vh;">
<div style="height: 72vh;"></div>
</div>
<script>
window.yaContextCb.push(()=>{
Ya.Context.AdvManager.render({
renderTo: 'yandex_rtb_R-I-677833-1',
blockId: 'R-I-677833-1'
})
})
</script>
Настройка темы
Тема (светлая или темная) задается в интерфейсе Рекламной сети Яндекса при создании или редактировании блока. Также вы можете управлять темой блока через код вставки с помощью параметра darkTheme:
-
darkTheme: false— применяется светлая тема; -
darkTheme: true— применяется темная тема. Блоки в темной теме отличаются не только фоном, но и цветом текста, рамки, кнопок и других элементов рекламы.
При добавлении параметра darkTheme настройки темы, заданные в интерфейсе, игнорируются.
Управление темой блока через код будет удобным для сайтов с динамической темой. Например, с помощью JavaScript можно задавать разные значения параметра darkTheme: в зависимости от времени суток, выбранной пользователем темы сайта или браузера.
Пример кода рекламного блока с темной темой:
Ya.Context.AdvManager.render({
blockId: "R-A-123456-1",
renderTo: "yandex_rtb_R-A-123456-1",
darkTheme: true
});
Пример рекламного блока Top Ad с темной темой

Размещение Floor Ad или Top Ad одновременно с Лентой
Одновременно показывать Ленту, Floor Ad и Top Ad на одном экране нельзя. Настройте callback-функцию observer, чтобы удалить Floor Ad или Top Ad в момент, когда Лента попадет в зону видимости.
Пример кода вызова рекламы с функцией observer
<div id="yandex_rtb_R-A-588461-101"></div>
<script>
window.yaContextCb.push(() => {
Ya.Context.AdvManager.renderFeed({
blockId: 'R-A-588461-101',
renderTo: 'yandex_rtb_R-A-588461-101'
})
})
window.yaContextCb.push(() => {
Ya.Context.AdvManager.render({
"blockId": 'R-A-588461-98',
"type": "тип рекламного блока", // topAd или floorAd
"platform": "touch"
})
})
window.yaContextCb.push(() => {
Ya.Context.AdvManager.render({
"blockId": "R-A-588461-109",
"type": "тип рекламного блока", // topAd или floorAd
"platform": "desktop"
})
})
const feed = document.getElementById('yandex_rtb_R-A-588461-101'); // ID из поля renderTo
const callback = (entries) => {
entries.forEach((entry) => {
if (entry.isIntersecting) {
Ya.Context.AdvManager.destroy({
blockId: 'R-A-588461-98'
}), // blockId для мобильной версии
Ya.Context.AdvManager.destroy({
blockId: 'R-A-588461-109'
}); // blockId для десктопной версии
}
});
};
const observer = new IntersectionObserver(callback, {
threshold: 0,
});
observer.observe(feed);
</script>
Callback-функции в коде вызова рекламы
В код вызова рекламы можно добавить сallback-функции:
onClose
-
Чтобы узнать, в какой момент реклама была закрыта, при размещении блока добавьте callback-функцию
onClose. Функция доступна для полноэкранного блока и блоков Top Ad, Floor Ad.Вы можете задать действие, которое будет вызвано после закрытия баннера, в соответствии с вашей бизнес-логикой. Например, таким действием может быть вызов другого рекламного блока. Для этого впишите код с действием в
onClose.Пример кода вызова рекламы с функцией onClose
<!-- Yandex.RTB R-A-588461-68 --> <script>window.yaContextCb.push(()=>{ Ya.Context.AdvManager.render({ type: 'тип рекламного блока', // fullscreen, topAd или floorAd blockId: 'R-A-588461-68', onClose: () => { // действие, выполняемое сайтом после закрытия баннера } }) })</script
onError
-
Callback-функция onError вызывается, если в ходе выполнения запроса произошла ошибка. При вызове передаются параметры:
-
type— тип ошибки. Может иметь значения:- error — не получилось загрузить рекламный блок;
- warning — рекламный блок загружен, но с ошибкой.
-
code— код ошибки. -
text— текстовое описание ошибки.
Коды возможных ошибок и их значения
Тип ошибки
Код ошибки
Что означает
Как исправить
errorDESKTOP_FULLSCREENПроизошла попытка загрузить мобильный блок с полноэкранным отображением на десктопной версии сайта.
Рекламные блоки с полноэкранным отображением можно использовать только для мобильной версии сайта.
errorCONTAINER_NOT_FOUNDНе удалось найти контейнер для загрузки рекламы.
Контейнер не найден или при загрузке кода, или после получения данных с рекламой от сервера. Такая ошибка обычно возникает на страницах с динамическим содержимым.
errorBLOCK_NOT_FOUNDВызов рекламы произошел, но блок с указанным идентификатором не найден.
Проверьте код вызова рекламы, полученный в интерфейсе Рекламной сети Яндекса. Убедитесь, что идентификатор блока указан верно.
errorPAGE_NOT_FOUNDВызов рекламы произошел, но страница с указанным идентификатором не найдена.
Проверьте код вызова рекламы, полученный в интерфейсе Рекламной сети Яндекса. Убедитесь, что идентификатор блока указан верно.
errorWRONG_DOMAINДомен, с которого произошел вызов рекламы, не указан в настройках сайта.
Проверьте, что домен, на котором вы разместили рекламный блок, указан в настройках сайта.
Если домен не указан, добавьте новый сайт с этим доменом и создайте блок для этого сайта. Зеркала можно добавить к уже существующим сайтам.
errorPAGE_DISABLEDВызов рекламы произошел, но указанный сайт не работает.
Проверьте статус в сайта в интерфейсе Рекламной сети Яндекса. Сайт может быть остановлен, заархивирован или заблокирован за нарушение Правил участия в Рекламной сети Яндекса.
errorUNKNOWN_BLOCK_TYPEПроизошла попытка загрузить неизвестный тип блока.
Проверьте код вызова рекламы в интерфейсе Рекламной сети Яндекса. Идентификатор блока должен начинаться с букв R, D или Y.
errorTOO_SMALL_CONTAINERВ контейнер для загрузки рекламы нельзя вписать ни один из форматов указанного блока.
Проверьте размеры контейнера для загрузки рекламы. Минимальный размер контейнера — 160 х 50 пикселей.
errorVIDEO_ERRORОшибка при загрузке видеорекламы.
Проверьте размеры контейнера для загрузки рекламы. Минимальный размер — 320 х 180 пикселей.
warningCONTAINER_IS_HIDDENПроизошла попытка загрузить рекламу в контейнер размером 0 x 0 пикселей (например, со стилем
display:none).Скрытый контейнер замедляет загрузку рекламы. Рекомендуем вставлять рекламные блоки в видимые контейнеры.
Пример кода вызова рекламы с функцией onError
Ya.Context.AdvManager.render({ blockId: 'R-I-106712-1', renderTo: 'block_container', onError: (data) => { console.log('type', data.type); // Тип ошибки: error или warning console.log('code', data.code); // Код ошибки (см. значение выше) console.log('text', data.text); // Текстовое описание ошибки // Обработка ошибки со стороны сайта } }); -
onRender
-
Сallback-функция
onRenderпозволяет получить информацию о том, произошла ли отрисовка рекламы на клиенте и какая именно реклама была отрисована. Функция принимает параметрdata.productс одним из двух значений:-
direct— в блоке были показаны объявления Директа; -
rtb— в блоке была показана медийная реклама.
Сallback-функцию
onRenderнужно добавить в качестве последнего параметра функцииYa.Context.AdvManager.render.Пример кода вызова рекламы с функцией onRender
Ya.Context.AdvManager.render({ blockId: "R-A-123456-1", renderTo: "yandex_rtb_R-A-123456-1", onRender: (data) => { console.log(data.product); } }) -
Показ своей рекламы в блоке
Если на аукционе для вашего блока не нашлось подходящего предложения, вы можете показывать в нем свою рекламу. Для этого добавьте код вызова своей рекламы к коду блока.
-
Получите код блока в интерфейсе Рекламной сети Яндекса (в настройках блока нажмите Получить код → Скопировать в буфер обмена).
-
Разместите код вызова рекламы и код блока на сайте.
-
В код блока добавьте код своей рекламы в качестве последнего параметра в функции
Ya.Context.AdvManager.render.
Пример кода со вставкой своей рекламы
Ya.Context.AdvManager.render({
blockId: 'R-A-123456-1',
renderTo: 'yandex_rtb_R-A-123456-1',
}, () => {
// код вызова своей рекламы в блоке
})
Если на аукционе не нашлось подходящего предложения, выполнится альтернативный код, и своя реклама будет показана на месте рекламного блока (не через iframe). Показы своей рекламы не учитываются в статистике Рекламной сети Яндекса.
Примечание
У блоков Рекламной сети Яндекса, которые создаются из Adfox, не может быть кода вызова своей рекламы. Если в таком блоке не удалось подобрать рекламу от Рекламной сети Яндекса, запрос возвращается в Adfox и право показа переходит к другим монетизаторам или собственным промокампаниям. Подробнее о схеме подбора рекламы в Adfox.
Показ рекламы в лентах с бесконечной прокруткой
Для показа рекламы в лентах с бесконечной прокруткой можно использовать один и тот же рекламный блок, в котором изменяется название контейнера renderTo. Уникальный идентификатор блока blockId, полученный в конструкторе, остается неизменным.
Пример кода вызова для первого блока
<div id="yandex_rtb_R-A-123456-1-1"></div>
<script>window.yaContextCb.push(()=>{
Ya.Context.AdvManager.render({
blockId: "R-A-123456-1",
renderTo: "yandex_rtb_R-A-123456-1-1", // в конце названия ставится 1
})
})</script>
Пример кода вызова для второго блока
<div id="yandex_rtb_R-A-123456-1-2"></div>
<script>window.yaContextCb.push(()=>{
Ya.Context.AdvManager.render({
blockId: "R-A-123456-1",
renderTo: "yandex_rtb_R-A-123456-1-2", // в конце названия ставится 2
})
})</script>
Эксперименты над рекламой c Varioqub
Эксперименты над рекламой, размещенной на сайте, можно проводить с помощью Varioqub. Этот инструмент позволяет создавать эксперимент со множеством вариантов и менять не только элементы и верстку сайта, но и сравнивать между собой разные рекламные блоки и их настройки. В результате эксперимента доступна статистика по показателям, которые помогают определить, какой вариант является наиболее эффективным с точки зрения монетизации и пользовательских метрик. Подробнее читайте в Справке Эксперименты Varioqub.
Сбор контекста страницы для таргетинга рекламы
Для анализа контекста используется только текстовое содержимое страницы, видимое пользователю. Функциональность не предназначена для сбора персональных данных посетителей сайта. Код вставки не анализирует скрытые поля, формы ввода, пароли, платежные данные или другую информацию, недоступную пользователю на странице.
Собранный контекст применяется только для тематического таргетинга рекламы: например, для определения категории страницы, ключевых тем или общего содержания материала.
Рекомендация по использованию
Мы рекомендуем отключать сбор контекста страницы, если рекламный блок размещается на страницах, где в открытом виде может находиться приватная, чувствительная или иная информация, которую вы не хотите использовать для подбора рекламы.
Например, это могут быть страницы личных кабинетов, страницы с пользовательскими сообщениями, заказами, обращениями в поддержку, медицинской, финансовой или другой конфиденциальной информацией.
Отключение сбора контекста
Сбор контекста страницы можно отключить с помощью параметра disableGrab в коде вставки:
Ya.Context.AdvManager.render({
blockId: "R-A-123456-1",
renderTo: "yandex_rtb_R-A-123456-1",
disableGrab: true
});
После отключения рекламный блок продолжит работать, но текст страницы не будет анализироваться и использоваться для контекстного таргетинга рекламы.
Обратиться в службу поддержки
Если вы не нашли нужную информацию, проверьте список частых вопросов или напишите нам.
Я установил код, но объявления не показываются
Проблемы с показом объявлений могут возникнуть по нескольким причинам:
-
Рекламный код был только что установлен. Роботу Рекламной сети Яндекса требуется некоторое время, чтобы проиндексировать страницу и привязать рекламные объявления.
-
Код вызова рекламы установлен неправильно. Проверьте, что код JavaScript для вызова рекламных блоков установлен верно. Не изменяйте код при копировании. При копировании кода ваш текстовый редактор может прерывать и переносить длинные строки — JavaScript-код с такими строками может работать некорректно.
-
Неверный код для сайта. Убедитесь, что установленный код вызова рекламных блоков создан именно для этого сайта, а не для одного из других ваших сайтов.
-
Сайт запрещен для индексирования. Сайт должен быть доступен для индексирования роботом Рекламной сети Яндекса —
YandexDirect. Если индексирование сайта или его отдельных страниц запрещено (например, в файлеrobots.txt), то робот не сможет проиндексировать содержимое страниц и подобрать для них релевантные объявления. -
Текст закрыт тегом
<noindex>. Убедитесь, что на странице есть текст и что он не закрыт тегом<noindex>. К страницам без текста не получится подобрать тематическую рекламу. -
В кеше браузера старая информация. Обновите страницу — нажмите Ctrl + F5 (Windows) или Command + R (Mac).