14

是否可以使用带有 JavaScript 的 Google Analytics API 获取有关当前访问者的以下信息?

  • 推荐网站(GA 中的“来源”)
  • 付费或自然(GA 中的“中等”)
  • 关键词
  • 第一次/返回
  • 访问次数

如果 Google Analytics API 无法做到这一点,是否还有其他简单的方法可以做到这一点(除了解析 HTTP Referer、将访问统计信息存储在 DB 中等)?

4

3 回答 3

27

如果您仍在使用 ga.js(旧版 Google Analytics 跟踪代码),您可以使用以下代码通过读取浏览器 cookie 在浏览器中生成所需的值。(大多数人会迁移到 analytics.js,它不会将活动信息存储在__utmzcookie 中。)

我假设您有一个名为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 是松散类型的。

于 2011-04-12T15:49:29.827 回答
1

您应该能够从 Google Analytics 设置的 cookie 中获取所有信息。它们被存储为第一方 cookie,因此在页面上运行的 JavaScript 将能够读取它们。访问次数可以从__utmacookie 的最后部分获取,引用者可以从__utmz. 来源是utmcsr位,__utmz而媒体来自utmcmd,关键字是utmctr

于 2011-04-12T15:47:27.343 回答
1

显然,这不再起作用了。自 2013 年使用启用 SSL 以来,所有关键字都从引用 URL 中删除。

从现在开始,获取一些统计信息(不是每个用户)数据的唯一选择是启用 Search Console。

于 2017-05-13T20:38:17.883 回答