Я обращаюсь к API-интерфейсу Google Analytics с PHP, который работает на моем конце, но я хотел бы фильтровать результаты немного дальше. Сейчас я использую:
$OBJresult = $analytics -> data_ga -> get( 'ga:' . $profilID, '2012-01-01', date( "Ymd" ), 'ga:visits', array( 'dimensions' => 'ga:pagePath', 'metrics' => 'ga:pageviews', 'sort' => '-ga:pageviews', 'max-results' => '25' ) );
В настоящее время это возвращает набор из 25 страниц, отсортированных по его хитам. Я хотел бы ограничить результаты определенным контуром на сервере. Так, например, только запрос domain.com/news и только посмотрите, какие самые популярные страницы новостей. Я могу фильтровать с помощью PHP, но, скорее, запрос как можно более конкретный.
Спасибо за помощь
Используйте параметр « filters
.
$OBJresult = $analytics->data_ga->get( 'ga:' . $profilID, '2012-01-01', date("Ymd"), 'ga:visits', array( 'filters' => 'ga:pagePath==/news', 'dimensions' => 'ga:pagePath', 'metrics' => 'ga:pageviews', 'sort' => '-ga:pageviews', 'max-results' => '25' ) );
См. Здесь список параметров отслеживания страниц, на которые вы можете фильтровать.
Вам нужно использовать строку фильтров, чтобы сказать «если путь включает / новости», который можно сделать следующим образом:
$OBJresult=$analytics->data_ga->get( 'ga:'.$profilID, '2012-01-01', date("Ymd"), 'ga:visits', array( 'filters' => 'ga:pagePath=@/news', 'dimensions' => 'ga:pagePath', 'metrics' => 'ga:pageviews', 'sort' => '-ga:pageviews', 'max-results' => '25'));
Ответ, предоставленный Barmar, найдет только точное соответствие для страницы новостей.