本文档面向使用服务器端代码植入并希望在第一方环境中传送 Google 脚本的开发者。
借助面向广告客户的 Google 代码网关,您可以从自己的第一方基础架构(而不是 Google 的服务器)直接加载 Google 脚本,例如 gtm.js。这样,您就可以通过代码植入服务器或 CDN 在第一方环境中提供数据。
准备工作
本指南假定您已经:
首先,请选择您希望如何提供 Google 脚本。
使用代码植入服务器传送脚本
您可以将代码植入服务器设置为从网站所用网域中的一个路径(如下所示)或作为网站上的子网域传送 Google 脚本。此设置会增加代码植入服务器的负载,并可能因服务器端实例发出的额外出站脚本请求而产生更高的费用。

第 1 步:配置客户端
为了在您的网络容器与代码植入服务器之间建立第一方环境,需要通过您的服务器加载 Google 脚本。
如需通过您的服务器容器加载 Google 脚本,请执行下列操作:
- 打开 Google 跟踪代码管理器
- 在您的服务器容器中,点击客户端
- 点击新建
选择 Google 跟踪代码管理器:网络容器客户端类型。

在客户端配置中:
- 添加容器 ID:
- 允许的容器 ID:您将在网站上使用的跟踪代码管理器网络容器的容器 ID。
- 代码传送路径:用于传送此容器脚本的唯一路径。添加新的容器 ID 后,系统会自动生成一个由随机字母数字字符组成的路径,以帮助防止与代码植入服务器上的现有路径发生冲突。此路径必须以
/开头(例如/mypath)。请勿将其作为 server_container_url 的一部分。
- 压缩 HTTP 响应:启用后,代码植入服务器将压缩受支持的响应(例如 JavaScript 文件)。这样可以减少从服务器传输的数据。

- 添加容器 ID:
为客户端命名并保存。
发布工作区。
允许 Google Ads 代码和 Floodlight 代码进行第一方投放和收集
为增强数据并确保未来的兼容性,请使用以下任一实现选项,确保您的 Google Ads 代码和 Floodlight 代码以第一方请求的形式投放和衡量:
选项 1:将 Google Ads 代码和 Floodlight 代码移至服务器端容器
通过将服务器端 Google 跟踪代码管理器设为数据暂存区,您可以集中更好地控制数据。此实现选项支持基于价值的出价策略,并允许服务器端 Google 跟踪代码管理器拥有服务器设置的 Cookie。
- 通过 CDN 或负载平衡器或通过代码植入服务器实现 Google 代码网关。
- 将 Google Ads 代码和 Floodlight 代码移至服务器端容器,而不是将其留在客户端容器中。
选项 2:将 Google Ads 代码和 Floodlight 代码保留在客户端容器中
如果您有现有的 CDN,请使用以下实现:
通过 CDN 或负载平衡器实现 Google 代码网关,以便从第一方环境中加载客户端容器。
将 Google Ads 代码和 Floodlight 代码保留在客户端容器中。
第 2 步:更新脚本来源网域
默认情况下,跟踪代码管理器会从 Google 的服务器(例如 https://googletagmanager.com)加载其依赖项。您需要更新您网站上的脚本网址,以通过您自己的服务器加载依赖项。
跟踪代码管理器
如需使用服务器容器加载跟踪代码管理器代码,请执行以下操作:
- 找到页面上的现有跟踪代码管理器代码。
- 将字符串 https://example.com/metrics 替换为您的代码植入服务器网址,将 /tag_serving_path 替换为客户端中为要投放的容器配置的代码投放路径。将以下代码段放置在 Google 跟踪代码管理器安装代码的
<head>和<body>中。
- Head:
<!-- Google Tag Manager -->
<script>(function(w,d,s,l){w[l]=w[l]||[];w[l].push({'gtm.start':
new Date().getTime(),event:'gtm.js'});var f=d.getElementsByTagName(s)[0],
j=d.createElement(s),dl=l!='dataLayer'?'?l='+l:'';j.async=true;j.src=
'https://example.com/metrics/tag_serving_path/'+dl;f.parentNode.insertBefore(j,f);})
(window,document,'script','dataLayer');</script>
<!-- End Google Tag Manager -->
- Body:
<!-- Google Tag Manager (noscript) -->
<noscript><iframe src="https://example.com/metrics/ns.html?id=GTM-12345"
height="0" width="0" style="display:none;visibility:hidden"></iframe></noscript>
<!-- End Google Tag Manager (noscript) -->
gtag.js
如需使用服务器容器加载 Google 代码,请执行以下操作:
- 在您的代码中找到现有的 Google 代码,或复制以下代码段。
修改该代码段,以使用您的服务器基础架构:
- 将字符串
https://www.googletagmanager.com替换为您的代码植入服务器网址,例如 https://example.com/metrics。 - 将 G-12345 替换为您的衡量 ID。
- 将 /tag_serving_path 替换为之前提及的衡量 ID 的已配置的投放路径。
- 将字符串
<!-- Google tag (gtag.js) -->
<script async src="https://example.com/metrics/tag_serving_path/"></script>
<script>
window.dataLayer = window.dataLayer || [];
function gtag(){dataLayer.push(arguments);}
gtag('js', new Date());
gtag('config', 'G-12345', {
server_container_url: 'https://example.com/metrics',
});
</script>
第 3 步:验证脚本的来源
以下说明介绍了如何使用 Google Chrome 进行测试。您可以选择使用任何浏览器,但具体步骤可能会有所不同。
如需测试服务器容器能否正常加载依赖项,请执行下列操作:
- 在新的浏览器标签页中打开您的网站。
- 打开浏览器的开发者工具。在 Google Chrome 中,您可以在网页上的任意位置点击鼠标右键,然后选择检查。
在开发者工具中,打开来源标签页。此窗口会显示您打开该网站时加载的所有依赖项。
- ✅ 如果
gtm.js或gtag从您指定的来源加载,则表示您的实现过程正确无误。
- ❌ 如果来源标签页显示
gtm.js或gtag的来源是www.googletagmanager.com,则表示依赖项仍是从 Google 服务器加载的。
- 如需检查您是否已在源代码中修改来源网址,请参阅第 2 步。
- 查看相应代码是否已发布到网站上。
- ✅ 如果
后续步骤
如果您使用了意见征求模式,则可以设置针对特定区域的代码行为,以实现更全面的控制。