Как проверить рекламный блок тегов 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" ) содержит объявление или нет?

Ответ 1

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

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

Ответ 2

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

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

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

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

Ответ 3

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

Ответ 4

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

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