我正在使用 GAPI 尝试根据 Google Analytics(分析)数据创建简单的报告。 我的内部客户希望看到每页有 2 个字段的概述:综合浏览量和唯一访问者。 我的综合浏览量部分可以工作,但我无法让唯一访问者部分工作。 这是我当前的代码。过滤器将是他们可以更改的参数,但目前是硬编码的:
require 'gapi.class.php';
$ga = new gapi(ga_email,ga_password);
$filter = 'pagepath =~ ^/home$';
$ga->requestReportData(ga_profile_id,
array('pagepath'),
array('pageviews'),
'pageviews',
$filter,
'2010-10-01',
'2010-10-31');
然后是一些显示结果的代码,这与这里并不真正相关。 如上所述,这是可行的,但如果我将“访问者”添加到这样的指标中:
$ga->requestReportData(ga_profile_id,
array('pagepath'),
array('pageviews','visitors'),
'-pageviews',
$filter,
'2010-10-01',
'2010-10-31');
然后我收到此错误:
PHP Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: "Illegal combination of dimensions and metrics"' in gapi.class.php:218
Stack trace:
#0example.filter.php(24): gapi->requestReportData('30296235', Array, Array, '-pageviews', 'pagepath =~ ^/h...', '2010-10-01', '2010-10-31')
#1 {main}
thrown in gapi.class.php on line 218
最佳答案
Google Analytics API 限制它可以向您显示的组合。具体来说,访问者
(不要与访问
混淆)在可使用的指标方面受到严格限制。 访问者
和小时
是您可以在 Google Analytics(分析)中查询的两个最严格限制的指标和维度。因此,您尝试的上述组合无效,Google 拒绝计算它。只需将其切换为visits
,就可以了。
关于此的通知valid combinations页面上,几乎所有指标都限制访问者
。
其原因很可能是访问者
的计算成本要高得多,有时甚至无法计算,而且说实话,并不是特别有用。 visitor
是 visits
的聚合,但受限于特定的 cookie 集,而一次访问只是访问者的一次特定 session 。它的用处也较小,因为 visitors
不会 1:1 映射到人员。例如,我通过家庭和工作计算机上的 Safari、Chrome 和 Firefox 以及 iPhone 访问 StackOverflow。所以我被视为 7 位访客!这不是跟踪用户的有用方法。通过限制访问所提供的内容,可以提供更好的视野。
此外,由于访问者会跨越多个 session ,因此您无法为它们提供一个pagePath
。
关于php - 使用 GAPI 创建包含综合浏览量和唯一访问者的报告,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4165079/