You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置Google Tag Manager实现同意授权后跟踪着陆页标签?

解决Iubenda CMP + GTM 首次同意后着陆页跟踪问题

核心思路

通过捕获Iubenda的同意状态变更事件,结合GTM触发条件调整,让标签在用户首次同意时立即发送当前着陆页的跟踪数据,无需等待二次页面浏览。

步骤1:配置Iubenda同意状态变量

在GTM中创建自定义JavaScript变量,用于获取当前用户的对应同意状态(以Analytics类同意为例):

function() {
  // 调用Iubenda官方API获取同意状态
  if (window._iub?.consent?.consents) {
    return window._iub.consent.consents.analytics; // 替换为你需要的同意类型,如marketing
  }
  return false;
}

命名该变量为Iubenda_Analytics_Consent。

步骤2:捕获Iubenda同意变更事件

Iubenda在用户提交同意后会触发状态更新,你有两种方式捕获该事件:

方式A:利用Iubenda内置回调(推荐)

在网站的Iubenda初始化代码中添加回调,当对应同意被授予时,向GTM的dataLayer推送自定义事件:

_iub.csConfiguration.onConsentUpdated = function(consent) {
  // 当Analytics同意被授予时,推送事件
  if (consent.consents.analytics) {
    window.dataLayer.push({
      'event': 'analytics_consent_granted',
      'current_page_url': window.location.href
    });
  }
};

方式B:监听GTM中的默认同意事件

如果你在GTM调试模式中已经看到同意更新的事件(如iubenda_consent_updated),可直接使用该事件名,无需修改网站代码。

步骤3:调整GTM标签触发条件

以GA4页面浏览标签为例,修改其触发条件:

  • 保留原有的所有页面浏览触发器,添加过滤条件:{{Iubenda_Analytics_Consent}} 等于 true,同时新增「已发送页面标记」的判断(避免重复发送)。
  • 新增自定义事件触发器,事件名称设为你在步骤2中定义的事件名(如analytics_consent_granted),同样添加过滤条件:{{Iubenda_Analytics_Consent}} 等于 true。

步骤4:添加防重复发送机制

创建一个本地存储变量(命名为Page_View_Sent),存储键设为gtm_page_view_tracked,类型选择「本地存储」。

在GA4标签的「高级设置」中,添加「设置变量」动作:将Page_View_Sent的值设为{{Page URL}}。

然后在两个触发器的过滤条件中,新增:{{Page_View_Sent}} 不等于 {{Page URL}}。

步骤5:测试验证

  1. 打开GTM预览模式,清除网站Cookie后首次访问页面。
  2. 拒绝所有同意,确认GA4标签不触发。
  3. 打开Iubenda弹窗,选择同意Analytics类授权,查看dataLayer中是否出现自定义事件,同时确认GA4标签触发并发送当前页面的page_view数据。

内容的提问来源于stack exchange,提问作者Mathieu Lalonde

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.06.28 11:42:55