使用Google Analytics获取当前访问者的推荐人,付费/自然和关键字

Evg*_*nii 14 javascript google-analytics visitor-statistic referrer

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

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

如果谷歌分析API不可能有其他简单的方法(除了解析HTTP Referer,将访问统计数据存储在数据库等)?

Yah*_*hel 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)`
Run Code Online (Sandbox Code Playgroud)

对于综合浏览量和访问次数:

var pageviews = readCookie('__utmz').split('.')[1];
var visits = readCookie('__utma').split('.').pop() //returns number of visits
Run Code Online (Sandbox Code Playgroud)

显然,如果(+visits)===1,那么它是第一次访客.(请记住:来自cookie的值将是字符串,因此您需要将它们转换为数字以安全地进行数字比较,即使JS是松散类型的.