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

How can I send an array of data to Google Tag Manager as seperate items?

我对问卷有十个答案:

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 跟踪代码管理器,而不是用逗号分隔的字符串,我该如何实现?

你的for循环有问题:

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

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

  1. 一次通过所有答案:

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

  2. 并像这样在跟踪代码管理器中分离数据: 一种。创建一个名为 answers 的数据层变量,用于存储名为 answers 的完整数组。 b.创建 10 个自定义 Javascript 变量来访问在步骤 a 中创建的 dataLayer 变量,如下所示:

    功能{ return {{answers}}[i]} //我是答案编号