我在DFP广告管理系统中设置了广告单元和键值。我使用以下代码构建了网站,该代码基于Google的教程:
<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似乎无法正常工作以使非目标广告远离关键值广告位。
答案 0 :(得分:1)
返回您的ROS广告是完全合乎逻辑的。除非在您的订单项中明确定义,否则Google DFP广告管理系统不会根据setTargeting排除广告。
在您的订单项中,如果您要指定应显示ROS,如果“key”不等于“value”,则不会显示ROS广告。