根据页面标题过滤活跃用户 - Google 分析

Filter Active Users based on page title- Google Analytics

我需要根据页面标题显示我网站上的活跃访问者。 示例:如果用户在“联系我们”页面,则只显示 'Contact us' 页面上的活跃访客数,而不是整个站点。 我正在关注 Embed API Third Party Visualizations

我尝试了以下代码,但它不起作用

var activeUsers = new gapi.analytics.ext.ActiveUsers({
  container: 'active-users-container',
  pollingInterval: 5,
  query: {
    filters:'ga:pageTitle==Contact'
  }
});

请帮我解决这个问题。

正如我在 Github issue opened about this same question, what you're asking to do is not possible with the current ActiveUsers 嵌入 API 组件中提到的(它只是为了演示目的,它并不打算成为一个全功能的实时查询组件)。

但是,可以轻松修改此组件以支持您的用例。您只需更新发出 API 请求的行即可添加您的查询参数。

这里是发出请求的relevant line of code

gapi.client.analytics.data.realtime
    .get({ids: options.ids, metrics: 'rt:activeUsers'})
    .then(function(response) {
       // ... do something with the response
    });

要添加过滤器,您只需将该行更改为如下所示:

gapi.client.analytics.data.realtime
    .get({
      ids: options.ids,
      metrics: 'rt:activeUsers',
      filters: 'ga:pageTitle==Contact'
    })
    .then(function(response) {
       // ... do something with the response
    });

当然,您可能更愿意重构组件以接受选项对象(如您在问题中所示),这样您就不必对查询进行硬编码,但我会把它留给你来更改代码。

为了给您指明正确的方向,您应该阅读嵌入 API 指南:Creating Custom Components. You'll probably also need to reference the Shared Component Reference 以了解所有组件都可以调用的方法。

我试过了Show active visitors after filtering

成功了。