[英]How to Create GA Events for Each Member of an Array in GTM
在我们的数据层中,我们为我们的产品提供了一系列附加组件
Add-ons: [
{code: 'wheels', selection: 'alloy'),
{code: 'finish', selection: 'pearl'}
],
不幸的是,它们对于每种产品都不相同,并且不会以相同的顺序返回。
我们想为每个选定的附加组件创建 GA 事件,使用数组中的代码和选择作为事件 Action 和 Label。 所以我们需要循环遍历数组,为每一项创建一个新的事件,并在事件中使用数组的元素。
我创建了一个拉入数组的 GTM 变量(工作正常),但现在我需要触发事件跟踪。 我一直在与 forEach 合作
<script>
{{addon-list}}.forEach(function(arrayItem) {
dataLayer.push({
'event': 'GAEvent',
'eventCategory': 'AddOn',
'eventAction': {{addon-list}}.code,
'eventLabel': {{addon-list}}.selection,
'nonInteraction': 1
})
});
</script>
当它触发一个事件时,它对于 Action 和 Label 是未定义的。 有任何想法吗? 这似乎是一件方便的事情,所以我确定有人已经/正在这样做。
通过大量的迭代,我设法得出了一个解决方案。
首先,由于数据的处理方式,拉入数组的 GTM 变量需要是版本 1。
那么脚本是:
<script>
{{addon-list}}.forEach(createEvent);
function createEvent (addon) {
dataLayer.push({
'event': 'GAEvent',
'eventCategory': 'AddOn',
'eventAction': addon.code,
'eventLabel': addon.selection,
'nonInteraction': 1
})
};
</script>
通过声明 addon 的值并在变量中使用它来拉入数组的元素,它起作用了。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.