Отображение аналитики сайта с помощью Google Analytics API

Аналитика Гугл  предоставляет так много информации, что иногда в ней довольно трудно разобраться. Для крупных сайтов это становиться настолько сложным, что у вас уже может не хватать времени на анализ всех страниц.

А возможно, на вашем сайте много авторов, которые не имеют доступа к вашему аккаунту Google Analytics (Аналитика Гугл), и вы хотите предоставить им данные, чтобы они могли видеть, как работают их страницы.

С Google Analytics API мы можем легко отобразить базовую аналитику сайта прямо на странице. Google предлагает много библиотек для экспорта данных, но вы можете использовать библиотеки, разработанные комьюнити, такие, как PHP библиотека GAPI, созданная Стигом Маннингом (Stig Manning), которую мы будем использовать.

В конечном счёте мы получим отличный график с данными, которые дадут нам некоторое представление о том, как работает каждая страница:

Final result Google Charts with Google Analtyics

Начало работы: получение данных

Загрузите последнюю версию GAPI и распакуйте её в каталог своего сайта. Откройте файл шаблона страницы, найдите то место, куда вы хотите поместить аналитику и добавьте туда следующий класс (который вы только что распаковали):

Чтобы соединиться с Google Analytics мы должны предоставить логин и id профиля определённого аккаунта, с которым мы хотим соединиться. Здесь же мы можем определить URL страницы, которую мы будем анализировать.

Этот метод позволяет пользователям получать данные, не имея доступа к вашему аккаунту.

Чтобы узнать id профиля в Google Analytics, перейдите к странице настроек своего профиля (кнопка с изображением шестерёнки в правом верхнем углу), затем щёлкните на вкладке Profile Settings (Настройки профиля) и вы увидите id профиля.

Google Analtyics Profile ID

Теперь давайте используем класс GAPI, чтобы сформировать запрос и получить пять показателей: просмотры страницы, уникальные просмотры страницы, показатель выходов (exit rate), среднее время просмотра и показатель отказов (bounce rate). Все эти показатели будут получены для той страницы, которую мы рассматриваем. В документации GAPI объясняется, как сформировать запрос, используя функцию requestReportData():

Вот наш запрос, в котором мы сохраняем все результаты в переменной $results:

Если не заданы начальная и конечная даты, по умолчанию GAPI возвратит нам результаты за последние 30 дней.

Отображение данных

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

Теперь то, как вы хотите выводить и отображать результаты — лишь вопрос синтаксиса.

GAPI предоставляет удобные функции для получения показателей, например:

Теперь добавим некоторые CSS стили. Вы конечно можете составить собственные таблицы стилей и подстроить их под свой сайт.

Вот так должна выглядеть наша аналитика:

Analytics preview

Добавление диаграммы

Большинство людей, использующих Google Analytics знакомы с большими синими диаграммами, показывающими просмотры страницы или посещения. Используя Google Charts API в сочетании с Google Analytics API мы можем добавить на свою страницу похожую диаграмму, которая будет отображать количество просмотров страницы за последние 30 дней. Здесь мы не будем описывать детали работы Charts API, но если вы хотите узнать больше, Google предоставляет превосходную документацию.

Продолжая пример выше, мы можем снова использовать переменные $ga и $ga_url, чтобы создать новый запрос GAPI. Однако, вместо того, чтобы определить общее количество результатов за промежуток времени, нам нужно получить отдельные результаты за каждый день, так, чтобы мы могли показать эти данные в диаграмме. Хитрость здесь заключается в том, чтобы настроить запрос на использование как количества, так и фильтра ‘date’. Он возвратит количество просмотров страниц за каждый из 30 последних дней.

Затем, создайте в шаблоне страницы контейнер, куда будет добавлена диаграмма, изначально это будет пустой div, который впоследствии будет изменён Google Charts API.

Включите Google Charts API

В данном случае мы используем JavaScript, чтобы создать новую диаграмму, заполненную данными, которые мы получили. Загрузите Google Charts API и укажите ему использовать функцию под названием drawChart(), которую мы создадим позже.

Теперь пришло время создать функцию drawChart(). Эта функция начнётся с определения столбцов данных, которые будут использованы в диаграмме. Вы можете представить столбцы как оси графика.

Как только структура данных для диаграммы настроена, она может принять данные, полученные от GAPI. Google Charts использует функцию addRows(), которая может принимать массивы данных, разделённые запятой.

Каждый массив будет содержать один день и количество просмотров страницы в течение этого дня.

Наконец, создайте диаграмму и передайте ей данные, которые мы только что получили. Как вы увидите, в этом разделе есть несколько переменных, которые могут быть подстроены под ваш шаблон, например, ширина, высота и заголовок. Используемая диаграмма — Google’s Area Chart, на случай, если вы захотите узнать о дополнительных опциях.

Всё готово! Теперь у вас должна быть рабочая диаграмма. Попробуйте провести мышью над каждой точкой графика, вам будет показано точное число просмотров страницы за этот день.

Analytics chart

Полный пример

Ниже вы можете видеть, как выглядит весь код. Чтобы посмотреть на нашу работу в действии, просто в приведённом коде измените email, пароль и Google id на свои собственные.

Дополнительно

  • Попробуйте использовать свою CMS, чтобы отображать эту аналитику только для определённых пользователей. В WordPress вы можете использовать is_admin().
  • Подумайте об отделении этого кода от шаблона. Вы можете поместить его в отдельный файл, например show_analytics.php, а затем (в WordPress) использовать get_template_part(‘show_analytics’).
  • Диаграмма действительно увеличивает время загрузки страницы.


5 комментариев на “Отображение аналитики сайта с помощью Google Analytics API

  1. решил попробовать реализовать по данному посту расширение для yii и обломался, по нескольким причинам... библиотека уже давно заброшена, она не работает и в ней апи версии 1.3, сейчас последняя от гугла 3.0

    плюс в конце концов лучше юзать официальную, а это code.google.com/p/google-api-php-client/

  2. Ну во-первых она работает, проверил. Во-вторых она тянет версию апи 2.4, которая еще совместима.

    Официальная конечно лучше, но она слишком перегружена и тяжела

  3. Библиотека обновлена code.google.com/p/gapi-go...s-php-interface/, все отлично работает. Я изменил метод авторизации, пример:

    require 'gapi.class.php';

    define ('ga_profile_id','12345678');

    $ga = new gapi («xxxxxxxxx@developer.gserviceaccount.com», «key-name.p12»);

    ga_profile_id — id вашего профиля в GA

    xxxxxxxxx@developer.gserviceaccount.com = это имейл который создаем в Google Developers Console, инструкция developers.google.com/ide...reatinganaccount

    этот же имейл нужно добавить в GA в управление пользователями и дать права Читать и анализировать.

    key-name.p12 = это мы скачиваем на странице Google Developers Console, название прописываем свое.

Оставить комментарий