Google AnalyticsAPI - 获取许多页面的页面浏览量

时间:2012-11-27 16:14:00

标签: php cakephp google-analytics

我正在尝试在(Cake)PHP for Google Analytics中编写自定义API查询,该查询将获取一组(可能很多)页面的过去12个月的页面浏览量。

这是我到目前为止所得到的:

$metrics = "ga:pageviews";

$params = array(
    'dimensions'=>'ga:date',
    'filters'=>'ga:pagePath==/enquires/add/200,ga:pagePath==/enquires/add/201',
    'sort'=>'ga:date',
    'max-results'=>366
);

$startDate = date('Y-m-d', time()-60*60*24*365);
$endDate = date('Y-m-d', time());

$data = $this->service->data_ga->get('ga:' . $profileId, $startDate, $endDate, $metrics, $params);

...适用于几个pagePath过滤器,但不幸的是,我用来过滤我想要的页面的过滤器参数最多只能包含128个字符。

如果我想在我的报告中使用多个网址(比如50,但可能更多),我该如何让谷歌分析过滤它们?

我试过提出一个正则表达式,但这仍然太长了。

我考虑过要求每个页面(或正则表达式/查询/添加/ *),然后过滤掉我正在寻找的那些页面,但感觉就像是错误的做法的东西。

如何将一长串过滤器传递给Google AnalyticsAPI?或者还有另一种方式吗?

(顺便说一句,这是针对一个物业网站,这些报告是属性所有者查看物业被查看的频率,因此需要仅限于他们的物业页面网址)

1 个答案:

答案 0 :(得分:1)

我对Google AnalyticsAPI并不太了解,但如果该API不起作用,这将是我解决问题的方法:

  • 如果财产所有者的数量是“有限的”,最简单的解决方案是将他们作为用户添加到他们应该有权访问的Google Analytics资产中 - 根本不需要编程。
  • 也许您应该重新考虑Google Analytics资产的布局方式。例如,您可以为每个属性所有者创建一个唯一的跟踪代码,从而有效地消除过滤。

如果这些方法不适合您,我只需提取所有可用数据,以最适合生成输出的格式在本地存储它们,然后过滤该本地数据集。根据您想要的复杂程度,您可以查看ETL工具以简化导入和输入。预处理/过滤。