2016-03-07 83 views
2

我使用rt:activeUsers度量来获取网站上的活跃用户实时数据。如何通过Google analytics API获取特定页面的活跃用户?

我想实时获得活动用户的特定页面(pathurl),而不是整个网站。有没有办法实现它?我通过API Explorer但没有获得成功。

+0

你有没有试过为rt:pagePath添加过滤器? – DaImTo

+0

谢谢@DaIm请把你的答案作为答案来接受它。 – ALH

+0

很高兴你能工作:) – DaImTo

回答

1

虽然实时API非常有限,但确实允许您使用过滤器。过滤器是一种where子句。

实时文档也很有限,但你可以看看文档filters在核心报告API它的工作原理相同

filters=ga:browser%3D~%5EFirefox 

我想你应该检查出的尺寸rt:pagePath它大概是什么你正在寻找。

1

对于下面的其他人来说,这是一个我如何在javascript中完成这个任务的例子。

我开始与样品在:https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/

这示例使用扩展嵌入API来获取活跃用户:主动users.js

我不知道从哪里得到的是主动 - users.js文件,所以我只是使用Chrome中的开发人员工具并以此方式抓取它。保存在本地并在我的页面中链接到它。如果有人知道一个官方位置,请在下面评论。谢谢。

如果你看看源到该文件,我体改的pollActiveUsers函数添加一个过滤器参数,像这样:在我的网页

pollActiveUsers_: function() { 
       var t = this.get(), 
       i = 1e3 * (t.pollingInterval || 5); 
       if (isNaN(i) || i < 5e3) 
        throw new Error("Frequency must be 5 seconds or more."); 
       this.polling_ = !0, 
       gapi.client.analytics.data.realtime.get({ 
        ids: t.ids, 
        metrics: "rt:activeUsers", 
        filters: t.filters 
       }).then(function (t) { 
        var e = t.result, 
        s = e.totalResults ? +e.rows[0][0] : 0, 
        n = this.activeUsers; 
        this.emit("success", { 
         activeUsers: this.activeUsers 
        }), 
        s != n && (this.activeUsers = s, this.onChange_(s - n)), 
        1 == this.polling_ && (this.timeout_ = setTimeout(this.pollActiveUsers_.bind(this), i)) 
       } 
        .bind(this)) 
      }, 

现在的JavaScript我可以调用它像这样:

​​

希望能帮助别人。

相关问题