Создать отчет с просмотрами страниц и уникальными посетителями, используя GAPI

Я использую GAPI для создания простых отчетов из наших данных Google Analytics. Мой внутренний клиент хотел бы просмотреть обзор с двумя полями на странице: просмотры страниц и уникальными посетителями. У меня часть работы с страницами, но я не могу заставить уникальную часть посетителей работать. Это мой текущий код. Фильтр будет параметром, который они могут изменить, но теперь жестко запрограммирован:

require 'gapi.class.php'; $ga = new gapi(ga_email,ga_password); $filter = 'pagepath =~ ^/home$'; $ga->requestReportData(ga_profile_id, array('pagepath'), array('pageviews'), 'pageviews', $filter, '2010-10-01', '2010-10-31'); 

а затем некоторый код, чтобы показать результаты, которые здесь не актуальны. Как сказано, это работает, но если я добавлю «посетителей» к метрике следующим образом:

 $ga->requestReportData(ga_profile_id, array('pagepath'), array('pageviews','visitors'), '-pageviews', $filter, '2010-10-01', '2010-10-31'); 

Затем я получаю эту ошибку:

 PHP Fatal error: Uncaught exception 'Exception' with message 'GAPI: Failed to request report data. Error: "Illegal combination of dimensions and metrics"' in gapi.class.php:218 Stack trace: #0example.filter.php(24): gapi->requestReportData('30296235', Array, Array, '-pageviews', 'pagepath =~ ^/h...', '2010-10-01', '2010-10-31') #1 {main} thrown in gapi.class.php on line 218 

API Google Analytics ограничивает, какие комбинации он может вам показать. В частности, visitors (не путать с visits ) сильно ограничены в отношении того, с какими метриками он может быть использован. visitors и hour – две наиболее сильно ограниченные метрики и измерения, которые вы можете запросить в Google Analytics. Таким образом, вышеуказанная комбинация, которую вы пробовали, недействительна, и Google отказывается ее вычислять. Просто переключите его на visits , и это сработает.

Обратите внимание, что на этой странице действительных комбинаций почти все показатели ограничивают visitors .

Причина этого в том, что visitors намного дороже вычислить, время от времени невозможно вычислить и, если честно, не особенно полезно. visitor представляет собой совокупность visits , но ограничен определенным набором файлов cookie, тогда как посещение – это всего лишь одна конкретная сессия для посетителя. Это также менее полезно, так как visitors не отображают 1: 1 людям. Например, я обращаюсь к StackOverflow из Safari, Chrome и Firefox на своих домашних и рабочих компьютерах, а также с моего iPhone. SO видит меня как 7 посетителей! Это не удобный способ отслеживания пользователей. Посещение, будучи более ограниченным в том, что он предлагает, обеспечивает лучшее представление.

Кроме того, поскольку посетитель охватывает несколько сеансов, у вас не может быть pagePath для них.

измените свое измерение на 'userDefinedValue'

 $ga->requestReportData(ga_profile_id, array('userDefinedValue'), array('pageviews'), 'pageviews', $filter, '2010-10-01', '2010-10-31');