繁体   English   中英

如何在 GTM 中为数组的每个成员创建 GA 事件

[英]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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM