从GTM数据层中的数组中提取数据

时间:2016-10-07 15:14:10

标签: javascript google-analytics google-tag-manager

我的数据层中有以下数组:

'pageCategory': ['Category1','Category2','Category3']

我想通过自定义维度在google analytics中传递这些类别中的每一个。根据我在Google论坛上找到的一些答案,我在GTM中创建了以下HTML标记:

<script>
  var categories = {{sub_Categories}};

  for (var i=0; i<categories.length; i++) {
    dataLayer.push({
      event: 'categoryProcessed',
      category: categories[i]
    });
  }
</script>

在预览调试模式下,我可以看到标签正在为每个类别触发一个事件,并为每个事件推送不同数据层中每个类别的值。

然后我有点卡住了,我真的不知道下一步应该怎么做。我是否需要针对每个事件触发GA分析TAG?

1 个答案:

答案 0 :(得分:2)

是的,您可以为 categoryProcessed 创建自定义事件触发器,然后为每个dataLayer.push()触发一次事件标记。您需要为类别创建数据层变量,以便您可以动态提取值。

但是,发送包含每个类别名称的事件都是过度的。我建议在单个事件标记的自定义维度字段中将类别作为逗号分隔的字符串发送。这样,您只需在页面上触发一个事件,就会发送所有类别:

类别1,类别2,类别3

是的,我承认在GA报告中读取它有点难看,因为您不能只将每个类别隔离为自己的行,但您可以从GA中提取数据并在Google表格中处理它,例如

如果您想要为每个类别发送一个事件,请按照我在第一段中的建议进行操作。请注意,您将向GA发送大量活动。您可能还希望将“非交互”字段设置为“真”,以便在执行此操作时不会混淆会话化(例如跳出率)。