Как вставить в блок RTB от Яндекс Google Adsense в качестве заглушки

Как вставить в блок RTB от Яндекс Google Adsense в качестве заглушки

Пример кода блока RTB от Яндекса готового для вставки кода Google Adsense. Корректный вызов рекламы для совместного показа Adsense и Яндекс – важный фактор получения максимальной прибыли от рекламы

Алгоритм вставки в блок RTB от Яндекс Google Adsense в качестве заглушки состоит из двух частей:

  1. установка кода вызова скрипта для работы Google Adsense в блок header;
  2. редактирование и вызов кода вызова блока RTB Yandex со встроенным кодом конкретного блока Google Adsense в том месте на сайте, где планируется показывать рекламу.

Схема работы Яндекс RTB

Таким образом получаем рабочую модель совместного вызова рекламы: выставляем минимальный Мин. CPM для показа блоков Яндекс и внедряем заглушку Google для использования рекламного места при отсутствии рекламы из Яндекса.

Сначала осуществляем вызов скрипта Google Adsense сразу из header сайта (можно не дёргать постоянно скрипт, а разместить один раз в начале кода страницы с рекламными объявлениями Google Adsense).

Код для вызова Google Adsense

<head>
..........................
 <script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
</head>

Затем в шаблоне, там где необходимо показывать блоки рекламы, размещаем код блока RTB с внедрённым кодом блока Google Adsense.

Код вызова блока Яндекс РТБ

Значения yandex_rtb_R-A-XXXXXX-Y, R-A-XXXXXX-Y, yandex_rtb_R-A-XXXXXX-Y как и значения ca-pub-ZZZZZZZZZZZZZZZ, QQQQQQQQQQQQQQQQQQ в коде меняем на свои.

<div id="yandex_rtb_R-A-XXXXXX-Y"></div>
<script type="text/javascript">
    (function(w, d, n, s, t) {
        w[n] = w[n] || [];
        w[n].push(function() {
            Ya.Context.AdvManager.render({
                blockId: "R-A-XXXXXX-Y",
                renderTo: "yandex_rtb_R-A-XXXXXX-Y",
                async: true
            }, function() {
                var g = document.createElement("ins");
                g.className = "adsbygoogle";
                g.style.display = "block";
                g.setAttribute("data-ad-client", "ca-pub-ZZZZZZZZZZZZZZZ");
                g.setAttribute("data-ad-slot", "QQQQQQQQQQQQQQQQQQ");
                g.setAttribute("data-ad-format", "auto");
                document.getElementById("yandex_rtb_R-A-XXXXXX-Y").appendChild(g);
                (adsbygoogle = window.adsbygoogle || []).push({});
            });
        });
        t = d.getElementsByTagName("script")[0];
        s = d.createElement("script");
        s.type = "text/javascript";
        s.src = "//an.yandex.ru/system/context.js";
        s.async = true;
        t.parentNode.insertBefore(s, t);
    })(this, this.document, "yandexContextAsyncCallbacks");
</script>

Создаём свой функционирующий код блока RTB с внедрённым Google Adsense

В партнёрском интерфейсе получаем настроенный код RTB блока:

<!-- Yandex.RTB R-A-243475-1 -->
<div id="yandex_rtb_R-A-243475-1"></div>
<script type="text/javascript">
    (function(w, d, n, s, t) {
        w[n] = w[n] || [];
        w[n].push(function() {
            Ya.Context.AdvManager.render({
                blockId: "R-A-243475-1",
                renderTo: "yandex_rtb_R-A-243475-1",
                async: true
            });
        });
        t = d.getElementsByTagName("script")[0];
        s = d.createElement("script");
        s.type = "text/javascript";
        s.src = "//an.yandex.ru/system/context.js";
        s.async = true;
        t.parentNode.insertBefore(s, t);
    })(this, this.document, "yandexContextAsyncCallbacks");
</script>

Затем получаем код Google Adsense для вставки в роли заглушки:

<script async src="//pagead2.googlesyndication.com/pagead/js/adsbygoogle.js"></script>
<!-- 1_9(hpc) -->
<ins class="adsbygoogle"
     style="display:block"
     data-ad-client="ca-pub-8141435023159619"
     data-ad-slot="5126066072"
     data-ad-format="auto"></ins>
<script>
(adsbygoogle = window.adsbygoogle || []).push({});
</script>

Совмещаем блоки по образцу, который был описан выше, и, получаем новый блок готовый для установки на наш сайт.

<!-- Yandex.RTB R-A-243475-1 -->
<div id="yandex_rtb_R-A-243475-1"></div>
<script type="text/javascript">
    (function(w, d, n, s, t) {
        w[n] = w[n] || [];
        w[n].push(function() {
            Ya.Context.AdvManager.render({
                blockId: "R-A-243475-1",
                renderTo: "yandex_rtb_R-A-243475-1",
                async: true
            }, function() {
                var g = document.createElement("ins");
                g.className = "adsbygoogle";
                g.style.display = "block";
                g.setAttribute("data-ad-client", "ca-pub-8141435023159619");
                g.setAttribute("data-ad-slot", "5126066072");
                g.setAttribute("data-ad-format", "auto");
                document.getElementById("yandex_rtb_R-A-243475-1").appendChild(g);
                (adsbygoogle = window.adsbygoogle || []).push({});
            });
        });
        t = d.getElementsByTagName("script")[0];
        s = d.createElement("script");
        s.type = "text/javascript";
        s.src = "//an.yandex.ru/system/context.js";
        s.async = true;
        t.parentNode.insertBefore(s, t);
    })(this, this.document, "yandexContextAsyncCallbacks");
</script>

Проверяем работоспособность работы. Для этого устанавливаем блок и следим за статистикой показов блоков. В том числе желательно задать порог мин. CPM Директа и Мин. CPM медийной рекламы, для того, чтобы установка блока Google Adsense имела смысл.

Будет интересно:  Google Pixel 3 Lite: среднебюджетный гуглофон, который ещё не выпустили или уже не выпустят

С использованием материалов: https://searchengines.guru/showpost.php?p=14854566&postcount=1404