Очень часто в ходе работы с 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:source=@google
Здесь мы задаем условие вида:
[канал точно соответствует органическому трафику] И [источник трафика точно соответствует «yandex»] ИЛИ [источник трафика содержит «google»].
Оператор «=@» из примера выше означает «содержит», т.е. возвращает только результаты, содержащие указанную подстроку.
Важно заметить, что оператор «ИЛИ» имеет приоритет над оператором «И». Т.е. сначала в сегменте окажутся данные по второму и третьему условию, а затем уже к этой выборке данных будет применено условие 1.
Бегло рассмотрим доступные операторы, которые мы можем применять при создании фильтров или динамических сегментов.
Создавая условие, содержащее метрику, мы можем использовать следующие операторы:
При создании условий для измерений мы можем использовать следующие параметры:
Использование RegExp при запросах к GA порой позволяет получать очень интересные данные для анализа, благодаря тому что регулярные выражения в Google Analytics – мощнейший инструмент для сегментирования данных. Подробнее о практическом применении регулярных выражений (RegExp) можно прочитать в руководстве от LunaMetrics.
Фильтры в Google Analytics имеют ряд особенностей. Например, при использовании фильтров невозможно применение оператора «ИЛИ» для условий, содержащих и метрики, и измерения. Например, мы не можем создать условие [количество посещений больше 5] ИЛИ [источник трафика содержит «mail»] (ga:pageviews>5,ga:source=@mail), но можем использовать такое сочетание с оператором «И». Следующая конструкция будет корректной: ga:pageviews>5;ga:source=@mail.
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.