Google跟踪代码管理器-如何从对象触发多个值

时间:2018-09-24 12:28:59

标签: javascript google-tag-manager

我有一个与作者和品牌有关的对象。我想与Google Analytics(分析)一起追踪哪些文章的作者最多。

<script>
MY_OBJECT = {"Ben":["BMW"],"Michael":["Mercedes"],"Charles":["Chevrolet"]}
</script>

如果我只想跟踪一个值,则可以创建一个自定义变量,并将其与我的常规Google Analytics(分析)标记中的自定义维度一起使用。

作者数量可以变化,并不总是三位。

如何触发多个值?

1 个答案:

答案 0 :(得分:0)

您将需要遍历该对象。由于您已使用Google跟踪代码管理器对此进行了标记,因此我假设您要使用GTM,因此您可以直接将值推送到dataLayer,而不是直接发送跟踪调用:

MY_OBJECT = {"Ben":["BMW"],"Michael":["Mercedes"],"Charles":["Chevrolet"]};
for(key in MY_OBJECT) { 
  dataLayer.push({"event":"push" , "author":key, "brand":MY_OBJECT[key].join(";")}); 
}

现在,您将在GTM中创建“自定义事件”类型的触发器,以监听自定义事件“ push”。然后,您可以创建数据层变量“作者”和“品牌”。对于每次迭代,author变量将从您的对象接收密钥(这是作者名)。

由于“ brand”是一个数组(即使示例中每个条目只有一个数组项),所以我将其连接到字符串中(使用“;”作为分隔符)。现在,您可以将这些变量传递到事件跟踪标记,并在“推送”事件上触发它(也许您想使用其他名称)。