2011-08-11 147 views
3

我有一个网站,其中每个用户注册为子域名(username.domain.com)。 我跟踪所有子域与folllowing代码:谷歌分析API - 跟踪子域名

var _gaq = _gaq || []; 
    _gaq.push(['_setAccount', 'UA-XXXXXX-X']); 
    _gaq.push(['_setDomainName', '.domain.com']); 
    _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); 
    })(); 

我想显示使用GA API的每个用户自定义的统计数据。 由于我只使用一个GA帐户来跟踪所有“子域”,我如何筛选数据以便仅显示每个用户(子域)的数据?

谢谢。

回答

3

setDomainName仅与Google Analytics用于跟踪会话的Cookie相关。也就是说,按照您的设置进行设置,这样可以始终如一地跟踪这些子域中的所有流量。

但是,这并不会更改发送到Google Analytics的域数据。所有匹配都会通过综合浏览量的主机名(JavaScript中的document.domain)发送到Google Analytics。该值可在维度ga:hostname下的API中访问。您可以将其用作查询的维度,或者将其用作数据的过滤器(即,“只返回我查询此特定过滤器的数据)。

因此,无论setDomainName配置如何,您将可以使用Google AnalyticsAPI在子域级别上访问和分段。

+0

非常感谢您的回答。它工作正常。但是我不想子域名(username.domain .com)的数据与我的主域(domain.com)统计数据混合在一起,我应该如何避免它? – AFRC

+0

你有两个选择:一,你可以为子域使用不同的跟踪代码,而不是主域。您可以创建一个配置文件过滤器*,仅用于匹配您的主域的流量,然后针对所有其他域或ju创建一个这是一个未经过滤的大概况。 – Yahel

+0

我认为另一个配置文件(跟踪代码)是最好的选择。但因为我使用'_gaq.push(['_ setDomainName','.domain.com'])'我将混合所有数据? (子域和主域) – AFRC