Я использую 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');