我有一个页面,例如:http://www.stackoverflow.com/how-many-users-visited
我已经在我的UA-0000-1帐户下面的那个谷歌分析javascript。
var _gaq = _gaq || []; _gaq.push(['_setAccount', 'UA-xxxxxx-1']); _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); })();
我想使用PHP或Javascript从我自己的查询中查找这些信息并将其呈现到我自己的页面。
如何使用我的帐户从谷歌分析中获取所有页面?请亲切地展示一些提示和示例,我试过但不起作用。
ex:http://gdata-jsguide.appspot.com/static/analytics/samples/retrievedatacontent.js
答案 0 :(得分:3)
为了确保我理解您的问题:您希望能够获取所查看网页的总数和唯一身份访问者,但您希望自己存储这些数据,而不是从GA服务器检索这些数据。
所以这只需要找出每个页面的GA记录然后检索这些值。
查看的总页面很容易 - 对于给定的页面,只需在每次调用_trackPageview()时记录并获取总和。
总体独立访问者也很容易,但需要更多步骤。
首先,您需要知道GA保存此数据的位置。
这是跟踪像素(__ utm.gif)的示例性请求标头:
http://www.google-analytics.com/__utm.gif?utmwv=4&utmn=769876874&utmhn=example.com&utmcs=ISO-8859-1&utmsr=1280x1024&utmsc=32-bit&utmul=en-us&utmje=1&utmfl=9.0%20%20r115&utmcn=1&utmdt=GATC012%20setting%20variables&utmhid=2059107202&utmr=0&utmp=/auto/GATC012.html?utm_source=www.gatc012.org&utm_campaign=campaign+gatc012&utm_term=keywords+gatc012&utm_content=content+gatc012&utm_medium=medium+gatc012&utmac=UA-30138-1&utmcc=__utma%3D97315849.1774621898.1207701397.1207701397.1207701397.1%3B...
此标头的 utmcc 部分包含GA Cookie。在utmcc中, utma 是访客Cookie :
此Cookie由六个字段组成,每个字段由“。”
分隔97315849.1774621898.1207701397.1207701397.1207701397.1
这些字段是:
Domain Hash(discard)
访客ID(来自随机数 发电机)这是我们的一块 想强>
初次访问(UNIX时间戳)
上一个会话(也是UNIX时间 戳)
当前会话(也是UNIX时间 戳)
总访问次数(到页面
拥有该GA帐号)
因此,当用户访问带GA标记的网站时,GA会查找更新的Cookie;如果GA找不到它们,它会设置它们。
utmaa cookie中的 second 字段是最重要的,也是您想要抓取的字段。这是“访客ID”,它是GA生成的随机数,作为每个访问者的唯一ID。此Cookie会在会话期间持续存在,并且自设置日期起两年后到期。
GA Web Viewer中无法查看此ID,这意味着您需要以其他方式捕获它。可能最简单的方法是发送它写一个小的javascript函数来抓取这个字符串并将它绑定到一个变量,然后你就可以用它做你想做的事(将它绑定到GA自定义变量,暂时放在一个隐藏的形式领域等)。例如:
// takes three parameters: l-> target string; n -> start pattern; s -> end pattern
// returns the visitor cookie (the entire cookie not just the second field)
function vID(l, n, s) {
if (!l || l=="" || !n || n="" || !s || s="") return "-";
var i, i2, i3, c="-";
i=l.indexOf(n);
i3=n.indexOf("=")+1;
if (i > -1) {
i2=l.indexOf(s, i);
if (i2 < 0) {
i2=l.length;
}
c=l.substring((i+i3), i2);
}
return c;
}
var q = vID(document.cookie, '__utma=', ';');
完成此操作后,您将为每位访问者设置一个访客ID - 计算这些访问者ID并获得总访问量(受限于所有常见且实质性限制)。