Google Universal Analytics自定义维度和trackpageview

tra*_*nte 4 google-analytics

我正在尝试从Google旧分析迁移到Universal Analytics.我有以下代码和来自通用 - 开发人员指南我找不到解决方案.

在我的分析代码中,我有这些行.第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);
    })();
Run Code Online (Sandbox Code Playgroud)

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

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

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

Cra*_*ent 25

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

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

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

继续使用Universal Analytics(analytics.js)代码......

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

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

自定义变量不再存在

他们确实如此,但实施方式却有所不同.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 -->
Run Code Online (Sandbox Code Playgroud)

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

第二个片段:

if (typeof ga == 'function') {
    ga('send', 'pageview', '/dosomework');
}
Run Code Online (Sandbox Code Playgroud)

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

  • 如果你已经阅读了我的最后一面注释,你会发现它是故意这样做的.OP就这样做了所以我就像他那样做了并指出了它 (2认同)