|

如何为面向欧美的网站添加跟踪许可?

只要我们做出海生意的就一定知道欧洲有GDPR,美国有CCPA。因此我们访问这两个地区网站的时候总会有弹出窗口,问你要不要接受Cookie,要不要接受跟踪。这是隐私保护合规的重要举措,但这也为我们制造了不少麻烦。因为我们现在必须要在用户允许跟踪之后才能调用Google Analytics这样的工具进行跟踪了。

本篇马老师将会用Google Tag Manager结合GA4标签在WordPress平台上用一个例子来解释部署方法。

安装弹窗插件

我们这次使用的是一个叫Beautiful Cookie Consent Banner的WP插件。

安装插件到WP用于弹窗
安装插件到WP用于弹窗

该插件是马老师随便找的,有几个优点:

  1. 免费!!!
  2. 不会从第三方下奇怪的资源。
  3. 自动会推送event到datalayer
  4. 可定制对话框样式。
  5. 会自动删第一方Cookie。

启用后,按喜好设置。但记得Push consent event to dataLayer要勾上。

在本文的实例中,我们Compliance Type会选择Ask user to Opt-in。这样的话,当新用户来到我们网站的时候Google Analytics不会启用,一直到用户点击Allow允许我们跟踪以后GA4的标签才触发。同时,我们会把选择保存至第一方Cookie,记住用户的选项。

另外我们先记下来:

  1. beautiful_cookie_consent_updated会被push到datalayer
  2. cookieconsent_status是默认使用的cookie名称,有allowdeny两个值。

GTM中启用Consent Overview

Admin > Container Settings > Additional Settings可以打开Consent Overview模式,该模式还在beta中。

许可一栏界面入口
许可一栏界面入口

回到Workspace点击左边菜单的Tags,可以看到所有Tag的列表。而在列表的右上角,在New按钮的左边,有一个盾牌打勾的图标。这里就可以去到Consent Overview界面。这里可以看到哪些被设置和consent相关的标签和未设置关联的标签。

今后需要了解Container中关于Consent的问题都可以到这个界面查看。方便很多。

添加变量获取Cookie状态

添加一个ConsentStatus变量
添加一个ConsentStatus变量

这个变量用于抓取Cookie中插件设置的值,通过这个值我们可以决定是不是触发GA4的标签。当然,我们也会对其设默认的值deny

极诣认为通过Cookie来获得状态要比在datalayer中获取要可靠。然后我们把Cookie的值转化为Google听得懂的Consent Mode的值:granted或者是denied

一个Lookup Table类型的变量
一个Lookup Table类型的变量

上面我们建立了一个Lookup Table类型的变量,把Cookie的值翻译成了denied或者granted

新建两个触发器捕获许可变动

首先我们建立一个新Trigger,用来记录用户点击Allow或者Deny按钮的行为。

Cookie许可更新触发
Cookie许可更新触发

接下来我们要捕捉GTM中许可变更的事件,这也要建一个Trigger。

捕获GTM中许可变动事件
捕获GTM中许可变动事件

这就问题来了,beautiful_cookie_consent_updated事件是如何变成gtm_consent_update事件的呢?我们先把问题放一放。因为接下来我们就要建一个标签了。

新建初始化许可和更新许可的标签

首先,每个页面载入的时候都会有一个早于所有事件发生的事件——Consent Initialization。在这个事件发生的时候其他标签还没被触发。此时我们便可以对许可进行初始化。

这里我们用到了Simo Ahava的第三方标签模板。我们可以在Community Template Gallery中找到。名为Consent Mode (Google tags)。载入后按下图设置:

默认许可设置标签
默认许可设置标签

这里用到了我们刚刚从Cookie中抓的变量Cookie Consent,其值为deniedgranted。Command设为Default表示我们抓的是当前的默认值。

同样,我们再做一个Tag。

更新许可标签
更新许可标签

这一次我们Command设为Update。关联的触发器是Consent Updated,这是我们上面新建的。同时我们会把一个Event推送到dataLayer。这个Event的名字是gtm_consent_update

更新GA4标签

现在,我们可以更新GA4标签来决定什么时候跟踪,什么时候不跟踪了。

为GA4标签设置许可触发条件
为GA4标签设置许可触发条件

我们这次启用了Consent Settings。在ad_storageanalytics_storagegranted的时候标签就会被触发。你可以发现我们还加了一个我们刚才新建的触发器GTM Consent Updated。此时页面不会重新加载,但如果用户是点击了Allow,那么GA4将会在此时加载。

到此为止,我们已经建立了所有我们需要的Tag,Trigger,Variable。你可以调试一下,看看是否起作用。成功后你可以把更多的标签添加许可并在Consent Overview中管理。

这个极诣的例子中,我们用到了一个插件,这其实是一个轻量级的CMP(Consent Management Platform)。当然市面上有更多更复杂的CMP,有的和GTM也有不错的整合,值得读者的探索。

Google Consent Mode

讲到这里,我们有必要再提醒一下各位读者。本篇我们举的例子是根据不同的用户许可来决定是否Fire GA4标签的。这是非常严格的做法,你会因为用户未授权丢失用户访问的统计。但事实上,我们可以对GA4标签不做处理。在Google Consent Mode下,它会根据不同许可改变谷歌系标签的行为。这些标签包括Google Ads,Google Analytics,Floodlight。也就是说上例中最后一步如果我们不做,GA4的Library会被加载,但是是否获取敏感信息是否使用Cookie依旧会看Consent状态。

类似文章