我需要通过google-analytics-api(PHP)迭代大量网址,并获取不同的指标,如pageViews,bounceRate和organicSearches。
为了获取这些,我尝试了以下内容,此处也进行了解释:谷歌分析 API 查询特定网址
$data = $service->data_ga->get(
"ga:".$targetId,
'2014-08-10',
date("Y-m-d"),
"ga:users,ga:sessions",
array(
'filters' => 'ga:pagePath=='.$url.', ga:medium==organic',
'dimensions' => 'ga:pagePath',
'metrics' => 'ga:pageViews, ga:bounceRate, ga:avgSessionDuration, ga:organicSearches',
'sort' => '-ga:pageviews',
'max-results' => '25'
)
);
我还读到您必须指定"ga:medium"才能获取"自然"流量。但是将这两个值(pagePath 和 medium)结合起来会导致 Google-Service-Exception 显示"过滤器参数的值无效'ga:medium==organic, ga:pagePath==URL'。删除"ga:medium==organic"参数后,它可以工作并获取所有参数 - 除了 organicSearches",它仍然为空。
如何组合特定的页面路径和自然参数?
您需要
删除之间的空格
ga:medium==organic, ga:pagePath==URL
原因是带有空格,它将被编码为 %20 并且无效,您可能是指 AND,它由 ; 而不是 OR 表示,它们是它们之间的 。
GA 报告 API 参考
因此,您的过滤器应为:
ga:medium==organic;ga:pagePath==URL
<</div>
div class="answers">我认为这对你有用。仅替换
'filters' => 'ga:pagePath=='.$url.' to `'filters' => 'ga:pagePath==/page-slug',` .
你的代码变成
$data = $service->data_ga->get(
"ga:".$targetId,
'2014-08-10',
date("Y-m-d"),
"ga:users,ga:sessions",
array(
'filters' => 'ga:pagePath==/page-slug', ga:medium==organic',
'dimensions' => 'ga:pagePath',
'metrics' => 'ga:pageViews, ga:bounceRate, ga:avgSessionDuration, ga:organicSearches',
'sort' => '-ga:pageviews',
'max-results' => '25'
)
);