Пример кода блока RTB от Яндекса готового для вставки кода Google Adsense. Корректный вызов рекламы для совместного показа Adsense и Яндекс — важный фактор получения максимальной прибыли от рекламы
Алгоритм вставки в блок RTB от Яндекс Google Adsense в качестве заглушки состоит из двух частей:
- установка кода вызова скрипта для работы Google Adsense в блок header;
- редактирование и вызов кода вызова блока RTB Yandex со встроенным кодом конкретного блока Google Adsense в том месте на сайте, где планируется показывать рекламу.
Таким образом получаем рабочую модель совместного вызова рекламы: выставляем минимальный Мин. 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 имела смысл.
С использованием материалов: https://searchengines.guru/showpost.php?p=14854566&postcount=1404