如何将一组数据作为单独的项目发送到Google跟踪代码管理器?

时间:2017-05-19 17:24:34

标签: arrays loops for-loop google-tag-manager

我对调查问卷有十个答案:

var answers = ['answer1', 'answer2', 'answer3', ... ,'answer10']

以下内容将标记作为单个逗号分隔字符串发送到Google跟踪代码管理器:

dataLayer.push({
  'questionnaireAnswers' : answers,
  'event' : 'questionnaire'
});

这会单独发送项目,但它似乎并没有发送所有项目(我认为它在for循环期间导致瓶颈?):

for(var i = 0; i < answers.length; i++) { 
  dataLayer.push({
    'questionnaireAnswers' : answers[i],
    'event' : 'questionnaire'
  });
}

我想同时将这些内容发送到Google跟踪代码管理器但是单独发送,而不是使用逗号分隔字符串,我将如何实现此目标?

1 个答案:

答案 0 :(得分:0)

for循环中存在问题:

for(var i = 0; i < answers.length; i++) { 
  dataLayer.push({
    'questionnaireAnswers' : answers[i],
    'event' : 'questionnaire'
  });
}

此for循环将每次一个答案传递事件问卷 10(answer.length)次。你应该试试这个:

  1. 立即传递所有答案:

    dataLayer.push({   'questionnaireAnswers':答案,   '事件':'问卷' });

  2. Tag Manager本身的单独数据如下: 一个。创建一个名为answers的dataLayer变量,该变量存储名为 answers 的完整数组。 湾创建10个自定义Javascript变量,这些变量访问步骤a中创建的dataLayer变量,如下所示:

    function { return {{answers}} [i]} //我是答案号