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

Extract data from array in GTM datalayer

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

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

我想通过自定义维度在 google 分析中传递这些类别中的每一个。根据我在 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?

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

但是,发送带有每个类别名称的事件是多余的。我建议在单个事件标签的自定义维度字段中将类别作为逗号分隔的字符串发送。这样你只会在页面上触发一个事件,发送所有类别,如:

类别 1、类别 2、类别 3

是的,我承认在 GA 报告中阅读起来有点难看,因为您不能将每个类别单独作为自己的行,但您可以从 GA 中提取数据并在 Google 表格,例如。

如果您确实想为每个类别发送一个事件,请按照我在第一段中的建议进行操作。请注意,您将向 GA 发送大量事件。您可能还想将 Non-Interaction 字段设置为 True,这样您就不会在这样做时弄乱会话(例如跳出率)。