常见的最佳做法

将 Google 发布商代码 (GPT) 库集成到网站中的方式在很多方面与集成任何其他第三方脚本相同。不过,在使用 GPT 时,您必须考虑一些独特方面,才能确保充分利用广告空间,同时尽可能减少对网站性能的影响。毕竟,广告速度至关重要

以下部分介绍了在进行集成时应遵循的最佳实践。

从官方来源加载 GPT

为确保您能使用最新功能和隐私保护措施,请务必使用下表中列出的网址之一,从官方来源请求 GPT 库。要使用的网址取决于您是否打算手动启用受限广告 (LTD) 模式。

集成类型 脚本标记
标准

包括已与 IAB Europe TCF 集成的发布商。
<script src="https://securepubads.g.doubleclick.net/tag/js/gpt.js" crossorigin="anonymous" async></script>
手动启用受限广告

如果您想手动启用受限广告 (LTD)
<script src="https://pagead2.googlesyndication.com/tag/js/gpt.js" async></script>

受限广告 (LTD) 模式可让 GPT 在不访问客户端存储空间(例如 Cookie 或本地标识符)的情况下投放广告。您可以通过以下两种方式之一启用受限广告:

  1. 标准(自动):意见征求管理服务提供商 (CMP) 会告知 GPT 用户未同意存储空间访问权限,通常使用 IAB TCF v2.0 信号。如果您使用经 Google 认证的 CMP 来管理用户意见征求,GPT 会根据用户的偏好设置自动进入受限广告模式。

    • 网址:从标准网址 (doubleclick.net) 加载 GPT。
    • 无需手动操作:使用 CMP 时,无需手动调用 setPrivacySettings({limitedAds: true}),因为库会自动处理信号。
  2. 手动:您显式调用 GPT API 来请求受限广告。

    • 网址:如果您打算使用 googletag.pubads().setPrivacySettings({limitedAds: true}) API 手动启用受限广告,则必须从受限广告网址 googlesyndication.com 加载 GPT。
    • 原因:从 googlesyndication.com 网域加载 GPT 默认情况下可提供额外的安全措施,防止访问客户端存储空间。
    • 错误配置的后果:如果从标准网址加载 GPT 并调用手动 API,则启用受限广告的请求会被忽略,并且发布商控制台中会记录一条警告。

不提供缓存的 GPT 版本

切勿从您自己的服务器投放 gpt.jspubads_impl.js 或其加载的任何库的版本,也不要从非官方来源加载这些版本。

使用本地缓存的 GPT 库版本有时可能无法在版本较新的浏览器或操作系统中正常发挥作用,并且可能无法更新为使用新的功能和改进功能。版本较旧的 GPT 库可能会随时停止工作,而这可能会导致广告停止投放到您的代码,进而导致广告收入损失。

这也适用于 service worker。如果您使用 service worker 来缓存或修改来自您网站的 HTTP 请求的响应,请在处理 gpt.js 的请求时使用仅限网络策略,以便提取最新版本。

尽早加载 GPT

GPT 库 (gpt.js) 仅包含加载广告所需的一小部分代码。该代码的大部分内容都包含在单独的文件(例如 pubads_impl_XX.js)中,这些文件由 gpt.js 根据需要加载。

通过提前加载核心 GPT 库,这些依赖脚本也能更早加载。这样可以避免与提取这些脚本(如果未缓存)相关的任何额外延迟,并允许更快地加载广告。所有这些都有助于缩短首个广告的呈现用时指标,进而提高广告的可见度。

在适当的时候使用预加载

有时,您可能无法直接控制 GPT 的加载时间或方式。例如,当使用代表您加载 GPT 的第三方广告脚本时。在这些情况下,预加载 gpt.js 的请求可能比较合适。预加载请求会指示浏览器立即下载对网页加载至关重要的指定资源。如果指定的资源是 JavaScript 文件,系统会立即提取脚本内容,但会延迟执行,直到需要该脚本时才执行。

标准集成预加载请求示例

<link rel="preload" href="https://securepubads.g.doubleclick.net/tag/js/gpt.js" as="script">

受限广告集成预加载请求示例

<link rel="preload" href="https://pagead2.googlesyndication.com/tag/js/gpt.js" as="script">

在预渲染的网页上使用 GPT

预呈现会指示浏览器预先下载并呈现用户尚未请求但很可能会访问的网页。当在预渲染的网页上加载时,GPT 库仅在网页变为可见状态时请求广告。

以静态方式加载 GPT

避免以动态方式将 GPT 库注入到网页中,或从外部脚本加载该库。而是应在网页的 <head> 中静态加载该库,如开始使用 Google 发布商代码中所述。这样可以防止其他资源延迟提取和加载 GPT 库,进而防止延迟加载广告。

如需了解详情,请参阅 Lighthouse 发布商广告评估服务静态加载广告脚本审核文档。

异步加载 GPT

在脚本代码定义中添加 async 关键字,如 Google 发布商代码使用入门中所述。这会指示浏览器并行加载 GPT 库与其他资源和网页内容,而不是阻塞执行,直到脚本加载完毕。

如需了解详情,请参阅“Lighthouse 发布商广告评估服务”的异步加载广告代码审核文档。

安全地加载 GPT

始终通过 HTTPS 加载 GPT 库,如开始使用 Google 发布商代码中所述。这不仅可为用户提供更安全的网络环境,还可提高网页性能。由于 GPT 发出的广告请求始终使用 HTTPS,因此使用 HTTPS 加载库本身可确保浏览器只需为与广告投放相关的所有请求打开 1 个连接。

如需了解详情,请参阅 Lighthouse 发布商广告评估服务的通过 HTTPS 加载广告代码从推荐的主机加载 GPT 评估文档。

实践良好的网页性能

虽然本指南中的最佳实践主要侧重于优化 GPT 集成,但许多其他因素也会影响网页的整体性能。在对网站进行更改时(尤其是根据本指南中的广泛建议进行更改时),请务必评估这些更改对网页效果各个方面的影响。建议您定期运行 LighthouseLighthouse 发布商广告评估服务等工具,以发现并解决性能问题,并为您的网站找到合适的优化平衡点。