是否可以使用带有 JavaScript 的 Google Analytics API 获取有关当前访问者的以下信息?
- 推荐网站(GA 中的“来源”)
- 付费或自然(GA 中的“中等”)
- 关键词
- 第一次/返回
- 访问次数
如果 Google Analytics API 无法做到这一点,是否还有其他简单的方法可以做到这一点(除了解析 HTTP Referer、将访问统计信息存储在 DB 中等)?
是否可以使用带有 JavaScript 的 Google Analytics API 获取有关当前访问者的以下信息?
如果 Google Analytics API 无法做到这一点,是否还有其他简单的方法可以做到这一点(除了解析 HTTP Referer、将访问统计信息存储在 DB 中等)?
如果您仍在使用 ga.js(旧版 Google Analytics 跟踪代码),您可以使用以下代码通过读取浏览器 cookie 在浏览器中生成所需的值。(大多数人会迁移到 analytics.js,它不会将活动信息存储在__utmz
cookie 中。)
我假设您有一个名为readCookie()
; 我倾向于使用QuirksMode中的那个
对于推荐、媒介和活动信息:
var utmz = readCookie('__utmz'); //using a cookie reading function
var vals = (function() {
var pairs = utmz.split('.').slice(4).join('.').split('|');
var ga = {};
for (var i = 0; i < pairs.length; i++) {
var temp = pairs[i].split('=');
ga[temp[0]] = temp[1];
}
return ga;
})();
//vals.utmcmd: medium (organic, referral, direct, etc)
//vals.utmcsr: source (google, facebook.com, etc)
//vals.utmcct: content (index.html, etc)
//vals.utmccn: campaign
//vals.utmctr: term (search term)
//vals.utmgclid: adwords-only (value is irrelevant, but means its AdWords autotagged traffic, but it implies that medium=cpc, even though it'll be set to `(none)` or `(not%20set)`
对于浏览量和访问量:
var pageviews = readCookie('__utmz').split('.')[1];
var visits = readCookie('__utma').split('.').pop() //returns number of visits
显然,如果(+visits)===1
,那么它是第一次来访者。(请记住:cookie 中的值将是字符串,因此您需要将它们转换为数字以安全地进行数字比较,即使 JS 是松散类型的。
您应该能够从 Google Analytics 设置的 cookie 中获取所有信息。它们被存储为第一方 cookie,因此在页面上运行的 JavaScript 将能够读取它们。访问次数可以从__utma
cookie 的最后部分获取,引用者可以从__utmz
. 来源是utmcsr
位,__utmz
而媒体来自utmcmd
,关键字是utmctr
。
显然,这不再起作用了。自 2013 年使用启用 SSL 以来,所有关键字都从引用 URL 中删除。
从现在开始,获取一些统计信息(不是每个用户)数据的唯一选择是启用 Search Console。