Как проверить, рекламный слот тега издателя Google пуст или нет?

Я использую теги издателя Google для получения рекламы.

Как проверить, получаю ли я объявление или какое-либо пустое объявление для определенного рекламного места. Я использую приведенный ниже код.

googletag.defineSlot("/1234/travel", [[300,250],[300x600]], "div-gpt-ad-123456789-0"))


 <div id="div-gpt-ad-123456789-0" style="width: 728px; height: 90px">
  <script type="text/javascript">
      googletag.cmd.push(function() {
      googletag.display("div-gpt-ad-123456789-0");
      });
    </script>
  </div>

Как проверить, что этот div("div-gpt-ad-123456789-0") содержит рекламу или нет?

5 ответов

Вы могли бы сделать что-то вроде этого:

googletag.pubads().addEventListener('slotRenderEnded', function(event) {
    if (event.slot.getSlotElementId() == "div-gpt-ad-123456789-0") {
        var containsAd = !event.isEmpty;     
    }
});

GPT API предоставляет "SlotRenderEndedEvent", которое срабатывает при показе объявления (или если ничего не возвращается)

https://developers.google.com/doubleclick-gpt/reference

Вы добавляете обработчик и проверяете isEmpty, чтобы определить, было ли показано объявление.

Кроме того, если вы включили CollapsEmptyDivs для рекламного места, для рекламного блока будет отображаться: ни один из них по GPT, что также является подсказкой, что ничего не было возвращено.

Вы можете использовать инструмент отладки на экране, называемый Консоль издателя Google, для устранения проблем с доставкой. Используйте "? Googfc" в качестве строки запроса. Ссылка: https://support.google.com/dfp_premium/answer/2462712?hl=en

googletag.cmd.push(function () {
  googletag.pubads().addEventListener('slotRenderEnded', function (event) {
   if (event.isEmpty) {
    var id = event.slot.getSlotElementId();
    var x = document.getElementById(id);
    if (x.parentElement.classList.contains("ad-slot")) {
     x.parentElement.style.display = "none";
    }    
   }
  });
 });

Вы пытались проверить div с помощью firebug или chrome web inspector? Там должен быть iframe внутри div, если он загружается правильно, и внутри iframe будет некоторое html с рекламным объявлением.

Вы можете легко отлаживать DFP с помощью консоли DFP, чтобы проверить, правильно ли помечены страницы и показываются ли объявления.

Другие вопросы по тегам