星期二, 一月 5, 2010 Categorized under 网站分析

如何在同一网站部署多个Google Analytics帐户?

当你已经成功的在谷歌分析 Google Analytics中,创建了一个配置文件帐户。你会发现谷歌分析生成的跟踪代码中会有一个唯一的数字ID帐户号码,例如:UA-XXXX-1,每个ID会对应一个相应的GA配置文件,通常我们会按照官方提供的代码去部署,但是无法满足我们更多个性化应用需求,例如:我的网站有多个域,我希望不同的域的访问使用不同谷歌分析帐户;或者我希望同一网站部署多个帐户,帐户A分析所有的流量,帐户B只统计部分频道的流量;

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-XXXXX-1″);
pageTracker._trackPageview();

var otherTracker = _gat._getTracker(“UA-YYYYY-1″);
otherTracker._trackPageview();
</script>

在以上的代码中,哦们可以看到不同的GA配置文件ID“UA-XXXXX-1”和”UA-YYYYY-1“ 当用户访问含有这段代码的网页后,首先GA会把数据发送到UA-XXXXX-1,然后在发送到UA-YYYYY-1,两个帐户
同时获取到了相应的数据,而且数据是相互独立的,不甚至可以针对不同帐户应用不同的过滤器,得到你所需要的分析数据。下面将列出几种常见应用是需要的GA代码部署:

一、我有多个网域,我需要使用不同的帐户分析不同域的访问数据

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-xxxxx-1″);
pageTracker._setDomainName(‘www.xxx.com’);
pageTracker._trackPageview();

var otherTracker = _gat._getTracker(“UA-yyyyy-1″);
otherTracker._setDomainName(‘www.yyy.com’);
otherTracker._trackPageview();
</script>

二、在同一网站部署不同格式的代码

有些谷歌分析代码,可能会根据不同格式的cookie写入数据,这样得出的数据可能对我们产生很多疑惑,请查看以下代码

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-xxxxx-1″);
pageTracker._setAllowHash(false);
pageTracker._setAllowLinker(true);
pageTracker._trackPageview();

var otherTracker = _gat._getTracker(“UA-yyyyy-1″);
otherTracker._trackPageview();
</script>

以上代码中,我们会发现第一组帐户ID,”UA-xxxxx-1″使用的是跨域跟踪的代码,当然也是按照跨域跟踪的cookie算法来发送数据到谷歌分析的服务器,但第二组帐户ID,“UA-yyyyy-1”使用的是
谷歌分析官方提供的标准跟踪代码,和第一种算法当然也截然不同。我们可以使用这种部署方法来发现代码部署存在的问题!

三、同一网站,我需要不同的页面得到独立的分析数据

我们可能会遇到这样的应用,在同一网站下我希望不同的页面得到独立分分析数据,例如我们使用UA-xxxxx-1跟踪网页A,使用UA-yyyyy-1跟踪网页B。如果用户第一次进入访问了A网页,2天后,又再次访问,但是进入了B网页,这时谷歌分析会有综合浏览量等数据还是发送到A。

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-aaaaa-1″);
pageTracker._trackPageview();

var otherTracker = _gat._getTracker(“UA-bbbbb-1″);
otherTracker._trackPageview();
</script>

四、同一网站,不同用户类型访问(使用GA自定义段),得到独立的分析数据

假设我们是一个交友类型的网站,我们可以根据pageTracker._setVar获得用户的类型数据,不同类型的用户的访问,发送到不同的GA帐户.谷歌分析用户自定义区段值是存储在了cookie (__utmv)

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-xxxxx-1″);
pageTracker._setVar(‘Member’);
pageTracker._trackPageview();

var otherTracker = _gat._getTracker(“UA-yyyyy-1″);
otherTracker._setVar(‘Male’);
otherTracker._trackPageview();
</script>

以上代码中,我们会发现,使用的是两端相同的代码.这段代码应用必须要注意,您不能使用第一段代码跟踪会员/非会员,第二段、第三段代码来跟踪定义的会员类型,例如是男性会员还是女性会员,因为我们使用的是_setVar,用户在此访问时会覆盖_setVar的处理。

五、同一网站,使用不同的GA帐户,及不同cookie跟踪网站

<script type=”text/javascript”>
var gaJsHost = ((“https:” == document.location.protocol) ? “https://ssl.” : “http://www.”);
document.write(unescape(“%3Cscript src=’” + gaJsHost + “google-analytics.com/ga.js’ type=’text/javascript’%3E%3C/script%3E”));
</script>

<script type=”text/javascript”>
var pageTracker = _gat._getTracker(“UA-xxxxx-1″);

pageTracker._setDomainName(‘xxx.com’);

pageTracker._setCookiePath(‘/directory/’);
pageTracker._trackPageview();

var otherTracker = _gat._getTracker(“UA-yyyyy-1″);
otherTracker._setDomainName(‘xxx.com’);
otherTracker._trackPageview();
</script>

如果你想在同一网站跟踪所有的页面访问,并且希望单独跟踪特定目录的流量,则可以使用以上代码。这里需要注意的是。代码段1一定要部署到特定子目录下的网页,代码段2部署到所有的网页,这样
我们不仅可以得到所有的网站访问数据,还可以在UA-xxxxx-1的独立的目录下网页访问数据。
以上几种代码部署方法是几种常见的故障排除,及GA特殊应用的相关代码部署,希望能对您有所帮助,如果您有任何问题,欢迎来博客提出你的意见和建议!

相关文章


6条 评论 来自 “如何在同一网站部署多个Google Analytics帐户?”

  1. Rookie 说道:

    看了这篇文章,我还是有两个个问题想请教一下
    问题一:
    能不能在一个网页上出现两种类型的GA统计代码。一个是用来放置在页面底部的普通统计代码,一个是用来放置在页面下方的异步跟踪代码,用来统计一些关键位置的动作响应。这种放置方式是否可以生效?
    问题二:
    setvar这个参数,google不是说已经过期了吗?现在还能正常使用吗?

  2. david.wu 说道:

    问题一回复:页面底部放置普通代码,与页面下方放置异步跟踪代码是没有什么问题的,在这里你需要注意,如果在同一个网站部署两种不同的代码,最好调用不同的GA配置文件ID“(UA-xxxxx-1). 否则可能在统计一些关键的事件会有问题,这两种代码事件跟踪,虚拟浏览量跟踪、自定义变量相关代码部署都是有区别的,例如原始GA代码统计事件跟踪使用的是”pageTracker._trackEvent而异步跟踪代码使用的是”_gaq.push(['_trackEvent', 'name', value]) 。

    问题二:setvar这个参数并没有过期,只是在异步跟踪代码中setvar将不会起作用,新的异步跟踪代码使用了新的参数”_setCustomVar”

  3. 匿名 说道:

    _setVar这个函数已经out了
    现在是_setcustomvar
    用法也不一样

  4. david.wu 说道:

    按照我博客提供的定制代码的安装模式,是没有问题的。

  5. tom 说道:

    如果你想在同一网站跟踪所有的页面访问,并且希望单独跟踪特定目录的流量,则可以使用以上代码。这里需要注意的是。代码段1一定要部署到特定子目录下的网页,代码段2部署到所有的网页,这样
    我们不仅可以得到所有的网站访问数据,还可以在UA-xxxxx-1的独立的目录下网页访问数据。
    这句话要怎么样理解

在此发表评论