如何通过google-analytics-api获取自然页面视图和自然搜索特定URL


How to get organic pageViews and organicSearches for a specific URL via google-analytics-api?

我需要通过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'
    )
);