Google Universal Analytics自定义维度和trackpageview

时间:2013-04-27 18:07:36

标签: google-analytics

我正在尝试从Google旧分析迁移到Universal Analytics。我的代码如下,universal - developers guide我无法找到解决方案。

在我的分析代码中,我有这些内容。第1部分:

 var _gaq = _gaq || [];
    _gaq.push(['_setAccount', 'UA-123456-1']);

     _gaq.push(['_trackPageview','/tools/one');
     _gaq.push(['_setCustomVar', 1, 'name', 'michael', 1]);

(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);
    })();

另外在我的其他脚本中,我有这段代码片段。第2部分:

if (typeof _gaq !== "undefined" && _gaq !== null) {
    _gaq.push(['_trackPageview', '/dosomework']);
}

如何将2个部分中的“gaq.push”转换为我的通用分析代码?

1 个答案:

答案 0 :(得分:25)

不幸的是,迁移到analytics.js并不像更改代码语法那么简单。

首先,您应该知道Universal Analytics目前处于公测阶段。目前,谷歌没有提供“升级”或“转换”现有网络资源的方法,以利用通用分析(analytics.js)跟踪。您需要设置新的网络媒体资源(或新帐户),然后选中“通用分析”单选按钮。

Google目前建议设置analytics.js代码以及当前的ga.js代码。一旦您对基本数据在两者之间排队感到满意,您可以在页面上保留两个版本,也可以决定删除旧的ga.js代码的日期。旧配置文件中的历史数据仍将存在,但不会绑定到新的网络媒体资源。我不知道Google最终是否会为现有的基于ga.js的网络资源提供“升级”或“转换”功能;到目前为止,我还没有看到有关他们何时/何时会提供此消息的任何消息。

转到Universal Analytics(analytics.js)代码......

Universal Analytics不使用.push语法。相反,它有一个函数ga(),需要将参数传递给它。第一个参数是“command”参数,其他参数用于根据命令传递其他设置,值等。

  • 现在使用'create'命令
  • 设置GA帐户
  • 现在使用'send'命令
  • 完成跟踪页面视图
  • 设置自定义变量*现在作为'send'命令中的参数(仅用于在'send'命令中弹出)或者使用'set'命令(用于将其设置为全部弹出) '发送'在页面上执行的命令)..但关于这个......

自定义变量不再存在

他们确实如此,但实施方式却有所不同。 Universal Analytics提供自定义维度和指标。自定义变量主要是Custom Dimensions现在的样子。主要区别在于,设置变量的名称和范围等内容现在在GA界面中完成,而不是作为函数的参数。此外,您现在可以使用超过5个。要进行此设置,请单击您创建的Web属性,然后您应该看到选项卡

Profiles Tracking ..Custom Definitions

点击Custom Definitions标签,在那里设置自定义维度和指标。

现在转到页面代码

这就是您发布的代码的“等效”:

第一个片段:

<!-- Google Analytics -->
<script>
(function(i,s,o,g,r,a,m){i['GoogleAnalyticsObject']=r;i[r]=i[r]||function(){
(i[r].q=i[r].q||[]).push(arguments)},i[r].l=1*new Date();a=s.createElement(o),
m=s.getElementsByTagName(o)[0];a.async=1;a.src=g;m.parentNode.insertBefore(a,m)
})(window,document,'script','//www.google-analytics.com/analytics.js','ga');

ga('create', 'UA-123456-1');
ga('send', 'pageview', '/tools/one');
ga('set', 'dimension1', 'michael');

</script>
<!-- End Google Analytics -->

注意:如上所述,您可以在界面中设置维度的名称和范围。 'dimension1'应该更改为您创建的任何维度#。

第二个片段:

if (typeof ga == 'function') {
    ga('send', 'pageview', '/dosomework');
}

旁注:与您的问题没有关系,但在您的代码中,您首先发送页面视图,然后设置自定义变量。如果您不知道,如果您在页面视图(_setCustomVar)之后设置了自定义变量(_trackPageview),则您的自定义变量将不会与该页面视图一起发送('/ tools /一击)。它将(假设您的第二个片段稍后被弹出)与第二页视图('/ dosomework'一个)一起发送。不确定为什么你会有两个单独的综合浏览量,或者如果你知道这个操作顺序的事情,但如果你对目前报告中的内容感到满意,那么analytics.js版本的行为方式也是一样的。