2016-08-15 92 views
2

我已在DFP广告管理系统中设置了广告单元和关键值。我已经建立了网站基于谷歌的教程,下面的代码:GPT - 在关键虚假广告位中显示的非关键值广告

<html lang="en"> 
<head> 
    <script type="text/javascript"> 
     var googletag = googletag || {}; 
     googletag.cmd = googletag.cmd || []; 
     (function() { 
      var gads = document.createElement("script"); 
      gads.async = true; 
      gads.type = "text/javascript"; 
      var useSSL = "https:" == document.location.protocol; 
      gads.src = (useSSL ? "https:" : "http:") + "//www.googletagservices.com/tag/js/gpt.js"; 
      var node =document.getElementsByTagName("script")[0]; 
      node.parentNode.insertBefore(gads, node); 
     })(); 
    </script> 
    <script> 
     var sitePath = "/test-kv/parent/page" 
     googletag.cmd.push(function() { 
      var kvAdSlot = 
       googletag.defineSlot('/00000000' + sitePath, [300, 250], 'kvAd'); 

       kvAdSlot.addService(googletag.pubads()); 
       kvAdSlot.setTargeting('key', 'value'); 

      googletag.pubads().collapseEmptyDivs(); 
      googletag.enableServices(); 
     }); 
    </script> 
</head> 
<body> 
    <div id='kvAd'> 
     <script> 
      googletag.cmd.push(function() { googletag.display('kvAd'); }); 
     </script> 
    </div> 
</body> 
</html> 

然而,当我测试页面,我的ROS广告(有未分配键值但针对所有广告单元)显示出来。我一直在搞这个问题一段时间,并不知道为什么setTargeting似乎没有正常工作,以保留关键值广告位以外的非针对性广告。

回答

1

您的ROS广告返回完全符合逻辑。除非在您的订单项中明确定义,否则Google DFP广告管理系统不会根据setTargeting排除广告。

在您的订单项中,如果您要指定应显示ROS,如果“key”不等于“value”,则ROS广告将不会显示。

+0

这听起来像是我想要做的,然后我必须创建一个“null”值,以便如果没有广告匹配键值,则不显示任何内容。或者可以将ROS或主题广告的概念填充以填充空白键值的广告位。 –

+0

这个答案是否为你澄清?如果是这样,请随时接受它,以便关闭它:-) – yvanavermaet

+0

是的,我的解决方案是以更高的优先级运行键控广告,以确保它们在预订时显示在这些广告位中,否则它们将落入广告单元>房屋。感谢您的澄清。 –