如何通过Google Analytics API获取特定网页的有效用户?

时间:2016-03-07 09:11:14

标签: real-time google-analytics-api

我使用rt:activeUsers指标在网站上获取实时数据的活跃用户。

我希望实时为特定网页(pathurl)吸引活跃用户,而不是整个网站。有没有办法实现它?我经历了API Explorer但没有成功。

2 个答案:

答案 0 :(得分:2)

对于其他任何寻找此问题的人都是我在javascript中完成此操作的示例。

我从以下代码开始:https://ga-dev-tools.appspot.com/embed-api/third-party-visualizations/

该示例使用embed api的扩展来获取活跃用户:active-users.js

我不知道从哪里获取active-users.js文件所以我只是使用Chrome中的开发人员工具并以这种方式抓住它。在本地保存并在我的页面中链接到它。如果有人知道正式位置,请在下面评论。 THX。

如果查看该文件的源代码,我修改了pollActiveUsers函数以添加一个filter参数,如下所示:

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中我可以这样称呼它:

var activeUsers = new gapi.analytics.ext.ActiveUsers({
                container: 'active-users-container',
                pollingInterval: 5,
                filters: "rt:pagePath==/somepath/somepage/",
                ids: "ga:<yourviewid>"
            });

希望能帮助某人。

答案 1 :(得分:1)

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

实时文档也非常有限,但您可以查看核心报告API上的filters文档,它的工作方式相同

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

我认为你应该检查维度rt:pagePath它可能正在寻找的东西。