【问题标题】:How do I setup DFP GPT ad slot for multiple ad placements on same page?如何为同一页面上的多个广告展示位置设置 DFP GPT 广告位?
【发布时间】:2021-07-14 05:27:00
【问题描述】:

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

【问题讨论】:

    标签: adsense google-dfp google-ad-manager double-click-advertising gpt


    【解决方案1】:

    根据您的需要,您必须为同一页面定义多个插槽:

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

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

    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 插槽上设置目标(here 了解详情):

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

    【讨论】:

    • 再次感谢您回答我的问题。我按照您的指示创建了一个测试环境,但这对我不起作用。即使我针对两个不同的
      两次调用相同尺寸 (300x250) 的广告位,但只投放相同尺寸的第一个。我试过用两种方式调用gpt。一次使用一个公共广告位,另一个使用不同的子广告位。但结果是一样的。
    • 请看我的原帖,我已经编辑了带有原始 gpt 标签的代码 sn-p 供您查看。让我知道你的分析。 * 一个 Imp 点。定位到广告位的订单/订单项包含每个尺寸的一个广告素材。这是否会影响我们需要多个相同尺寸的多个相同的广告素材?
    • 为确保您使用相同的广告素材填充两个 300x250,您需要复制您的广告素材 => Google Ad Manager 只能在同一页面的一个广告位中投放一个广告素材...
    • 是的,我现在完全明白了。谢谢
    • @MESEA 如果我的回答对你有帮助,你能投票赞成吗?
    猜你喜欢
    相关资源
    最近更新 更多
    热门标签