首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何为同一页面上的多个广告投放设置DFP GPT广告位?

如何为同一页面上的多个广告投放设置DFP GPT广告位?
EN

Stack Overflow用户
提问于 2021-04-20 10:43:49
回答 1查看 225关注 0票数 0

我是谷歌广告管理器( DFP )的新手,需要一些帮助来设置我的DFP库存并在页面上实现它。考虑到我的网站是一个小的新闻网站,我的网站有5个部分-世界/商业/政治/娱乐/体育。每个部分至少有3-5个广告位置,包括一些大小相同的位置,即体育部分有两个300x250的位置,而政治部分有三个728x90的位置。

我采取的方法是在DFP中创建五个广告位,如下所示-

/12345678/website.com/world /12345678/website.com/sports /12345678/website.com/business /12345678/website.com/entertainment /12345678/website.com/politics

现在我在这里面临的更大的挑战是,我是否应该调用

代码语言:javascript
复制
googletag
      .defineSlot('/12345678/website.com/sports',
                  [[300, 250], [728, 90], [300, 250]], 'div-gpt-sports12345')
      .addService(googletag.pubads());

我的页面主体是否会被编码为-

代码语言:javascript
复制
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
  window.googletag = window.googletag || {cmd: []};
  googletag.cmd.push(function() {
    googletag.defineSlot('/21871128741/teststack', [[300, 250]], 'div-mrec1').addService(googletag.pubads());
    googletag.defineSlot('/21871128741/teststack', [[300, 250]], 'div-mrec2').addService(googletag.pubads());
    googletag.defineSlot('/21871128741/teststack', [[728, 90]], 'div-lb728x90_1').addService(googletag.pubads());
    googletag.pubads().enableSingleRequest();
    googletag.enableServices();
  });
</script>


<!-- /21871128741/teststack/300x250 -->
<div id='div-mrec1' style='width: 300px; height: 250px;'>
  <script>
    googletag.cmd.push(function() { googletag.display('div-mrec1'); });
  </script>
</div>


<!-- /21871128741/teststack/300x250 -->
<div id='div-mrec2' style='width: 300px; height: 250px;'>
  <script>
    googletag.cmd.push(function() { googletag.display('div-mrec2'); });
  </script>
</div>

<!-- /21871128741/teststack/300x250 -->
<div id='div-lb728x90_1' style='width: 728px; height: 90px;'>
  <script>
    googletag.cmd.push(function() { googletag.display('div-lb728x90_1'); });
  </script>
</div>

我还尝试了另一个版本,使用其独特的子广告单元调用gpt广告位。

代码语言:javascript
复制
<script async src="https://securepubads.g.doubleclick.net/tag/js/gpt.js"></script>
<script>
  window.googletag = window.googletag || {cmd: []};
  googletag.cmd.push(function() {
    googletag.defineSlot('/21871128741/teststack/mrec1', [[300, 250]], 'div-mrec1').addService(googletag.pubads());
    googletag.defineSlot('/21871128741/teststack/mrec2', [[300, 250]], 'div-mrec2').addService(googletag.pubads());
    googletag.defineSlot('/21871128741/teststack/lb728x90_1', [[728, 90]], 'div-lb728x90_1').addService(googletag.pubads());
    googletag.pubads().enableSingleRequest();
    googletag.enableServices();
  });
</script>


<!-- /21871128741/teststack/300x250 -->
<div id='div-mrec1' style='width: 300px; height: 250px;'>
  <script>
    googletag.cmd.push(function() { googletag.display('div-mrec1'); });
  </script>
</div>


<!-- /21871128741/teststack/300x250 -->
<div id='div-mrec2' style='width: 300px; height: 250px;'>
  <script>
    googletag.cmd.push(function() { googletag.display('div-mrec2'); });
  </script>
</div>

<!-- /21871128741/teststack/300x250 -->
<div id='div-lb728x90_1' style='width: 728px; height: 90px;'>
  <script>
    googletag.cmd.push(function() { googletag.display('div-lb728x90_1'); });
  </script>
</div>

EN

回答 1

Stack Overflow用户

发布于 2021-04-21 21:28:24

考虑到您的需求,您必须为同一页面定义多个插槽:

  • banner = 728,90
  • mpu1 = 300,250
  • mpu2 = 300,250

每个定义的插槽都链接到一个div ID (作为详细的here):

代码语言:javascript
复制
googletag.Slot googletag.defineSlot(adUnitPath, size, opt_div) 

其中:

  • adUnitPath /string/ :包含网络代码和单元代码的完整广告单元路径。
  • size/
  • /:此插槽中允许调用的大小的宽度和高度
  • opt_div /string/ :将包含此广告单元的div的ID。

在您的代码示例中,您尝试在同一DOM中使用相同的div ID 3次,并且只声明了一个adslot...你应该做的更像是:

代码语言:javascript
复制
//banner definition
googletag.defineSlot('/12345678/website.com/sports',[[728, 90]], 'div-banner').addService(googletag.pubads());

//mpu1 definition
googletag.defineSlot('/12345678/website.com/sports',[[300, 250]], 'div-mpu1').addService(googletag.pubads());

//mpu2 definition
googletag.defineSlot('/12345678/website.com/sports',[[300, 250]], 'div-mpu2').addService(googletag.pubads());

在这种情况下,adserver将生成3个adcall(每个定义和显示的位置一个)。

为确保您能够包括或排除页面上的某个mpus,您可以添加以下键值:

横幅= 728,90

  • mpu1 = 300,250,position = 1
  • mpu2 = 300,250,position = 2

为此,您必须在每个mpu插槽上执行setTargetings (有关详细信息,请使用here):

代码语言:javascript
复制
//mpu1 definition
googletag.defineSlot('/12345678/website.com/sports',[[300, 250]], 'div-mpu1').setTargeting('position', '1').addService(googletag.pubads());
    
//mpu2 definition
googletag.defineSlot('/12345678/website.com/sports',[[300, 250]], 'div-mpu2').setTargeting('position', '2').addService(googletag.pubads());
票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67171767

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档