Google Analytics API – просто о сложном

Автор: Илья Барменков,

ведущий аналитик агентства интернет-рекламы i-Media

Google Analytics, наверное, самая популярная система веб-аналитики, которая используется сегодня для отслеживания поведения посетителей на сайте. Подавляющее большинство пользователей работают в Google Analytics посредством веб-интерфейса системы, используя браузер. Не многие пользовались таким инструментом как Google Analytics API. При этом те из пользователей, кто что-то слышал об этом понятии, уверены, что Google Analytics API – это сложный технический инструментарий, совладать с которым под силу только опытным программистам.

На самом деле, это не так. Google Analytics API может помочь и менее искушенным в программировании пользователям, избавив их от ограничений и рутинных операций выгрузки данных из веб-интерфейса системы. Тому, как данный инструмент может сделать работу с большими массивами значительно более эффективной, и посвящена эта статья.

Для начала определимся, что такое Google Analytics API. Говоря простым языком, – это ещё одна возможность общения с системой веб-аналитики. Общение подразумевает под собой, главным образом, запрос и получение нужных для анализа данных. Используя веб-интерфейс, мы выбираем нужные нам отчёты, создаём сегменты и применяем фильтры, тем самым формируя свои запросы к системе. В ответ Google Analytics формирует заданные отчёты и собирает определяемые фильтрами данные в профилях. Используя API, мы обращаемся к системе с помощью запросов, параметры которых определяют данные, отдаваемые системой в ответ. Инструментарий для формирования подобных запросов называется Google Core Reporting API.

Рис.1 Два подхода к получению данных в Google Analytics

При работе с веб-интерфейсом пользователи получают данные прямо в окне браузера, а вот куда выгружаются данные при работе с Google Analytics API? Этот момент необходимо определить пользователю. Я предлагаю использовать следующую связку:

1. Spreadsheet Google Docs;

2. Скрипт Google Analytics Report Automation (Magic), который можно подгрузить через интерфейс Google Docs.

Использование связки этих двух инструментов позволяет быстро выгружать нужные массивы данных из любых аккаунтов и профилей Google Analytics, к которым предоставлен доступ на ваш аккаунт Google. Наличие административных прав не обязательно – достаточно прав просмотра. Не буду подробно описывать процесс подготовки скрипта к работе. Об этом несложном процессе можно прочитать в официальном блоге Google Analytics. Повторюсь, использование данного скрипта я рекомендую по причине простоты его установки и использования, что позволяет быстро понять основные принципы работы с Google Analytics API. В дальнейшем вы сможете подобрать инструмент, который будет более удобен вам.

Итак, после настройки скрипта Google Analytics Report Automation (Magic) в меню того рабочего листа, который был создан для выгрузки данных, появляется дополнительное меню «Google Analytics» для создания запросов и получения данных.

Рис.2 Меню скрипта Google Analytics Report Automation (Magic)

Для добавления нового запроса необходимо кликнуть на пункт «Create Core Report», после чего на рабочем листе появится форма запроса к API Google Analytics.

Рис.3 Структура запроса к Google Analytics API

Каждая строка соответствует определённому параметру. Задавая его значение, мы определяем состав и структуру данных, которые хотим получить. Узнать более подробно специфику каждого из них можно в справке Google, я же расскажу о наиболее важных из них.

ids – необходимо указать номер профиля, из которого нужно выгрузить данные. В любом аккаунте Google Analytics каждому профилю соответствует уникальный идентификационный номер. Узнать быстро ids нужного вам профиля можно с помощью скрипта Google Analytics Report Automation (Magic), выбрав пункт Find Profile/ids. Далее, последовательно определяя аккаунт и профиль, мы получаем его ID.

Рис.4 Получение id профиля для выгрузки данных

start-date, end-date – определяют диапазон дат, за который необходимо выгрузить данные;

metrics – определяет показатели (столбцы), которые будут входить в таблицу с данными;

dimensions – определяет параметры (строки) таблицы, которые будут входить в таблицу с данными;

sort – определяет, по какому из столбцов будет производиться сортировка данных в таблице.

По умолчанию в ответ на запрос Google Analytics API отдаёт все данные, которые подходят заданным параметрам. Они могут образовывать огромный массив (например, в разрезе «ключевое слово/целевая страница» для масштабной контекстной рекламной кампании). В веб-интерфейсе автоматическая сортировка по количеству посещений, а также распределение данных по нескольким страницам с определённым числом строк делали подобные массивы понятными и логичными. В случае использования API Google Analytics сортировка будет происходить по названию параметров, а не по первому показателю в таблице. Как следствие, в самом верху таблицы могут показываться сущности с единичными посещениями, которые нерепрезентативны для анализа. Поэтому не стоит забывать о сортировке. Вот так, например, будет выглядеть поле sort для сортировки по посещениям в порядке убывания:

Рис.5 ID сегмента с расширенными настройками в URL-адресе отчёта GA

filters – определяет фильтры, которые накладываются на данные;

segment – определяет сегмент, который может накладываться на данные. Указать сегмент, в котором необходимо выгрузить данные, можно двумя способами. Прежде всего, если у нас есть созданный в интерфейсе сегмент, можно применить его, указав его уникальный ID. Чтобы получить ID сегмента, достаточно применить его в веб-интерфейсе и скопировать идентификационный номер из URL страницы с отчётом. ID сегмента отображается в самом конце URL-а.

Рис.6 Определение динамического сегмента в теле запроса

Второй способ применения сегмента – это задание сегмента на лету в самом запросе. Такой тип сегмента называется динамическим. Например, так будет выглядеть динамический сегмент для выгрузки данных по всем сессиям, в ходе которых было зафиксировано выполнение некоторой цели под номером 5 в профиле Google Analytics.

Рис.7 Определение сортировки по количеству посещений в порядке убывания

Для формирования запросов и реализации всех задумок при выгрузке данных через Google Analytics API необходимо изучить название параметров и показателей (все они дублирую те, что мы имеем в веб-интерфейсе GA), а также операторов, которые используются для создания фильтров и сегментов. Всю необходимую информацию о них можно получить в справке Google .

Чем может быть полезно использование Google Analytics API для выгрузки данных?

Прежде всего, этот инструмент может помочь сэкономить время, значительно сократив затраты на рутинные манипуляции в веб-интерфейсе (которые раз за разом приходится выполнять для получения нужной статистики). Если вы активно используете Google Analytics для анализа трафика на сайте, представьте себе операции, которые вам регулярно приходится производить в веб-интерфейсе: выбор временного периода, переход к необходимым отчётам (стандартным или персонализированным), активация и деактивация различных фильтров и сегментов с расширенными настройками, перескакивание между различными профилями и так далее. Все эти процедуры можно автоматизировать, задав их логику с помощью запросов к API Google Analytics.

Рассмотрим пример. Допустим у некоторого интернет-маркетолога, внимательно следящего за трафиком на сайте интернет-магазина, есть задача еженедельного получения следующих отчётов:

1. Отчёт по эффективности различных каналов трафика с точки зрения привлечения заказов, со средним чеком более 5 000 рублей; В данном случае мы рассматриваем только те заказы, которые были совершены в интернет-магазине, без учета обращений по телефону. Между тем, контакты по телефону в различных тематиках могут составлять абсолютное большинство от всех обращений. Именно поэтому нужно отдельное внимание уделять отслеживанию телефонных обращений и сводить все в единый статистический массив.

2. Отчёт по объёму поискового трафика, который привлекается на приоритетные для компании и продвигаемые разделы телевизоров и ноутбуков;

3. Отчёт по социальному взаимодействию посетителей (like, share, comment) с обзорами электронной техники, которые выкладываются в блоге.

Создание этих отчётов предполагает довольно активное взаимодействие с веб-интерфейсом системы, требующее времени. Чтобы не тратить это время каждую неделю, давайте создадим три запроса к API Google Analytics, используя которые в дальнейшем можно будет выгружать данные автоматически с минимальными временными затратами. Конфигурация таких запросов приведена на скриншотах ниже.

Рис.8 Запрос к Google Analytics API для 1-го отчёта

Рис.9 Запрос к Google Analytics API для 2-го отчёта

Рис.10 Запрос к Google Analytics API для 3-го отчёта

Аналогичным образом, выбирая параметры и показатели, мы собираем персонализированные отчёты в Google Analytics. Но есть одно важное отличие. Выбирая несколько параметров при создании персонализированных отчётов, можно создавать уровни вложенности отчёта. При использовании запросов Google API такой возможности нет. При выборе нескольких параметров в запросе все они будут отображаться в виде столбцов по примеру таблиц с одноуровневой адресацией. При этом в запросе можно использовать до 7 параметров (против 2 при работе с веб-интерфейсом).

Итак, создав три подобных запроса, в Google Docs Spreadsheet и выбрав пункт Get Data в меню используемого нами скрипта, мы автоматически получим три нужных нам для анализа отчёта. Вот так, например, будет выглядеть первый отчёт:

Рис.11 Таблица с данными, полученная в ответ на запрос

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

Google Analytics API не сможет полностью заменить возможности веб-интерфейса Google Analytics. Однако, этот инструмент порой позволяет значительно сократить время на подготовку отчётов, предоставляя больше ресурсов для самого интересного – анализа.

Журналист, новостной редактор, работает на сайте с 2009 года. Специализация: интернет-маркетинг, SEO, поисковые системы, обзоры профильных мероприятий, отраслевые новости рунета. Языки: румынский, испанский. Кредо: Арфы нет, возьмите бубен.