广告最佳做法

将 Google 发布商代码 (GPT) 库集成到您的网站并熟悉我们的一般最佳实践后,您就可以开始发出广告请求了。在以下部分中,我们将介绍在配置和使用广告位时应牢记的一些其他最佳实践,以便在对性能影响最小的情况下充分利用广告空间。

优先考虑“重要”广告位

并非所有广告位都具有相同的价值。例如,就可见度和变现能力而言,网页加载后立即可见的广告位(首屏)通常比滚动到视野范围内才可见的广告位(非首屏)更“重要”。考虑到这一点,请务必仔细考虑网页上每个广告位的相对重要性,并优先尽快加载最重要的广告位。

尽早加载首屏广告

应优先加载网页加载后立即可见的广告。建议您在文档的 <head> 中定义这些广告位,并在网页加载过程中尽早请求这些广告位。这有助于确保这些广告尽早加载(最大限度地提高可见度),并且不会不必要地减慢初始网页加载速度。

延迟加载非首屏广告

对于需要滚动到用户视野范围内才能看到的广告,应推迟提取和呈现,直到广告位即将进入视口。此过程称为延迟加载。延迟加载会单独优先为最有可能被浏览的广告位请求和呈现广告素材内容。这有助于节省浏览器有限的资源,从而优化网页加载性能,这在带宽和 CPU 经常受到严重限制的移动环境中尤为重要。

刷新广告,而无需刷新页面

在许多情况下,最好甚至有必要替换广告位的当前广告内容。在这种情况下,最好使用 GPT 库的刷新功能动态执行此操作。 这样可以避免整个页面刷新,并让您能够精确控制更新一个或一组广告位的条件。

刷新广告位时,请务必熟悉并遵循 refresh() 最佳实践。 不恰当地刷新广告可能会导致性能问题,并对可见率产生负面影响。

有效定位广告

配置键值对定位时,请仔细考虑是使用广告位级定位还是网页级定位。对于在多个广告位之间共享的键值对,最有效的方法是使用 googletag.setConfig({ targeting: ... }) 进行网页级定位。广告位级定位应仅用于注册不同或未包含在所有广告位中的键值对。

请注意,广告位级定位和网页级定位可以同时使用,如设置定位示例中所示。强烈建议您先在页面级配置定位,然后仅在必要时应用广告位级替换。这种方法不仅可以高效使用 GPT API,还可以简化代码,并有助于在脑海中清晰地了解页面上配置的所有定位条件。

正确使用单一请求架构

单一请求架构 (SRA) 是一种 GPT 请求模式,可将多个广告位的请求捆绑到单个广告请求中。这样可确保系统遵循为您的网页配置的竞争排除规则和包版。因此,如果您的网页使用了这些功能,建议您启用 SRA 并了解如何正确使用它。

在默认配置下,当您首次调用 display()(或 refresh(),如果初始加载已停用)时,SRA 会请求网页上定义的所有广告位。因此,建议您在文档的 <head> 中定义网页的所有广告位,然后再首次调用 display()。延迟加载可与此方法结合使用,以确保位于非首屏的广告位不会立即加载。

使用 SRA 时,请务必在首次调用 display() 之前完整配置所有广告位(例如,设置定位条件、类别排除等)。只有在此之前配置的值才会包含在初始 SRA 请求中。

不正确 - SRA 请求中未包含广告位配置

<html>
  <head>
    <meta charset="utf-8">
    <title>Single Request Architecture Example</title>
    <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></script>
    <script>
      window.googletag = window.googletag || {cmd: []};
      var adSlot1, adSlot2;

      googletag.cmd.push(function() {
        // Define ad slot 1.
        adSlot1 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-1')
            .addService(googletag.pubads());
        // Define ad slot 2.
        adSlot2 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-2')
            .addService(googletag.pubads());
        // Enable SRA and services.
        googletag.setConfig({ singleRequest: true });
        googletag.enableServices();
      });
    </script>
  </head>
  <body>
    <div id="banner-ad-1" style="width: 728px; height: 90px;">
      <script>
        googletag.cmd.push(function() {
          // This call to display requests both ad slots.
          googletag.display(adSlot1);
        });
      </script>
    </div>
    <div id="banner-ad-2" style="width: 728px; height: 90px;">
      <script>
        googletag.cmd.push(function() {
          // This call to display has no effect, since both ad slots have already
          // been fetched by the previous call to display.
          // Targeting configuration for ad slot 2 is ignored.
          adSlot2.setConfig({ targeting: { test: 'privacy' } });
          googletag.display(adSlot2);
        });
      </script>
    </div>
  </body>
</html>

正确 - SRA 请求中包含广告位配置

<!doctype html>
<html>
  <head>
    <meta charset="utf-8">
    <title>Single Request Architecture Example</title>
    <script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></script>
    <script>
      window.googletag = window.googletag || {cmd: []};
      var adSlot1, adSlot2;

      googletag.cmd.push(function() {
        // Define ad slot 1.
        adSlot1 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-1')
            .addService(googletag.pubads());
        // Define and configure ad slot 2.
        adSlot2 = googletag
            .defineSlot('/6355419/Travel/Europe/France',[728, 90], 'banner-ad-2')
            .addService(googletag.pubads());
        adSlot2.setConfig({ targeting: { test: 'privacy' } });
        // Enable SRA and services.
        googletag.setConfig({ singleRequest: true });
        googletag.enableServices();
      });
    </script>
  </head>
  <body>
    <div id="banner-ad-1" style="width: 728px; height: 90px;"></div>
    <div id="banner-ad-2" style="width: 728px; height: 90px;"></div>
    <script>
        googletag.cmd.push(function() {
          // This call to display requests both ad slots with all
          // configured targeting.
          googletag.display(adSlot1);
        });
      </script>
  </body>
</html>

优化广告尺寸

在定义广告位时,不仅要考虑可投放的最大尺寸广告,还要考虑可轻松放入同一空间的较小尺寸广告。一般来说,您在定义广告位时指定的尺寸越多,符合条件可投放到该广告位的广告就越多。这可能会提高填充率并增加收入。