Модуль Google Analytics API предоставляет функции для получения данных с вашего Google Analytics аккаунта.
Пример получения пяти самых популярных страниц за последние 30 дней:
$request = array(
'#dimensions' => array('pagePath'),
'#metrics' => array('pageviews'),
'#sort_metric' => array('-pageviews'),
'#filter' => 'pagePath=~^/blog/.*/\d+',
'#start_date' => date('Y-m-d', time() - 60*60*24*30),
'#end_date' => date('Y-m-d'),
'#start_index' => 1,
'#max_results' => 5,
);
try {
$entries = google_analytics_api_report_data($request);
}
catch (Exception $e) {
return $e->getMessage();
}
$stat = array();
foreach ($entries as $entry) {
$dimensions = $entry->getDimensions();
$metrics = $entry->getMetrics();
$stat[] = array(
'url' => $dimensions['pagePath'],
'views' => $metrics['pageviews'],
);
}
print_r($stat);
Результат:
Array (
[0] => Array (
[url] => /blog/javascript/36
[views] => 106
)
[1] => Array (
[url] => /blog/drupal/2
[views] => 31
)
...
)
#dimensions — размерность (не знаю как правильно перевести на русский язык), может принимать значения browser
(браузеры посетителей), city
(города посетителей), pagePath
(url посещённых страниц), pageTitle
(заголовки посещённых страниц) и т.д. Подробнее на странице документации.
#metrics — метрика, может принимать значения pageviews
(число просмотров), timeOnPage
(время проведённое на странице), visitors
(число посетителей) и т.д. Подробнее.
#sort_metric — поле по которому будет производится сортировка, например pageviews
(сортировка по возврастанию) или -pageviews
(сортировка по убыванию). Подробнее.
#filter — фильтр, например pagePath=~^/blog/.*/\d+
означает получать только страницы с url удовлетворяющие регулярному выражению. Подробнее на странице документации или на странице с примерами.
#start_date — начальная дата в формате ГГГГ-ММ-ДД
. Подробнее.
#end_date — конечная дата в формате ГГГГ-ММ-ДД
. Подробнее.
#start_index — запись с которой получать статистику. Подробнее.
#max_results — число записей в статистике. Аналог LIMIT
в MySQL. Подробнее.
- Модуль Google Analytics Statistics — вывод популярных материалов с помощью Views на основе данных Google Analytics
- Модуль Simpleping — уведомление поисковиков о новом контенте
- Модуль Search spelling — проверка орфографии при неудачном поиске
- Единый язык административного интерфейса на многоязычном сайте
- Текстовый фильтр, оборачивающий контент ссылок в span
Комментарии
Только начал изучать GA и путаюсь видя разницу в запросах и обработке ответов, например:
- префикс ga:pagePath
- GAFeed формат вместо $entry->getMetrics(); и т.п.
Правильно ли я понимаю что это нововведения?
использую модуль google_analytics_api
да, сейчас эта информацию уже не актуальна. с импользованием нового модуля Google Analytics Reports запрос выглядит как-то так:
у гугла где-то даже была формочка с построителем таких запросов
Ура!! Это помогло. Спасибо.
Если можно ещё большооой вопрос:
мне нужно сделать счетчик для каждой ноды, и я понимаю что _нужно_ кешировать, но не понимаю _что_. Есть ли стандартные велосипеды для этой задачи?
Также непонятно:
- делать один большой запрос и кешировать всё, раз в день, например ИЛИ делать запрос на каждую и кешировать "потихоньку"?
- как выбрать именно заданный путь?
- и какие основные ресурсы (сайты, форумы, группы) где отвечают на такие вопросы?
на d.org есть два модуля для этих целей, один регулярно синхронизирует счётчики GA с таблицей node_counter, другой как то с views интегрируется. посмотрите. хотя парц месяцев назад ни один у меня не заработал)
Первый модуль ga_importer не стал использовать из-за статуса (beta4 + 14 установок).
Второй - ga_stats - только для 7ки.
Частично разобрался со своими вопросами:
- кешировать всё не стал, думаю пусть блок кеширует
- как фильтровать по заданному пути понял: вместо #filter или filter должно быть filters
Добавить комментарий