Как показывать Adsense или другую рекламу в блоке РСЯ в зависимости от региона
Есть несколько способов, как в одном регионе показывать рекламу Яндекса, в других - свою рекламу, например Adsense.
Можно использовать сторонние решения, но мне хотелось обойтись возможностями РСЯ.
Вот как возможно это сделать:
1. Зайти в настройки блока РСЯ, раздел География
2. Выставить CPM:
- минимальный (условно 1 р) для страны/стран где нужен РСЯ
- максимальный (условно 900 р) для стран, где нужно показывать другую рекламу.
- важно! Если выставить 900 р сразу на весь СНГ, а потом 1 р отдельно на Росиию, то установленный в отдельном регионе (на скрине Россия) CPM 1 р работать не будет, так как внутри него в регионах останется 900. Поэтому для Все регионы и СНГ CPM должен быть вообще не задан - см. скриншот ниже.
3. Перейти в настройках блока в раздел Своя реклама и добавить нужный код.
Я пробовал, таким способом можно показывать свой баннер, и даже Adsense, хотя поддержка РСЯ написала, что Google не будет показываться:
Код "своей рекламы" показывается всегда в iFrame домена yastatic - то есть, в Google не пройдет проверка на домен.
4. Мне предложили альтернативный вариант - указать код своей рекламы прямо в коде блока РСЯ - в последнем параметре в функции Ya.Context.AdvManager.render. Про это подробно написано в справке https://yandex.ru/support/partner/web/units/tag-features.html#tag-features__rtb-code-tuning-alt-code
Перед этим все равно необходимо выставить настройки CPM по регионам, чтобы по нужным показывался свой код вместо РСЯ.
Вот как выглядит часть кода блока РСЯ + Adsense:
Ya.Context.AdvManager.render({
"blockId": "R-A-ХХХХХХХ-Х",
"renderTo": "yandex_rtb_R-A-ХХХХХХХ-Х"
}, () => {
// код вызова своей рекламы в блоке
(adsbygoogle = window.adsbygoogle || []).push({});
})
Если кому-то надо полностью код двух блоков, напишите на dalnovidno@yandex.ru, скину.
На этом варианте я и остановился, показы вроде не теряются, доход стал выше - за счет более высокого CPM в странах, где работает Adsense.