Javascript 从GTM数据层中的阵列提取数据

Javascript 从GTM数据层中的阵列提取数据,javascript,google-analytics,google-tag-manager,Javascript,Google Analytics,Google Tag Manager,我的数据层中有以下数组: 'pageCategory':['Category1'、'Category2'、'Category3'] 我想在google analytics中使用自定义维度传递这些类别中的每一个。根据我在谷歌论坛上找到的一些答案,我在GTM中创建了以下HTML标记: <script> var categories = {{sub_Categories}}; for (var i=0; i<categories.length; i++) { dat

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

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

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

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

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

变量类别={{sub_categories}};

对于(var i=0;iYes),您可以为已处理的类别创建一个自定义事件触发器,然后为每个
dataLayer.push()触发一次事件标记。您需要为category创建一个数据层变量,以便动态地拉入该值

但是,使用每个类别名称发送事件太过分了。我建议在单个事件标记的自定义维度字段中以逗号分隔的字符串形式发送类别。这样,页面上只会触发一个事件,发送所有类别,如:

类别1,类别2,类别3

是的,我承认在GA报告中阅读有点难看,因为你不能仅仅将每个类别作为自己的行来隔离,但是你可以从GA中提取数据,然后在Google表单中处理


如果您确实希望每个类别发送一个事件,那么按照我在第一段中的建议进行操作。请注意,您将向GA发送大量事件。您可能还希望将“非交互”字段设置为True,这样您就不会干扰会话(例如,跳出率)这样做时。

谢谢Simo。因为我主要是从电子表格中工作,我想逗号分隔字符串是最好的解决方案。