基于类别名称的Google跟踪代码管理器变量,在历史记录更改时推送

时间:2018-08-01 10:22:42

标签: javascript google-tag-manager

我有一个页面应用程序,我需要在Google跟踪代码管理器中设置一个变量。我将历史记录更改用于页面视图触发器。

因此,数据层需要在加载和每个历史记录更改事件上进行推送。 变量应列出div类x的所有innerText,并用逗号分隔。

这可能吗?下面只是在窗口加载时获得第一个div类x内部文本。

HTML

<div class="x"> tag 1</div>
<div class="x"> tag 2</div>
<div class="x"> tag 3</div>
<div class="x"> tag 4</div>

Google跟踪代码管理器变量

function() {
 return window.document.getElementsByClassName('x')[0].innerText; 
}

变量输出: 标签1,标签2,标签3,标签4

我想将变量添加为页面浏览量的自定义维度。

1 个答案:

答案 0 :(得分:1)

您可以使用自定义JavaScript变量执行此操作。这样的事情应该可以解决问题:

function(){
  // Empty array that will store your comma separated list
  var myVariable = [];

  // Create array of all elements with class "x"
  var myArray = Array.from(document.querySelectorAll('.x'));

  // Loop through myArray to get text and push to comma separated list
  myArray.forEach(function(element){
    myVariable.push(element.innerHTML);
  })

  // Return comma separated list
  return myVariable;
}

然后,您可以将该变量用作自定义维度的值。