api google analytics запрашивает определенный URL-адрес


Я получаю доступ к API Google analytics с помощью PHP, который работает с моей стороны, но я бы хотел немного отфильтровать результаты. Прямо сейчас я использую:

$OBJresult = $analytics -> data_ga -> get(
    'ga:' . $profilID,
    '2012-01-01',
    date( "Y-m-d" ),
    'ga:visits',
    array(
        'dimensions' => 'ga:pagePath',
        'metrics' => 'ga:pageviews',
        'sort' => '-ga:pageviews',
        'max-results' => '25'
    )
);

В настоящее время это возвращает набор из 25 страниц, отсортированных по его обращениям. Я бы хотел ограничить результаты определенным путем внутри сервера. Так, например, только запрос domain.com/news и смотрите только самые популярные новостные страницы. Я могу фильтровать с помощью PHP, но предпочитаю, чтобы запрос был как можно более конкретным.

Спасибо за помощь

Author: Dominik, 2013-05-24

3 answers

Используйте опцию filters.

$OBJresult = $analytics->data_ga->get(
    'ga:' . $profilID,
    '2012-01-01',
    date("Y-m-d"),
    'ga:visits',
    array(
        'filters' => 'ga:pagePath==/news',
        'dimensions' => 'ga:pagePath',
        'metrics' => 'ga:pageviews',
        'sort' => '-ga:pageviews',
        'max-results' => '25'
    )
);

Смотрите здесь список параметров отслеживания страниц, по которым вы можете фильтровать.

 19
Author: Barmar, 2015-03-20 08:37:27

Вам нужно использовать строку фильтров, чтобы сказать "если путь включает /новости", что можно сделать следующим образом:

$OBJresult=$analytics->data_ga->get(
    'ga:'.$profilID,
    '2012-01-01',
    date("Y-m-d"),
    'ga:visits',
    array(
        'filters' => 'ga:pagePath=@/news',
        'dimensions' => 'ga:pagePath',
        'metrics' => 'ga:pageviews',
        'sort' => '-ga:pageviews',
        'max-results' => '25'));

Ответ, предоставленный Barmar, будет точно соответствовать только странице /новости.

 11
Author: David Shaw, 2013-05-24 05:45:20

Пример отчета V4, который может быть полезен. Слава богу, что эти запросы, их объекты и плохая документация могут вызвать серьезный рак задницы..

function segmentRequest(&$analyticsreporting) {

$query = [
        "viewId" => "XXXXXXX",
        "dateRanges" => [
            "startDate" => "2018-02-01",
            "endDate" => "2018-02-15"
        ],
        "metrics" => [
            "expression" => "ga:pageviews"
        ],
        "dimensions" => [
            "name" => "ga:pagepath"
        ],
        "dimensionFilterClauses" => [
            'filters' => [
                "dimension_name" => "ga:pagepath",
                "operator" => "EXACT",
                "expressions" => "/en/some_cool_page.php"
            ]
        ]
    ];

  // Call the batchGet method.
  $body = new Google_Service_AnalyticsReporting_GetReportsRequest();
  $body->setReportRequests( array( $query) );
  $response = $analyticsreporting->reports->batchGet( $body );

  printResults($response->getReports());
}
 0
Author: Robert Sinclair, 2018-03-22 03:30:56