我需要通过google-analytics-api(PHP)迭代大量网址,并获取不同的指标,例如pageViews,bounceRate和organicSearches。
要获取这些,我尝试了以下内容,这里也解释了: google analytics api query a specific url
$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”参数后,它可以工作并获取所有参数 - 除了有机搜索“,它仍为空。
如何组合特定的pagePath和有机参数?
答案 0 :(得分:0)
您需要删除
之间的空格ga:medium==organic, ga:pagePath==URL
有空格的原因是它会被编码为%20并且无效,你可能意味着AND由a表示;而不是它们之间的OR。
所以你的过滤器应该是:
ga:medium==organic;ga:pagePath==URL
答案 1 :(得分:0)
我认为这对你有用。仅替换
'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'
)
);