2

我正在使用带有 Google Analytics(通用分析)的 Google Tag Manager。

这是我的设置,这是我们的捐赠页面

dataLayer 是在 Google 标签之前创建的:

var dataLayer = [{
'pageCategory' : 'Donation Page',
'txnPhase' : 'Transaction Pageview',
'txnT1' : new Date()
}];

在我们的电子商务页面上,我添加了仅在提交事务时才执行的代码(并且它有效)。

//TEMP BATCH
var gaqTemp = [].concat.apply([], gaq); //Puts 3 arrays of eCome data together so I can access it easier

//DIMENSIONS
var giftID = gaqTemp[1];
var txnID = gaqTemp[11];
var txnPhase = 'Transaction Closed';

//METRICS
var giftAmount = gaqTemp[3];
var giftCount = gaqTemp[15];
var txnT2 = new Date();

//PUSH TO dataLayer
dataLayer.push({'giftID' : giftID, 'txnID' : txnID, 'txnPhase' : txnPhase, 'giftAmount' : giftAmount, 'giftCount' : giftCount, 'txnT2' : txnT2});

当捐赠被推送并成功时,结果如下所示: GTM 预览模式数据层消息

这是我的 Google 跟踪代码管理器 (GTM) 设置跟踪数据的样子:

GTM 设置

这是触发器:ClicksDonate_Class,

在此处输入图像描述

最后,这是我在 Google Analytics (GA) 中对自定义指标和维度的设置: 自定义指标设置

自定义尺寸设置

我的任何带有这些自定义指标的报告都没有显示任何结果(经过几天的测试)。

我正在寻找任何建议。

谢谢你,RCS

PS。这是我以前的帖子,我“认为”我解决了我的问题... http://bit.ly/1OOhOH6

是另一个有类似问题的帖子。

4

1 回答 1

2

按“捐赠按钮”按顺序执行以下操作: *(0) 1. 表单中的数据被推入电子商务数组:“_gaq”;2.电子商务数组中的数据发送到neverland(不管在哪里);3. 为连接三个“_gaq”数组而创建的“gaqTemp”数组;4. dataLayer.push() 使用来自“gaqTemp”的选择变量中的对象填充 dataLayer;5. 完成。

*在步骤 (0) 和步骤 (1) 之间的某个位置,当按下按钮时,GTM 触发器会触发(点击带有类的按钮等...)并且标签会触发。

我想要发生的一切都在发生,只是顺序不对。在“点击捐赠按钮”时填充 dataLayer,如下所示:

dataLayer.push({'giftAmount' : ''}); //everything is null at this point

而不是,

dataLayer.push({'giftAmount' : Some Amount});

因为标签触发时变量为空。

我的 dataLayer 显示了日志中所有预期的对象和值,因为它们是被推送的。

这是我真正的问题,在触发标签以收集 dataLayer 数据之前找到一种填充 dataLayer 的方法。

于 2015-12-08T17:09:23.013 回答