0

我是 Google Ad Manager (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

现在我在这里面临的更大挑战是,我应该打电话给

googletag
      .defineSlot('/12345678/website.com/sports',
                  [[300, 250], [728, 90], [300, 250]], 'div-gpt-sports12345')
      .addService(googletag.pubads());

我的页面正文将被编码为 -

<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 广告位。

<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>

4

1 回答 1

0

关于您的需求,您必须为同一页面定义多个插槽:

  • 横幅 = [728, 90]
  • mpu1 = [300,250]
  • mpu2 = [300,250]

每个定义的插槽都链接到一个 div ID(详见此处):

googletag.Slot googletag.defineSlot(adUnitPath, size, opt_div) 

在哪里 :

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

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

//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());

在这种情况下,广告服务器将生成 3 个广告调用(每个定义和显示的展示位置一个)。

为了确保我们能够在页面上包含或排除其中一个 mpus,您可以添加键值,例如:

  • 横幅 = [728, 90]
  • mpu1 = [300,250],位置 = 1
  • mpu2 = [300,250],位置 = 2

为此,您必须在每个 mpu 插槽上设置目标(此处了解详细信息):

//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());
于 2021-04-21T13:28:23.717 回答