1

我需要根据页面标题在我的网站上显示活跃的访问者。 示例:如果用户是联系我们页面,则只会显示“联系我们”页面上的活动访问者的数量,而不是整个站点。 我下面Embed API Third Party Visualizations根据页面标题筛选活跃用户 - Google Analytics

我试着下面的代码,但它不工作

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

请帮我解决这个问题。

+0

只是猜测,但由于ActiveUsers查询实时API不会需要使用rt:pageTitle而不是ga:pageTitle? –

+0

感谢您的回复。我试过rt:pageTitle也..但它不工作 –

回答

1

正如我在Github issue中提到的关于这个问题所打开的那样,您要求做的事对于当前的ActiveUsers Embed API组件是不可能的(它仅用于演示目的,它并不打算成为全功能的Real时间查询组件)。

但是,可以轻松修改此组件以支持您的使用案例。您只需更新使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 
    }); 

当然,你'd可能宁愿重构组件接受一个选项对象(就像你在问题中展示的那样),所以你不必为你的查询编写硬编码,但是我会留给你让代码改变。

为了向您指出正确的方向,您应该阅读Embed API指南:Creating Custom Components。您可能还需要参考Shared Component Reference以查看所有组件可以调用的方法。