首页 > 代码库 > Universal Analytics升级完全指引

Universal Analytics升级完全指引

Universal Analytics在2014年4月初完成了公测,抛掉了beta版的帽子,官方也提供了从Google Analytics升级为Universal Analytics的通道。在UA Bata公测一年多的时间中,我设置了传统GA与UA两套跟踪方式并用,在正式版发布以后也把原来的传统GA的网络媒体资源也升级为了UA。目前传统的Google Analytics仍然是可以使用,Google官方说原来的GA在未来非常长的时间内还是可用的,但停用GA全面转向UA是必然的,在停用GA之前也会在后台界面上显示停用和升级的提醒。如果你还没准备好升级你的GA,那目前继续用着也没有任何问题。但如果你要使用UA新增的一些高大上的功能比如自定义维度和自定论指标、跨平台跟踪、在线/在线数据同步、简化的配置控制功能等等,这时你需要把你的GA升级为UA。

为了减小升级的风险和简化升级的步骤,这里有几点建议:

1. 如果担心升级为UA后数据丢失,可以新建一个UA媒体资源与原来的媒体资源并行运作,检查两个媒体资源的数据是否一致。新建的媒体资源的跟踪代码配置也应和原来的媒体资源的跟踪代码配置一致。

2. 建议使用Google Tag Manager进行新建UA媒体资源的配置。这样可在大大简化代码配置的工作。并在GTM中设置一个媒体资源ID的宏,这样到时升级原来的GA媒体资源时只需要把媒体资源ID的宏值修改一下即可(同时也停止了新建 UA媒体资源的数据收集)。

升级步骤

1. 进入Google Analytics的管理面板,在网络媒体模块中有一个“通用Analytics升级”(转移沿未开始)的功能选项,点击进入页面并确认后即可升级。

<a href=http://www.mamicode.com/"http://www.analyticskey.com/wp-content/uploads/2014/05/universal-upgrade-not-start.jpg" class="cboxElement" rel="example4" 871"="" style="text-decoration: none; color: rgb(1, 150, 227);">universal-upgrade-not-start

GA升级为UA的过程中需要把原来的帐号数据进行转移,这个过程大概需要24-48个小时,在此过程中还不能将GA跟踪代码更换为UA跟踪代码,否则数据可能会出问题。另外,在这个时间段中网站的数据可能会有些异常,比如数据来源归属错误(如有明确渠道的流量被归为了直接流量)等等,但在升级完成后数据即会恢复正常。升级完成会看到如下图的提示。

<a href=http://www.mamicode.com/"http://www.analyticskey.com/wp-content/uploads/2014/05/upgrade-finished.jpg" class="cboxElement" rel="example4" 871"="" style="text-decoration: none; color: rgb(1, 150, 227);">upgrade-finished

2. 系统后台升级完成后,我们还需要把原来的GA跟踪代码变更为UA跟踪代码。从目前的情况来看,完成系统后台的升级但不变更原来的GA跟踪代码,数据也还是可以正常收集的,如果你原来的GA跟踪配置相当复杂暂未准备好要升级或暂时还没有时间更换跟踪代码,可以沿用原来的跟踪代码配置,但如果要使用到我们在文章开头介绍的那些高大上功能,更换跟踪代码是必须的。另外,还有部分原来在跟踪代码中的设置现在放进了后台的功能中,比如会话时长、排除引荐来源、增加搜索引擎等等,现在都可以直接在后台进行设置而不需要改动跟踪代码。下边给出了较为完全的跟踪代码升级方法,根据你的实际跟踪需求,把原来的跟踪代码替换为新的UA跟踪代码和后台配置即可。

 

前端跟踪代码升级

通用代码部署:

把后台生成的跟踪代码段加入到页面中,示例代码如下:

<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=http://www.mamicode.com/g;m.parentNode.insertBefore(a,m)
})(window,document,‘script‘,‘//www.google-analytics.com/analytics.js‘,‘ga‘);

ga(‘create‘, ‘UA-XXXXX-Y‘);
ga(‘send‘, ‘pageview‘);

</script>

事件跟踪

谷歌通用分析的事件追踪代码与原有的GA事件跟踪代码类似,只是语法上有些不同,代码组为:

ga(‘send‘, ‘event‘, ‘category‘, ‘action‘);
ga(‘send‘, ‘event‘, ‘category‘, ‘action‘, ‘label‘);
ga(‘send‘, ‘event‘, ‘category‘, ‘action‘, ‘label‘, value);  // value为一数值.
ga(‘send‘, ‘event‘, ‘category‘, ‘action‘, {‘nonInteraction‘: 1}); 
//如果不想影响跳出率,即添加nonInteraction的设置

更多关于事件跟踪的内容可参考官方技术文档:https://developers.google.com/analytics/devguides/collection/analyticsjs/events

 

电子商务追踪

新的电子电子商务追踪代码事下完整代码是:

ga(‘require‘, ‘ecommerce‘, ‘ecommerce.js‘); //加载电子商务插件
ga(‘ecommerce:addTransaction‘, {    // 添加交易
  ‘id‘: ‘1234‘,                     // Transaction ID. Required.
  ‘affiliation‘: ‘Acme Clothing‘,   // Affiliation or store name.
  ‘revenue‘: ‘11.99‘,               // Grand Total.
  ‘shipping‘: ‘5‘,                  // Shipping.
  ‘tax‘: ‘1.29‘                     // Tax.
});
ga(‘ecommerce:addItem‘, {           // 添加商品
  ‘id‘: ‘1234‘,                     // Transaction ID. Required.
  ‘name‘: ‘Fluffy Pink Bunnies‘,    // Product name. Required.
  ‘sku‘: ‘DD23444‘,                 // SKU/code.
  ‘category‘: ‘Party Toys‘,         // Category or variation.
  ‘price‘: ‘11.99‘,                 // Unit price.
  ‘quantity‘: ‘1‘                   // Quantity.
});
ga(‘ecommerce:send‘);  // 发送数据

如果一个交易中有多个不同的商品,每个商品的相关信息都要被发送出去,即在这里要就订单中的每一个商品的信息分别进行调用。大多数电商网站在服务器端执行交易,但无论是GA还是UA,跟踪代码都是从浏览器端发送数据到GA服务器。因此,为了正确发送电子商务数据到Google Analytics,服务器与客户端之间必须进行一定的协作。大部分电商网站在用户购买完成后都会显示一个订单达成确认页面,而我们会把电子商务跟踪代码添加在这个页面的模板中,并动态地将订单和产品数据值写入跟踪代码中。GA官方提供了一个完整的PHP代码示例,可见:https://developers.google.com/analytics/devguides/collection/analyticsjs/ecommerce#booya

 

社会化媒体跟踪

这个可用于跟踪社交媒体的分享和传播行为,示例代码如下

ga(‘send‘, ‘social‘, ‘socialNetwork‘, ‘socialAction‘, ‘socialTarget‘);
ga(‘send‘, ‘social‘, ‘socialNetwork‘, ‘socialAction‘, ‘socialTarget‘, {‘page‘: ‘/my-new-page‘});

其中socialNetwork表示社交网络的名称,如新浪微博、腾讯微博等等;socialAction是媒体动作,比如新浪微博中的分享;socialTarget是社交媒体动作对应的目标,此值通常是网址,但也可以是任意文字;这三个变量都是必填的。另外,你也可以可以针对特定的社交互动设置page字段。若跟踪使用新浪微博分享本站首页的动作,示例代码如下:

ga(‘send‘, ‘social‘, ‘weibo‘, ‘share‘, ‘www.analyticskey.com‘);

自定义维度和自定义指标

这是传统GA自定义变量的升级版。在UA中可以设置了20个自定义维度和20个指标,设置方法分为两步,一是在UA配置文件中新建维度或指标,二是将生成的代码部署到页面文件中。自定义维度或指标数据只能与现有的Hit(Pageview、Event或Trasaction)一起发送,不能单独发送。

自定义维度的配置示例代码如下(与Pageview一起发送):

ga(‘send‘, ‘pageview‘, {
  ‘dimension15‘:  ‘My Custom Dimension‘
});

自定义指标的配置示例代码如下(与Event一起发送):

ga(‘send‘, ‘event‘, ‘category‘, ‘action‘, {
  ‘metric18‘: 2
});

上述代码部署了自定义维度15和自定义量度18。后期将增加一篇关于自定义维度与自定义指标的完整应用的介绍文章。

 

跨域追踪

UA刚出来时提供的跨域跟踪配置的方法相当复杂,不过现在已作了简化,简化后的跨域跟踪配置显得相当简单:

在主域页面上,部署下列代码:

// 加载跨域跟踪插件.
ga(‘require‘, ‘linker‘);
// 定义自动跨域跟踪的网域
ga(‘linker:autoLink‘, [‘a.com, b.com‘]);

在跨域访问的网站上部署下列代码:

ga(‘create‘, ‘UA-XXXX-Y‘, ‘auto‘, {
  ‘allowLinker‘: true
});

后台的数据跟踪相关配置

这些功能原来是由前端的跟踪代码实现的,现在已移到系统后端,这使得这些功能的实施和管理变得非常简单。这一部分内容原来在Universal Analytics通用分析使用指南也有介绍过。具体内容如下:

更改会话和广告系列超时设置

进入帐户管理面板,然后单击“跟踪信息”然后转入“会话设置”:

<a href=http://www.mamicode.com/"http://www.analyticskey.com/wp-content/uploads/2013/04/session-settings.png" class="cboxElement" rel="example4" 871"="" style="text-decoration: none; color: rgb(1, 150, 227);">session-settings

默认情况下,GA和UA在网站被闲置30分钟后或在浏览器窗口关闭时,访问会话结束。而广告系列的归因超时期限为6个月。在不同的业务环境中,你可能需要对会话或广告系列归因的超时期限作出一些调整。

注:会话超时时间不能小于1分钟或大于4小时。而广告系列归因超时时间不能大于24个月(两年)。

如果使用的是传统的Google Analytics跟踪,要想更改会话超时,那么你需要调用的_setSessionCookieTimeout()方法,而要更改营销活动超时,则要调用_setCampaignCookieTimeout()方法。设置方法如下边的例子所示:

  _gaq.push([‘_setSessionCookieTimeout‘, 1800000]);
  _gaq.push([‘_setCampaignCookieTimeout‘, ‘15768000000‘]);

自定义自然搜索源

Google Analytics将默认的搜索引擎列表外的搜索引擎流量列为引荐流量。因此,如果你发现有些搜索引擎(比如Sogou)并不在GA的默认搜索列表里,你可以进入一些简单设置把来自这些搜索引擎的流量归在“自然搜索流量”而不是“引荐流量”中。

具体设置如下,在UA账户的“管理”面板上点击“跟踪信息”,然后点选“自然搜索源”。在这里我们可以把搜狗的搜索引擎添加到搜索引擎列表中。现在,系统将可以把所有从sougo.com的有机搜索流量,具体设置如下图所示。保存后你可以见到已添加的搜索引擎列表。

<a href=http://www.mamicode.com/"http://www.analyticskey.com/wp-content/uploads/2014/05/add-sougo-1.jpg" class="cboxElement" rel="example4" 871"="" style="text-decoration: none; color: rgb(1, 150, 227);">add-sougo-1

注: 之前很长一段时间Sougo都没在GA的默认搜索引擎列表,似乎是在2014年5月才进入列表名单。以前此搜索引擎的流量被归为了引荐来源,现在可以正常地归为搜索流量了。这里只是以Sougo为例,实际上大家以后不用再为Sougo作这样的配置了。

如果你使用的是传统的Google Analytics,那么你需要在跟踪代码(GATC)中调用_addOrganic()方法才能把额外的搜索引擎添加到搜索引擎列表中:

  _gaq.push([‘_addOrganic‘, ‘sougo‘, ‘query‘]);

不把特定域名的流量归于引荐流量

对于一些来自特定域名的流量,在GA报告中你并不想把它归为引荐流量。进入账户的管理面板,单击“跟踪信息”然后选择“引荐排除列表”。

比如我在这里我并不想把我自己的域名analyticskey.com作为引荐来源在分析报告中出现。

如果你使用的是传统的Google Analytics,要实现这个功能你需要在跟踪代码(GATC)中调用_addIgnoredRef()方法:

  _gaq.push([‘_addIgnoredRef‘, ‘analyticskey.com‘]);

不把特定字词的搜索流量归于自然搜索流量

如果你想在自然搜索报告中排除某些特定的搜索字词,在帐户管理面板上点击“跟踪信息”然后选择“搜索字词排除列表”。

把与网站域名相关的搜索词的流量归到直接流量更合理一些,在这里我可以把域名的词组作为排除的字词的选项。设置完成后,如有用户搜索analyticskey进入网站,在报告中这些流量将会被视为直接流量。

如果你使用的是传统的Google Analytics,要实现这个功能你需要在跟踪代码(GATC)中调用_addIgnoredOrganic方法:

  _gaq.push([‘_addIgnoredOrganic‘, ‘analyticskey‘]);