Работа с Google Analytics API в Query Explorer

Очень часто в ходе работы с Google Analytics возникает необходимость анализа данных вне интерфейса GA. На этот случай существует возможность экспорта данных, позволяющая выгрузить данные в одном из доступных форматов, среди которых недавно появились Google Таблицы (Spreadsheet) и Excel (XLSX).

Однако этот метод имеет недостатки, например, такие как наличие всего 500 строк в отчете, зажатость в рамки стандартных отчетов.

Еще одним ограничением, которое может вызвать некоторые неудобства в работе, является использование максимум двух параметров в отчетах:

А что, если нужно построить отчет более чем по двум параметрам? Например, отчет о посещаемости по ключевым словам, в котором будут также указаны источник трафика (поисковая система) и город:

Чтобы решить эту, казалось бы, простую задачу, придется отказаться от применения привычного всем веб-интерфейса Google Analytics. И начать использовать API. Многие привыкли думать, что API – это сложно, и для работы с этим инструментарием требуется знание какого-либо языка программирования. Зачастую это так, но не в случае с GA. Существует множество инструментов, позволяющих без проблем работать с API Google Analytics. Со многими из них можно ознакомиться в презентации к докладу «Эффективное использование API Google Analytics без программирования», а также в статье «Google Analytics – просто о сложном».

Мой фаворит среди инструментов для работы с API Google Analytics – созданный Google сервис Query Explorer. Это общедоступный бесплатный инструмент, изначально созданный для тестирования запросов к API в собственных разработках Google. Но благодаря удобному интерфейсу, Query Explorer является отличным средством получения данных из GA.

Для рассмотрения возможностей Query Explorer вернемся к нашему примеру и построим отчет о посещаемости «Город-Источник-Ключевое слово» с помощью формирования запроса к API.

Логин и получение доступа к профилю GA

Для начала нужно авторизоваться под Google аккаунтом при помощи кнопки «Authorize Access»:

Далее выбираем необходимый аккаунт:

Поля Web Property и Profile заполнятся автоматически первыми значениями в списке, но при необходимости мы можем задать нужный веб-ресурс или профиль.

После того как мы задали профиль, поле ids заполнится автоматически:

Dimensions

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

Задаем необходимые нам измерения, выбирая их из списка, в котором они сгруппированы по типам. Нам нужно три измерения: • ga:city (в группе Geo / Network) – город; • ga:source (в группе Traffic Sources) – источник трафика; • ga:keyword (в группе Traffic Sources) – ключевое слово.

Metrics

Переходим к заполнению следующего поля – Metrics. Как ясно из названия, в этом поле мы задаем метрики – показатели, которые необходимо отразить в отчете. Этот параметр запроса к API является обязательным. А вот поле dimension в запросе можно оставить пустым, тогда возвращаемые данные не будут сегментироваться по измерениям, и мы увидим в ответе только показатели. Как и в случае с количеством измерений, на количество метрик существует ограничение: 10 показателей.

В нашем случае единственным показателем является количество визитов, которое задается с помощью метрики ga:visits:

Segment

Теперь мы должны задать сегмент трафика, по которому нужен отчет. Для нас это бесплатный поисковый трафик (Non-paid Search Traffic). Сегмент также легко выбрать из выпадающего списка. При этом в данном списке отображаются не только стандартные, но и расширенные сегменты, доступные в данном профиле:

Существует также возможность создания так называемого динамического сегмента, то есть определяемого «на лету» в запросе. Для задания динамических сегментов необходимо изучить несложный синтаксис применения фильтров в API Google Analytics. Одним из операторов фильтрации, к примеру, является задание точного соответствия, которое создается с помощью двойного знака равно. Ниже отображен пример создания динамического сегмента органического поискового трафика, который соответствует стандартному сегменту Non-paid Search Traffic.

Filters

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

При создании сегментов и фильтров также можно использовать операторы «И» и «ИЛИ»:

dynamic::ga:medium==organic;ga:source==yandex,ga:[email protected]

Здесь мы задаем условие вида:

[канал точно соответствует органическому трафику] И [источник трафика точно соответствует «yandex»] ИЛИ [источник трафика содержит «google»].

Оператор «=@» из примера выше означает «содержит», т.е. возвращает только результаты, содержащие указанную подстроку.

Важно заметить, что оператор «ИЛИ» имеет приоритет над оператором «И». Т.е. сначала в сегменте окажутся данные по второму и третьему условию, а затем уже к этой выборке данных будет применено условие 1.

Бегло рассмотрим доступные операторы, которые мы можем применять при создании фильтров или динамических сегментов.

Создавая условие, содержащее метрику, мы можем использовать следующие операторы:

При создании условий для измерений мы можем использовать следующие параметры:

Использование RegExp при запросах к GA порой позволяет получать очень интересные данные для анализа, благодаря тому что регулярные выражения в Google Analytics – мощнейший инструмент для сегментирования данных. Подробнее о практическом применении регулярных выражений (RegExp) можно прочитать в руководстве от LunaMetrics.

Фильтры в Google Analytics имеют ряд особенностей. Например, при использовании фильтров невозможно применение оператора «ИЛИ» для условий, содержащих и метрики, и измерения. Например, мы не можем создать условие [количество посещений больше 5] ИЛИ [источник трафика содержит «mail»] (ga:pageviews>5,ga:[email protected]), но можем использовать такое сочетание с оператором «И». Следующая конструкция будет корректной: ga:pageviews>5;ga:[email protected].

Sort

Данное поле позволяет выбрать нам параметр или показатель, по которому нужно сортировать данные в ответе на запрос. Например, при указании сортировки ga:visits данные ответа будут отсортированы в порядке возрастания количества посещений:

Чтобы задать убывающую сортировку по параметру или показателю, необходимо поставить перед идентификатором знак «-» (минус):

Start-date и end-date

Эти обязательные составляющие запроса отвечают за временной диапазон данных в отчете. В Query Explorer они удобно задаются с помощью календаря, всплывающего по нажатию на поле:

Start-index

Это поле позволяет задать начальную строку возвращения данных. По умолчанию значение start-index равно 1, но иногда возникает необходимость изменить это значение. О том, когда нужно выставлять нестандартное значение start-index, я расскажу далее в этой статье.

Max-results

В поле max-results мы задаем максимальное количество результатов, возвращаемых API. В веб-интерфейсе мы можем отобразить до 500 строк на одной странице отчета, API позволяет нам возвратить за один раз до 10 000 строк – достаточно лишь задать max-results=10000.

Ответ API

Итак, мы рассмотрели все возможные параметры запроса к API с помощью Query Explorer и в итоге сформировали запрос, позволяющий получить необходимые данные:

Теперь нужно только нажать «Get Data», и API возвратит нам результат.

Ответом на запрос будет таблица, содержащая в первых трех столбцах необходимые измерения (dimensions): город, источник, ключевое слово. В последнем столбце отображается количество посещений по каждому из сочетаний параметров:

Более 10 000 строк

Выше было сказано, что API возвращает за один раз 10 000 строк. А что делать, если нашему запросу соответствует более 10 000 результатов? Как это определить и выгрузить все данные по запросу?

Над таблицей с данными отображается строка, в которой указывается количество результатов по запросу и количество результатов, возвращенных API в текущем ответе:

В случае если результатов более 10 000, строка примет следующий вид:

Здесь запросу соответствует 14 347 результатов, но в силу ограничения API возвращает только первые 10 000 из них. Для преодоления этого ограничения используется поле start-index, о котором мы говорили выше в статье. Задав значение start-index=10001, мы сможем возвратить данные, начиная с 10 001 строки, и получить в ответе остальные 4 347 строк:

Выгрузка данных и анализ

Query Explorer предусматривает возможность выгрузки данных в TSV (в виде текстовых данных, разделенных табуляциями):

Мы получили данные с помощью Query Explorer, выгрузили их в TSV. Что же делать с ними потом? Анализировать и еще раз анализировать. Как мы можем получить данные по анализу, которые не видны с первого взгляда в стандартном интерфейсе GA? Тут нам на помощь приходят табличные процессоры, предоставляющие богатый функционал для анализа и представления данных. Именно некоторыми приемами анализа данных веб-активности с помощью Excel я бы и хотел поделиться в следующей части статьи.

Автор: Алексей Макаров, ведущий специалист по аналитике, Russian Promo.

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