作者
Ira Holubovska
在本文中,我们将介绍如何在 Google Tag Manager 服务端容器中设置自定义域名。为 sGTM 使用自定义域名的主要优势在于,它可以通过设置第一方 Cookie 而非第三方 Cookie 来延长 Cookie 的生命周期。
本指南适用于单个域名。如果您的配置涉及多个域名或子域名(例如独立的国家/地区网站、使用独立子域名的博客等),其中涉及的跨域访客关联和用户同意处理将超出单个自定义域名的配置范围;详情请参阅我们的多域名跟踪最佳实践指南。
使用自定义的 标记服务器 URL(也称为 自定义域名)来设置第一方 Cookie。该 URL 应与您的网站使用相同的根域名。例如,如果您的网站是 `example.com`,则您的标记服务器 URL 可以是 `ss.example.com`。
设置自定义域名有三种方式:

有关这些方法的详细比较,请参阅 服务器端 GTM 域指南。
在 Stape 中选择您的容器,向下滚动,然后点击 Add custom domain。

添加 Subdomain name——可以使用任何您喜欢的名称,但请务必避免使用与广告或跟踪相关的词汇,例如:ad、gtm、stgm、tracking、analytics、metrics、stape、gtag 等。
Content Delivery Network(CDN)通过全球服务器网络分发您网站的资源,以降低延迟、提升不同地区用户的加载速度。如果您的受众地理位置分散,或希望改善 Cookie 跟踪和数据准确性,建议启用此功能。
默认情况下,CDN 处于禁用状态,这意味着 JavaScript 文件(如 gtm.js、gtag.js 和 analytics.js)将直接从托管 sGTM 容器的服务器位置提供。实际上,这会绕过 Stape Global CDN 和 Own CDN,在您的网站与 sGTM 容器之间建立直接、无代理的连接。
| 重要提示:在设置 CDN 之前,请务必了解您所在国家/地区的隐私法规。 |
要启用 CDN,请点击 Add CDN 开关,然后选择以下选项之一:

Stape Global CDN:从距离网站访客位置最近的服务器加载脚本,从而降低延迟、改善地理位置分散受众的页面加载速度。我们在本教程中将使用 Stape Global CDN。此功能免费,适用于所有 Stape sGTM 容器。
Own CDN(与 Automatically (via Entri) 连接选项不兼容):帮助通过您网站的 DNS 提供商路由 sGTM 自定义域名并代理 sGTM 流量。在这种情况下,您网站的 IP 地址与 sGTM 自定义域名的 IP 地址将保持一致,服务器端 Cookie 将被视为第一方 Cookie,从而可以延长 Cookie 的有效期。

接下来,在 How to connect 部分,有两种方式可将自定义域名连接到您的容器:

最简便的域名连接方式。通过 Entri 使用您的 DNS 提供商凭据登录,并授予我们一次性连接域名的权限。之后,您可以直接进入第5步验证域名,无需任何手动配置。

选择此方式时,您需要在托管提供商处手动添加 DNS 记录,以将子域名连接到 Stape。

将自定义子域名添加到容器后,您将看到需要创建的 DNS 记录,以验证自定义域名。DNS 记录取决于您选择的服务器位置和 CDN 选项。下一步将介绍如何添加 DNS 记录。
默认情况下,子域名验证通过 CNAME 记录完成,但如有需要(通常是为了避免添加重复记录),也可以使用 A 记录和 AAAA 记录进行验证。
以下将通过 Cloudflare 分步介绍两种方式的操作流程。您也可以使用任意其他提供商。
| 请注意,A/AAAA 记录与已启用的 CDN 不兼容。 |
在 DNS 提供商处输入 DNS 记录后,返回您配置自定义域名的 Stape 容器页面,点击 Verify。

等待 Stape 完成自定义域名的验证(当容器状态栏从 Verifying 变为 Ready 时表示验证完成)。通常情况下,自定义域名的验证需要 2-3 小时。对于某些 DNS 提供商,记录验证可能需要最长 72 小时。自定义域名验证完成或检测到错误时,我们将通过电子邮件通知您。
如果遇到域名验证问题,请参阅我们的自定义域名故障排除指南。

进入 Google Tag Manager 服务器容器 → Admin → Container Settings → 将 Tagging server URL 更改为您的子域名。

更新脚本
如果您使用自定义域名,强烈建议更新网站上的 Web GTM 脚本。此修改将使 gtm.js 从您的域名加载。为此,请将默认域名 googletagmanager.com 替换为您在上一步中设置的自定义域名。
您也可以使用 Custom Loader power-up 自动完成此过程。Custom Loader 无需手动编辑 GTM 脚本,而是生成一个即用型代码片段,直接从您的自定义域名加载 GTM 和 GA4 脚本。这不仅节省时间,还能使您的跟踪脚本对广告拦截器更具抗性,并确保所有 Cookie 均被视为第一方 Cookie。

前提条件
开始之前,请确保已准备好以下内容:
注意:
为确保某些标记正常运行,您的CDN不应应用缓存或查询字符串排序。 Cloudflare的Query String Sort 或URL normalization例如,会干扰某些服务器端标记使用的 sendPixelFromBrowser API。
逐步配置同源域名
根据您的基础设施,您可以使用不同的平台和服务配置同源自定义域名。以下是每种方案的指南:
注意:
如果您使用的平台未在上方列出,欢迎将建议发送至 support@stape.io.
以下,我们将以Cloudflare为例介绍配置步骤.
要使此选项生效,所有网站流量必须通过Cloudflare代理——Cloudflare Workers功能将允许您同时代理sGTM请求。您还应使用Full模式的SSL/TLS;否则,同源代理可能通过301重定向工作,这是不正确的。
在左侧边栏中,点击 Compute → Workers & Pages → 点击 Create application → 选择 Start with Hello World!选项。

添加Worker名称 → 点击 Deploy.

确定sGTM自定义域名的path(例如:example.com/sgtm、example.com/data或example.com/metrics.
在Worker设置中,点击 Edit code,粘贴类似以下示例的JS代码,其中:
/metrics/是您为服务器容器选择的path。https://sst.shop.stapedesk.com/是您的标记服务器URL。对于标记服务器URL,您有两个选项:
https://wapdsrl.ca.stape.io)。gtm.js和gtag.js经由自定义path加载Custom Loader power-up,使跟踪脚本无法被屏蔽,并启用长期第一方Cookie。如果您使用自定义子域名作为same-origin标记服务器URL,请确保您已在Stape的sGTM容器中添加了自定义域名,并按照此处说明创建了所需的DNS记录。请勿将Own CDN与同源域名一起使用。
export default {
async fetch(request, env, ctx) {
let { pathname, search, host } = new URL(request.url);
pathname = pathname.replace('/metrics/'、'/');
const domain = 'sst.stapedesk.com';
let newRequest = new Request((`https://` + domain + pathname + search), request);
newRequest.headers.set('Host', domain);
return fetch(newRequest);
},
};
部署并保存更改。

前往您的sGTM worker → 点击 Domains → Add domain → Route pattern。从列表中选择您的域名,并添加您用于server GTM的URL,以结尾(在我们的示例中为shop.stapedesk.com/metrics**)。

在您的域名旁边,点击三个点 → Configure Rules.

点击 Create rule → Configuration Rules:
/metrics开头(如果使用不同path请更新)。点击 Deploy.

前往 Rules → Overview → Create Rule → Request Header Transform Rule:
/metrics开头(如果使用不同path请更新)。X-From-Cdn,值为 cf-stape.保存规则。

完成同源设置后,我们还建议更新Custom Loader插件以防止广告拦截器,并在您的网站上实施。不要忘记在其中指定您的Same Origin路径。

更多信息请参阅我们的 Custom Loader指南创建了所需的DNS记录。
1. 在您的Web GTM容器中,添加Google Tag并指定您的Measurement ID(测试用任何ID均可)。将 server_container_url设置为您配置的同源路径(本例中为 https://stapedesk.com/metrics).

2. 为了简化测试,点击 Admin → Container Settings → 在 Server container URLs.

3. 对于同源域名的测试(如下一步所示),您还需要在服务器服务器GTM中配置Client(将数据从Web容器传输到服务器容器)和Google Analytics: GA4标记。
作为Client,我们将使用GA4。
要在服务器GTM中添加GA4 Client,请打开 clients部分 → Create New client → 选择客户端类型 Google Analytics: GA4 (Web) → 添加 客户端名称,然后点击 Save.

要配置GA4标记,请添加标记配置为 “Google Analytics: GA4”的新标记,并在标记中指定您的Measurement ID。

并为标记添加触发器。当客户端名称接收到请求时应触发(本例中Client为GA4):

点击 Preview在Web和服务器GTM容器中均点击。
如果一切配置正确,服务器容器应在您创建的新路径中以预览模式打开。如果出于某种原因预览未在新路径打开,您可以在预览窗口的URL中手动输入。

访问您的网站。在 服务器容器预览中,您现在应该看到来自您网站真实域名的传入 page_view 请求.

为 Google Tag Manager (GTM) 服务端容器添加自定义域名可以显著提升服务端跟踪的成效与灵活性。在本文中,我们提供了两种实现自定义域名的方法。
同源方式具有更高的安全性并能简化 Cookie 管理,非常适合单一、专注的域名。子域名配置则具备出色的灵活性和性能优化空间,适合复杂或多域名的架构。两者在复杂度、性能和管理维护方面各有利弊。请仔细权衡您的技术规范、安全需求及跟踪目标,从而为您的服务端跟踪挑选最合适的配置。
请注意,账号与容器管理(例如了解如何删除 Google Tag Manager 账号)独立于域名配置,但作为维护良好跟踪环境的一部分,同样值得定期复审。
如果您有任何疑问,请访问我们的帮助中心或提交工单。我们的专家团队将竭诚为您解答有关 Stape 托管及服务端跟踪的任何问题。
想要切换到服务端?
免费试用
评论