我正在使用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
答案 0 :(得分:0)
Google AnalyticsAPI限制了它可以向您展示的组合。具体而言,visitors
(不要与visits
混淆)严重限制了它可以使用的指标。 visitors
和hour
是您可以在Google Analytics中查询的两个受限制最严格的指标和维度。因此,您尝试的上述组合无效,Google拒绝计算它。只需将其切换为visits
即可。
请注意,在此valid combinations页面上,几乎所有指标都会限制visitors
。
原因可能是visitors
计算成本更高,有时无法计算,而且说实话,并不是特别有用。 visitor
是visits
的汇总,但约束到特定的Cookie集,而访问只是访问者的一个特定会话。它也没那么有用,因为visitors
没有将1:1映射到人。例如,我在家庭和工作计算机以及iPhone上从Safari,Chrome和Firefox访问StackOverflow。所以我认为我是7位访客!它不是跟踪用户的有用方式。通过更加有限的方式访问,提供更好的视角。
此外,由于访问者跨越多个会话,因此您无法拥有pagePath
个会话。
答案 1 :(得分:0)
将您的维度更改为“userDefinedValue”
$ga->requestReportData(ga_profile_id,
array('userDefinedValue'),
array('pageviews'),
'pageviews',
$filter,
'2010-10-01',
'2010-10-31');