使用Google Analytics获取当前访问者的引荐来源、付费/自然流量和关键词。

14

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

  • 引用网站(GA 中的“来源”)
  • 付费或自然(GA 中的“媒介”)
  • 关键字
  • 第一次/返回
  • 访问次数

如果无法通过 Google Analytics API 完成,除了解析 HTTP 引用、将访问统计数据存储在数据库中等方式,是否有其他更简单的方法可以实现?


1
“Current visitor”指的是浏览器中的访问者?所有这些信息都存储在Google Analytics cookie中。 - Yahel
3个回答

27
如果您仍在使用ga.js(Google Analytics跟踪代码的旧版本),您可以使用以下代码通过读取浏览器cookie在浏览器中生成所需的值。(大多数人已经迁移到不在__utmz cookie中存储广告系列信息的analytics.js。)
我假设您有一个名为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 是弱类型语言。)

哇!这真是纯魔法。我之前不知道这个。非常感谢你。 - Evgenii
我想知道是否有可能获取该用户访问的页面。 - jrosell
1
@ByronSingh 不,UA不会在cookie中存储活动信息。但是有一个完整的API过程可以从Universal Analytics cookie中提取活动信息。但这是一个单独的问题。 - Yahel
@Yahel很想听更多关于这个的信息 - 有没有相关流程的文档?我正在寻找提取新访客和回访访客信息,或者来源/活动信息的方法。 - dubesor
@DipuR 是的,这只适用于 ga.js,而不是 analytics.js。我已经添加了一条注释来反映这一点。 - Yahel
@Yahel,抱歉我忽略了。 - Dipu R

1

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


1

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

从现在开始,获取一些统计数据(非每个用户)的唯一选项是启用搜索控制台。


谢谢您提供这些信息,有没有其他的替代方案? - SSH This
根据今天的情况 - 不是很好。谷歌正在对链接进行哈希处理,因此,引荐者不会提供有价值的信息。 - Dawid Adach

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接