获得推荐,付费/自然和关键字为当前访问者与谷歌分析

Get the referrer, paid/natural and keywords for the current visitor with Google Analytics

本文关键字:访问者 谷歌 关键字 付费 自然      更新时间:2023-09-26

是否可以使用JavaScript获得当前访问者的以下信息?

  • 推荐站点(GA中的"源")
  • 付费或自然(GA中的"中等")
  • 关键字
  • /首次返回
  • 访问次数

如果它不可能与谷歌分析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中获取。源为__utmzutmcsr位,介质为utmcmd位,关键字为utmctr

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

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