Stape
搜索
免费试用

使用 sGTM 和 Cookiebot 进行服务器端同意管理

已更新
2024-11-26
已发布
2023-11-09

在现代网络环境中,保护网站访问者的数据并维护他们的隐私不仅是一种优秀的实践措施,也是一项法律义务。 同意管理是获得用户同意收集数据的最常用方法。 

实现同意的最简单方法之一是使用 Google Tag Manager 的同意模式和 Cookiebot 等专用同意管理平台等工具。

尊重用户同意的要求在一些国家早已有之,因此,大多数网站已经调整了网络追踪,以处理用户的同意。 但这几年,服务器端标签的普及率越来越高,于是出现了一个直接的问题:在服务器端标签中如何处理用户同意,是否有必要进行同意管理?

在这篇文章中,我将讨论服务器 Google Tag Manager 中的服务器端同意管理,以及如何根据用户同意调整服务器端标签行为。 在此,我们将展示如何为服务器端 Google Analytics 4 和 Facebook Conversion API 设置同意管理。 

了解什么是服务器端同意管理

很多人错认为同意管理室服务器端标记过程中的可选工作。 但,这并不对。 服务器端标记需要同意管理,这与网页追踪类似。 

同意功能如何在服务器 GTM 运行:

  1. 您网站上的同意横幅会收集用户的同意选择,并将其传输到您选择使用的标签,以将同意状态从网页传输到服务器 GTM(如 Google 标签)。
  2. 这个标签会发送一个带有同意状态的参数给 sGTM。 
  3. 在服务器中,您根据参数值中展示的同意状态来调整标签行为。
how consend works in server google tag manager

要在服务器 GTM 中设置同意管理,您需要以下部件:

  • 网页和服务器 Google Tag Manager 容器。
  • 服务器端 Google Analytics 4 已实施。 我们将使用 ss GA4 从网页容器转发有关用户同意状态的信息。 可以使用其他标签来将同意状态传输到服务器 GTM 容器。 我们也会在这篇文章中讨论。

有两种类型的 Google Tag 同意行为。 您选择哪种同意行为会影响服务器端同意的实施: 

  • 基础的同意模式。 在用户同意之前,Google 标签加载会被封禁。 在这种情况下,Google 不会发送任何 ping,这意味着不可能使用 ss GA4 来传输用户同意状态。 在这种情况下,我们会使用 Data Tag/ Data Client 来发送同意状态到 sGTM。
  • 高端同意模式。 即使在用户不同意的情况下,Google 标签也会发送 ping,但这些 ping 是匿名的,不使用 cookie。 这有助于利用机器学习来对不同意的用户的行为进行建模。 实施高端同意模式可解除 GA4 行为建模对同意的限制。 这表示,Google 会使用同意用户的数据来对不同意用户的行为建模。 借助高端同意功能,您可以使用 GA4 ping 来在服务器上追踪用户同意情况。

在服务器端 GA4 请求中的 GSC 参数用于携带用户的同意状态。 以下是辨别用户同意的 GSC 参数值的列表:

GSC市场营销 cookie分析数据 cookie
G100
G101
G110
G111

如何借助 Cookiebot 以及 sGTM 设置服务器端同意管理。

我们会在本指南中介绍两种场景:

  • GA4 高端同意模式。在这种情况下,即使未获得同意,GA4 也会发送匿名请求。 GSC 是区别不同同意状态的参数。
  • GA4 基础同意模式。 Google 不发送 ping。 Data Tag/Data Client 会在网页发送用户同意选择到服务器。

在网页 Google Tag Manager 容器中设置 Cookiebot。

1.1 在网页 GTM 配置同意模式。 访问Admin选项卡,点击Container Settings,然后勾选复选框"Enable consent overview。"

Configure consent mode in web GTM

1.2 从 Gallery 模板中添加 Cookiebot 模板。 在网页 GTM 的左边菜单点击 Templates,搜索 Cookiebot CMP 标签模板,然后点击 Add to Workspace。

Add Cookiebot template from template Gallery

1.3 配置 Cookiebot CMP 标签,方法是添加"Cookiebot ID。"您可以在您的 Cookiebot 账户中找到 "Cookiebot ID"。 触发点应该为"Consent initialization - All pages"。

Configure Cookiebot CMP tag

1.4 如果您想要使用地区专属同意设置,打开 Cookiebot 标签然后设置默认同意状态,方法是添加一个地区或国家,然后说明具体的同意状态。 在下方示例中,同意已授权给加利福尼亚。 

region specific consent settings

2. 配置服务器 GTM 容器。

2.1 在 sGTM 中创建一个新的服务器容器。 要做到这点,点击 Admin, 在容器栏点击 +,添加容器名称,然后选择服务器。 选择 Manually provision tagging server 然后复制容器配置。 

Select Manually provision tagging server and copy container config. 

2.2 创建一个 stape.io 账户,添加您在上一步中复制的 容器名称容器配置,然后选择一个服务器位置。 点击创建容器。 

add the Container name, Container Config

2.3 为您的服务器 GTM 容器配置一个自定义域。 在自定义域添加后,您需要配置您在屏幕上看到的 DNS 设置。 域名验证可能需要 72 小时。

2.4 访问服务器 Google Tag Manager 容器设置,然后添加一个自定义域或者默认在服务器 GTM 中标记服务器 URL(不推荐)。

server container url

2.5 在您的网站的自定义域更新网页 GTM 脚本 

Update the web GTM script on your website with the custom domain. 

3. 设置服务器端 GA4。

3.1 打开网页 GTM 容器,然后创建一个新标签(或修改现有标签),标签类型为 Google 标签。 添加您的 Google 标签 ID

在这个部分配置设置,添加以下参数:

  • 名字:server_container_url。
  • 值:输入您在步骤 2.3 中创建的 URL。

添加触发点到 GA4 标签。 通常情况下,应在所有页面视角触发。 

Add trigger to GA4 tag

3.2 访问服务器 GTM 容器然后创建一个 GA4 客户端。 

Go to the Server GTM container and create a GA4 client. 

3.3 在服务器 GTM 容器中创建 GA4 标签。 只要有 GA4 客户端被声明,该标签就会触发。 

Create GA4 tag in server GTM container. The tag should trigger whenever a GA4 client is claimed. 
Create GA4 tag in server GTM container. The tag should trigger whenever a GA4 client is claimed. 

3.4 打开网页和服务器 GTM 预览以及 GA4 调试器来确认服务器端 GA4 是否正确运作。 您应该能在网页和服务器 GTM 预览中看到 GA4 标签被触发,GA4 调试器中也能看到事件。 

web and server GTM previews 
GA4 debugger

4. 服务器端 GA4 中的同意设置

Cookiebot 有与 Google Tag Manager 协同运作的功能,可以根据用户的同意情况修改标签行为。 一些标签(大多数是 Google 标签(Google Analytics、Google Ads 以及 Floodlight))已经内置在同意检查功能中。

服务器 Google Analytics 4 会根据网页 GTM 中的同意配置来调整行为。 不需要配置服务器 GA4。 所有步骤都会在网页 GTM 中设置。  

4.1 高端同意模式

内置同意检查功能的标签会根据用户的选择自动调整标签行为。 请注意,例如,即使用户不同意分析 cookie,GA4 仍会发送匿名 ping。 要在 GA4 中开启高级同意配置,请访问网页 GTM 并将 "Consent Settings" 更新为 "No additional consent required"。 无需在 sGTM 中配置。

advanced consent configuration in GA4

4.2 基础同意模式

如果要限制 Google Analytics 发送匿名 ping,请将 "Consent Settings" 设置为 "Require additional consent",并选择所需的类型。 服务器 Google Analytics 4 会根据网页 GTM 中的同意配置来调整行为。 因此,无需在 sGTM 中进行其他设置。

basic consent mode

5. Facebook Conversion API 中的同意设置

5.1 GA4 中的高端同意模式。

在这种情况下,我们将把匿名 GA4 请求放到服务器 GTM,并根据 GCS 参数值修改 Facebook CAPI 触发点。 在 ad_storage cookie 被允许后,Facebook Conversion API 应该就能触发。 在这种情况下,GCS 参数应该是 110 或者 111。

5.1.1 在服务器 GTM 中创建一个新的变量,这样会从 GA4 请求中解读 GCS 参数。 使用事件数据变量类型然后添加 x-ga-gcs 到关键路径。

event data variable

5.1.2 只有在 x-ga-gcs 变量等于 110 或 111 时,更新 Facebook Conversion API 标签到触发点。 

Update the Facebook conversion API tag to trigger only when the x-ga-gcs variable equals 110 or 111

5.2 GA4 中的基础同意模式。

在基础同意模式下,GA4 不会向服务器容器发送匿名 ping,因此您需要另一种方法来向 sGTM 发送用户的同意状态。 在本示例中,我们将使用 Data Tag 和 Data Client 向 sGTM 发送用户同意信息。 

5.2.1 打开网页 GTM 然后从社区模板库中添加 Data Tag 。 设置事件名称、添加传输 URL(我们已经在步骤 2.3 中创建了 URL)、向下滚动到同意设置,选择"require additional consent for the tag to fire",然后选择 ad_storage。 

add Data Tag from the community template galley. 

5.2.2 Data Tag 应该会在自定义事件 cookie_consent_update 中触发。 

Data tag should trigger on a custom event cookie_consent_update. 

5.2.3 下载 Data Client 模板并将其添加到您的 sGTM 容器中,方法是进入模板部分,点击 New,点击右上角的三个点,然后选择 Import。 

data client template

5.2.4 设置一个 Data Client 。 在客户端部分点击 New 然后选择您已经下载的 Data Client 模板。 Data Client 的目标是检索那些从 Data Tag 发送到 sGTM 容器的信息。

set up data client

5.2.5 更新您 Facebook Conversion API 标签的触发点。 新的触发点应在 Data Client 被声明时运作,事件名称为 marketing_consent。

Update the trigger of your Facebook conversion API tags

总结

在利用服务器端标记的功能时,实施服务器端同意管理是关键的步骤,它能确保合规性以及数据隐私。 使用服务器 Google Tag Manager 以及 Cookiebot 等工具,可以精简和简化管理服务器端同意的流程。

服务器端同意管理让您能够获取、管理用户对网站或应用程序上运行的各种追踪和分析技术的同意数据。 这一点在当今的数字环境中尤为重要,因为 GDPR 和 CCPA 等隐私法规要求企业在数据收集方面保持透明,并获得用户的明确同意。

希望本指南能帮助您了解在服务器 Google Tag Manager 中设置同意管理的流程。 如果您有任何问题,请随时联系我们。 

尝试 Stape 处理所有与服务器端相关的事务