API Google Analytics позволяет создавать персонализированные отчеты, выполнять выгрузки различных данных для последующей обработки вне Google Analytics.
Существует несколько вариантов API Google Analytcs: для работы с отчетами (Core Reporting API), для управления аккаунтом (Management API), для получения данных в реальном времени (Real Time Reporting API) и др.
Для начала работы с API Google Analytics необходимо создать проект в консоли разработчика, для этого нужно авторизоваться на Google или пройти процедуру регистрации, а затем перейти по ссылке console.developers.google.com .
Если у вас еще нет созданных проектов вы увидите следующее сообщение:
Нажмите кнопку Create project. Вам предложат во всплывающем окне указать имя проекта и его идентификатор. Будьте внимательны, затем изменить Project ID нельзя. Запустится процесс создания нового проекта. В это время внизу экрана возможно появление подобного сообщения:
После того, как процесс завершится откроется страница Project Dashbord, на которой есть несколько вариантов дальнейших действий, перейдем к базовым настройкам для работы с API Google Analytics.
Поскольку мы будем работать с API Google Analytics необходимо включить данную возможность. Для этого в меню слева выберите пункт APIs &auth, затем APIs. Найдите в списке Analytics API и если справа от него нет зеленой кнопки ON, кликните по серой OFF:
После нажатия выбранный API появится в верхней части страницы:
Пока оставим дальнейшую настройку проекта и получим файлы необходимые для работы API Google Analytics. Поскольку я имею навыки программирования на языке PHP, то и библиотеку для работы я выбрал на этом языке.
Файлы для загрузки доступны по адресу github.com/google/google-api-php-client . Необходимо перейти по ссылке и скачать доступные файлы. Если вы не работали с сервисом GitHub, то для загрузки используется кнопка Download ZIP расположенная в правой части страницы:
На этом подготовительный этап работы с API Google Analytics завершен. На следующем шаге мы установим соединение с аккаунтом Google Analytics и получим (для примера) список доступных аккаунтов, а также выполним ряд других запросов.
Для того, чтобы наше приложение могло успешно работать и получать данные с серверов Google мы должны получить следующие параметры:
- Client ID
- Client secret
- Redirect URIs
Для получения указанных параметров необходимо войти в консоль разработчика, выбрать необходимый проект, после чего в левом меню перейти по Apis & auth -> Credentials и нажать на кнопку Create new Client ID.
Появится форма, в которой выберите тип приложения, укажите доменное имя сайта на котором будет использоваться библиотека PHP для работы с API Google Analytics, а также URL обработчика, который получит результаты авторизации от Google. Укажите свои значения и параметры в соответствующих полях, после выполнения всех действий вы увидите следующую информацию:
Сейчас вы имеете необходимые ключи для работы с API Google Analytics, вернемся к библиотеке PHP для работы с API сервисов Google, которую мы получили ранее.
Извлеките содержимое архива google-api-php-client-master.zip в отдельную папку, после того как завершится процесс извлечения файлов из архива можете удалить все кроме следующих папок и файлов:
Теперь необходимо с помощь разработчиков или самостоятельно, если вы обладаете навыками программирования, создать файл-каркас, в котором реализовать инициализацию необходимых библиотек, а также авторизацию на Google.
Поскольку логика работы на этапе авторизации, а также варианты реализации могут различаться в зависимости от задач, я не буду приводить пример кода для этих действий, а продемонстрирую несколько запросов использующих PHP библиотеку для API Google Analytics.
Для тестовых запросов я буду использовать следующий основной блок:
1 2 3 4 5 6 |
// если авторизация пройдена успешно if (isset($_SESSION['access_token'])) { $client->setAccessToken($_SESSION['access_token']); $service = new Google_Service_Analytics($client); // тут код для примеров } |
Небольшое замечание, при первом обращении к приложению появится следующее окно (название приложения будет отличаться):
Дальнейшая работа приложения возможна в том случае, если выбран вариант Принять.
Итак, первый пример — получение списка доступных аккаунтов:
1 2 |
$accounts = $service->management_accounts->listManagementAccounts(); echo '<pre>'; print_r($accounts); echo '</pre>'; |
В результате выполнения этого кода мы увидим в браузере вот такую информацию:
Как видите, данные, которые получаются в результате выполнения запросов, имеют формат многомерных массивов. Т.к. мы рассматриваем библиотеку PHP для доступа к API Google Analytics проблем с их разбором не будет, поскольку этот язык имеет достаточное количество стандартных функций для работы с массивами.
Давайте получим список браузеров, которыми пользовались посетители блога prometriki.ru за последние 7 дней.
Чтобы получить подобные данные нам нужно использовать специальный формат запроса, который описан в официальной документации. Для решения задачи запрос будет следующим:
1 2 3 4 5 6 7 8 |
$data = $service->data_ga->get( 'ga:0000000000', // id представления '2015-03-08', '2015-03-14', 'ga:sessions', array('dimensions'=>'ga:browser') ); echo '<pre>'; print_r($data); echo '</pre>'; |
Вы можете столкнуться с проблемой поиска идентификатора представления, который указывается первым в списке параметров, его можно узнать перейдя в раздел отчетов Google Analytics из адресной строки (справа от символа p):
Вот фрагмент результата, который в «сыром» виде доступен для работы:
Немного приукрасим вывод информации:
1 2 3 4 5 6 7 8 9 10 |
$data = $service->data_ga->get( 'ga:0000000000', // id представления '2015-03-08', '2015-03-14', 'ga:sessions', array('dimensions'=>'ga:browser') ); foreach ($data['rows'] as $d) { echo $d['0'] . ' - ' . $d[1] . '<br />'; } |
Получим результат:
Таким образом могут быть получены разнообразные данные с помощью API Google Analytics и библиотеки PHP для работы с ним, если развитие этой темы интересно вам, в одном из следующих материалов можно рассмотреть вопрос о визуализации полученных данных.