【发布时间】:2018-08-08 12:54:55
【问题描述】:
我想解析一个“推送”的数据层字符串。我打算用它来跟踪点击事件并在 Google Analytics 中设置适当的渠道,它看起来如下:products.view.19|查看最近的产品|19
- 第一部分 (products.view.19) 是唯一的页面标识符。
- 第二部分(查看最近的产品)是动作。
- 最后一部分 (19) 是动作标识符,这样可以更容易地对动作进行分组和比较。
所以我做了以下操作,我首先创建了一个触发器(当链接中包含“data-trackclick”标签时触发),它将数据值推送到一个变量(数据层的变量)。但是,现在我想将该变量拆分为 3 个新变量,如上所述。我为此选择了“javascript 宏”,但不知何故它返回了“未定义”。宏如下所示:
function() {
var data = {{TrackClickData}};
var pieces = data.split('|');
if (pieces[0].length()) {
return pieces[0];
} else {
return data;
}
}
显然这不起作用,因为它只会在初始加载时运行,而不是(像我想的那样)在请求宏时运行,所以它应该以某种方式在“点击”时触发,然后相应地设置变量。
这可能吗?或者我真的必须在脚本标签中添加 dataLayer.push() 吗?
【问题讨论】: