如何通过google-analytics-api获取特定URL的有机页面视图和有机搜索?

时间:2014-12-09 15:44:57

标签: php google-analytics-api

我需要通过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和有机参数?

2 个答案:

答案 0 :(得分:0)

您需要删除

之间的空格
ga:medium==organic, ga:pagePath==URL

有空格的原因是它会被编码为%20并且无效,你可能意味着AND由a表示;而不是它们之间的OR。

GA Reporting API reference

所以你的过滤器应该是:

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'
    )
);