Google Analytics - 设置自定义变量失败!

时间:2010-12-14 18:07:14

标签: javascript google-analytics

我正在尝试在联系表单上设置自定义变量,以跟踪表单提交成功的时间。但是,在我的Google Analytics分析页面中,自定义变量未显示在访问者中 - >自定义变量。据我所知,刷新需要几个小时,但已经过了一周。所以,我的基本假设是它不起作用。我正在使用async _gaq.push()来实现这一目标。基本上,我在我的ajax函数调用之后设置自定义变量以提交联系表单,如果成功,我设置了以下内容:

_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]);

这是我头脑中的谷歌分析代码。

var _gaq = _gaq || [];
_gaq.push(['_setAccount', 'UA-xxxxx-x']); //my google analytic api key
_gaq.push(['_trackPageview']);
(function() {
     var ga = document.createElement('script'); ga.type = 'text/javascript'; ga.async = true;
     ga.src = ('https:' == document.location.protocol ? 'https://ssl' : 'http://www') + '.google-analytics.com/ga.js';
     var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(ga, s);
 })();

实际上更好的问题是,_gaq.push(['_trackPageview']);是否需要在_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]);之后调用_gaq.push(['_trackPageview']);才能“注册”_setCustomVar调用,我可以调用{{1}}在通过javascript加载DOM之后不止一次(天气它是关闭事件或回调ajax函数)。谢谢你们。

2 个答案:

答案 0 :(得分:4)

必须在发送给Google的请求之前设置setCustomVar。它没有设置自己的请求;它只是将变量排队,以便在该页面会话中随时发送。

如果在页面浏览后设置了,并且在向Google Analytics发送任何请求之前页面发生了更改(例如进行了综合浏览或事件跟踪调用),那么Google将永远不会收到有关您自定义的数据变量。

因此,如果您无法在初始网页浏览之前设置变量,则需要生成第二次网页浏览。或者,您可以进行Google分析事件跟踪调用,该调用也可以将您的自定义变量带到Google Analytics。

所以,你需要做的是在你的setCustomVar之后直接设置另一个调用来做这样的事情:

_gaq.push(['_setCustomVar', 1, 'contact', 'success', 3]);
_gaq.push(['_trackEvent', 'contact', 'success',"", 0, true]);

答案 1 :(得分:0)

您是否尝试过_setVar?我们仍在使用旧的跟踪方法,但这是我们使用的代码:

try {
var pageTracker = _gat._getTracker("UA-xxxxxxx-x");
pageTracker._setVar('custom value goes here');
pageTracker._trackPageview();
} catch(err) {}