如何检查Google发布商代码广告位是否为空?

use*_*912 12 javascript jquery adsense google-dfp

我使用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>
Run Code Online (Sandbox Code Playgroud)

如何检查此div("div-gpt-ad-123456789-0")是否包含广告?

Fed*_*ero 16

你可以这样做:

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

  • 您好,由于某种原因,这并不是每次都有效,大约 60% 的情况下都会失败,您知道为什么吗? (2认同)

小智 7

GPT API提供"SlotRenderEndedEvent",在广告呈现时触发(或者如果没有返回任何内容)

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

您添加处理程序并检查isEmpty以确定广告是否已投放.

此外,如果您为广告位启用了CollapsEmptyDivs,则广告div将被GPT设置为display:none,这也是一条未返回任何内容的线索.


Pra*_*han 6

您可以使用名为 Google Publisher Console 的屏幕调试工具来解决投放问题。使用“?googfc”作为查询字符串。参考:https : //support.google.com/dfp_premium/answer/2462712?hl=en

  • 真的好用!如果您正在调试与广告位相关的任何内容 - 从这个工具开始。 (2认同)

Mat*_*per 1

您是否尝试过使用 firebug 或 chrome web 检查器检查 div ?如果正确加载,div 内部应该有一个 iframe,并且 iframe 内部会有一些带有广告创意的 html。

您可以使用DFP 控制台轻松调试 DFP,以测试您的网页是否已正确标记以及广告是否正在投放。