数据层变量中的逗号分隔列表

时间:2018-10-16 10:13:29

标签: google-tag-manager

我在页面上有一个类别的数据层变量。我已经正确触发了该变量,但是此变量中的值可以是多个类别,因此以逗号分隔的列表形式出现:

dataLayer = [{
'storeCategory': 'major store', 'food', 'childrenswear', 'health & beauty'
 }]; 

我想做的是为列表中的每个类别触发一次GA事件:

Event catgeory: "Store"
Event action: "ViewCategory"
Event label: {storeCategory value}

我觉得我需要使用自定义JavaScript变量来解析列表,但不确定如何将其与触发器或标签链接起来。

1 个答案:

答案 0 :(得分:1)

  1. 您的dataLayer不正确,'storeCategory'变量应为数组,我认为您只是缺少括号。

我不确定您需要多少帮助,但实际上您需要:

  1. 创建一个数据层变量以捕获storeCategory数组。

  2. 创建一个自定义html标签,该标签会在“所有页面”上触发以遍历storeCategory数组,如下所示:

<script>
  var cats = {{store category}};
  var catLen = cats.length;

  for (var i = 0; i < catLen; i++){
   dataLayer.push({
     'event': 'category-view',
     'category':cats[i]
   });

  }
</script>
  1. 创建另一个数据层变量以捕获第2步中的“类别”变量。

  2. 创建一个自定义事件触发器,以在“类别视图”或您命名的任何对象上触发。

  3. 创建一个GA事件代码,并在“标签”中捕获“类别”变量,请确保将其设置为非交互。