如何在GTM中检测数据层数组变量,配置页面浏览触发条件
在GTM中检测数据层数组是否包含指定元素的解决方案
步骤1:先创建数据层变量获取department数组
- 进入GTM后台,点击「变量」→「用户定义变量」→「新建」
- 变量类型选择「数据层变量」,数据层变量名填
department,变量名设为DLV - department(方便识别),保存。
步骤2:创建自定义JavaScript变量判断是否包含"sales"
- 新建用户定义变量,变量类型选「自定义JavaScript」
- 输入以下代码:
function() { // 获取数据层的department数组,无数据时返回空数组避免报错 var departments = {{DLV - department}} || []; // 检查数组中是否存在"sales",返回布尔值 return departments.includes("sales"); }
注:如果需要兼容IE浏览器,把
includes换成indexOf("sales") !== -1,IE不支持数组的includes方法。
- 变量名设为
Dept Contains Sales,保存。
步骤3:创建sales_pageview触发器
- 点击「触发器」→「新建」,触发器类型选页面浏览 - DOM Ready(或Window Loaded,确保数据层已完成推送)
- 触发器命名为
sales_pageview - 在「触发条件」里添加规则:
{{Dept Contains Sales}}等于true - 保存触发器,之后把需要触发的标签关联到这个触发器即可。
验证方法
打开GTM的预览模式,访问目标页面:
- 在「数据层」标签页确认
department数组已正确推送 - 在「变量」标签页查看
Dept Contains Sales变量是否返回true - 在「触发器」标签页确认
sales_pageview触发器已触发
内容的提问来源于stack exchange,提问作者simlpymarkb
相关产品推荐
相关产品推荐

