Прочее аналитика

Query Explorer для выгрузки данных из ГА

Ссылка на оригинал → https://osipenkov.ru/query-explorer/

Query Explorer – инструмент с веб-интерфейсом, который позволяет работать с API Core Reporting, выходить за рамки стандартных ограничений Google Analytics, выгружать большие объемы необработанных данных (до 10 000 строк за один запрос) из представлений, создавать панели мониторинга, отчеты, содержащие несколько параметров, а также сохранять эти отчеты в формате TSV для последующего анализа.

Также можно применять пользовательские фильтры и сегменты. Query Explorer доступен по ссылке и используется тогда, когда не устраивают ограничения пользовательского интерфейса Google Analytics:

  • 5000 строк отчета;
  • выборка данных;
  • необходимо быстро выгрузить статистику из нескольких профилей Google Analytics;
  • построить отчет по 2+ параметрам;
  • другие задачи.

Если вы хотите начать свое знакомство с API Google Analytics, не зная языков программирования и не написать ни одной строчки кода, Query Explorer – то, что нужно! Давайте познакомимся с его функционалом подробнее.

Переходим на https://ga-dev-tools.appspot.com/query-explorer/ и авторизовываемся под той учетной записью Google, на которой находится ваш счетчик Google Analytics.

Авторизация для Query Explorer

После разрешения доступа к приложению на странице Query Explorer вы увидите автоматически подгруженные данные из Google Analytics – аккаунты, ресурсы, представления.

Выбор аккаунта, ресурса и представления из Analytics

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

Идентификатор представления Analytics

Следующим шагом является выбор периода выгрузки: даты начала (start-date) и даты окончания (end-date). Даты могут задавать в нескольких форматах:

  1. YYYY-MM-DD (ГГГГ-ММ-ДД)
  2. сегодня (today), вчера (yesterday)
  3. несколько дней назад (NdaysAgo, где N – целое положительное число)

Например, возьмем статистику за последние 30 дней (30daysAgo). Для этого в поле end-date укажем yesterday, а в start-date – 30daysAgo.

Выбор диапазона дат

Далее следует выбрать параметры и показатели. API запрос должен содержать хотя бы один показатель. Наличие параметров в запросе необязательно.

К слову, рядом с каждым полем есть иконка i, при клике на которую нас перенаправляет на конкретный раздел из документации Core Reporting API.

Значок i напротив каждого поля

Список доступных метрик Google Analytics для запроса доступен по ссылке. В запросе можно указать не более 10 показателей и 7 параметров, что значительно больше, чем в стандартном Google Analytics.

Примечание: в Google Analytics можно создать специальный отчет с типом Простая таблица, в котором можно вывести до 5 параметров. Однако это все равно меньше, чем в одном запросе Query Explorer.

Пример отчета из Analytics с 5 параметрами

На скриншоте выше в отчете за последние 30 дней мы получили 20729 результатов. Но скачать мы их все за один раз не сможем, поскольку Google Analytics дает выгрузить только первые 5000 строк.

Ограничение на выгрузку данных из Analytics — 5000 строк

В качестве примера создадим запрос с 1 показателем (ga:sessions — Сеансы) и такими же 5 параметрами (ga:dimension1 – Client IDga:sourceMedium – Источник или Канал, ga:ladingPagePath – Страница входа, ga:browser – Браузер, ga:deviceCategory – Тип устройства), как и в предыдущем отчете.

Параметры (Dimensions) и Показатели (Metrics)

Чтобы параметры отсортировать также, как и в отчете Analytics, необходимо воспользоваться сортировкой (sort).

Сортировка

Порядок сортировки определяется расположением показателей и параметров в списке (слева направо). Направление сортировки по умолчанию устанавливается по возрастанию согласно региональным настройкам en-US. Чтобы реализовать сортировку по убыванию, следует выбрать метрику в префиксе со знаком минус ().

Сортировка выполняется только по тем параметрам и показателям, которые заданы в параметрах dimensions и metrics. При попытке сортировать по любому другому полю будет возвращена ошибка.

Особенности сортировки:

  • числовые значения по умолчанию сортируются в порядке возрастания;
  • даты по умолчанию сортируются по возрастанию.

Далее следуют поля с фильтрацией (filter) и сегментацией (segment).

Запросы с фильтром ограничивают строки, которые включаются (или не включаются) в результат. Каждая строка результата проверяется на соответствие фильтру: если строка соответствует фильтру, она сохраняется, если не соответствует – удаляется.

Если вы фильтруете по параметрам, то она выполняется до их суммирования, в связи с чем возвращаемые показатели содержат общие данные только по заданным параметрам. В случае с фильтрацией показателей, наоборот, она выполняется после их суммирования. Можно фильтровать и по параметру, и по показателю, которые отсутствуют в самом запросе, при условии, что все метрики в запросе и в фильтре являются допустимыми комбинациями и не конфликтуют между собой из-за областей действий.

Для одиночного фильтра используется такая конструкция: ga:имя оператор выражение

, где

  • ga:имя— имя параметра или показателя, по которому фильтруются данные в запросе;
  • оператор – условие фильтрации, его тип. Для параметров и показателей они несколько отличаются (доступно по 6 фильтров);
  • выражение – определяет значения, включаемые в результаты. В запросе используются регулярные выражения.

Фильтры для показателей (metrics):

Фильтры показателей

  • == равно
  • != не равно
  • > больше, чем
  • < меньше, чем
  • >= больше или равно
  • <= меньше или равно

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

Фильтры параметров

  • == точное соответствие
  • != не соответствует
  • =@ содержит
  • !@ не содержит
  • =~ соответствует регулярному выражению
  • !~ не соответствует регулярному выражению

Важные правила при составлении выражений фильтра:

  1. если в выражении присутствуют точка с запятой, запятая и обратная косая черта, то перед ними необходимо ставить символ обратной косой черты. Пример для точки с запятой \; и запятой \,
  2. синтаксис регулярных выражений соответствует регулярным выражениям Perl;
  3. если регулярное выражение содержит больше 128 символов, сервер возвращает код статуса 400 Bad Request;
  4. соответствие в регулярных выражениях проверяется с учетом регистра.

Если применять в фильтре более 1 параметра, их можно объединять с помощью логических операторов ИЛИ (OR) и И (AND):

  • или (,) – имеет приоритет над И (AND), нельзя использовать для объединения параметров и показателей в одном выражении.
  • и (;) — можно использовать для объединения параметров и показателей в одном выражении.

Это позволяет составить выражение фильтра длиной до 128 символов. Например, выражение ga:country==Russia,ga:country==Ukraine вернет нам результат только со строками, в которых есть страны Россия или Украина. А ga:deviceCategory==mobile;ga:country==Belarus будет содержать данные, удовлетворяющие двум условиям:

  1. тип устройства – mobile;
  2. страна – Беларусь.

Поскольку в этом запросе использовался оператор И.

Некоторые примеры фильтров:

  • ga:city==Moscow (город точно соответствует Москве);
  • ga:city!=Kyiv (все города, кроме Киева);
  • ga:city=@Mo (все города, в которых содержится Mo. Например: Moscow, Smolensk, Mogilev, Domodedovo и т.д.);
  • ga:city!@Mo (все города, кроме тех, что в названии содержат Mo);
  • ga:city=~^Mo (все города, которые начинаются на Mo);
  • ga:city!~sk$ (все города, кроме тех, что оканчиваются на sk);
  • ga:avgSessionDuration>60 (все сеансы со средней продолжительностью больше 60 секунд).

Список сегментов аналогичен тому, который есть в вашем аккаунте Google Analytics. В Query Explorer можно создать свой собственный, но обычно так не делают. Проще вернуться к интерфейсу Analytics, создать его там, а затем выбрать из раскрывающегося списка новый сегмент.

Галочка Show segment definitions instead of IDs дает возможность выбрать вариант отображения сегмента (либо идентификатор, либо определение в виде выражения).

Сегменты

Перейдя в инструмент Dimensions & Metrics Explorer и поставив галочку Only show fields that are allowed in segments, вы можете узнать, какие поля разрешено использовать в сегментах.

Разрешено использовать поля

В сегментах существует несколько вариантов выбора:

  • Пользователи и сеансы (users:: и sessions:: );
  • Условия и последовательности;
  • Области действия показателей.

Если в запросе участвуют метрики с разными областями действий, то возвращается ошибка 400: неверный запрос.

Ошибка 400. Выбранные параметры и показатели не могут быть в запросе вместе

Подробнее о каждом варианте выбора читайте в официальной документации Google.

samplingLevel характеризует уровень выборки. Допустимые значения:

  • DEFAULT – оптимальное соотношение между скоростью и точностью выборки данных для запроса;
  • FASTER – быстрый ответ с меньшим размером выборки;
  • HIGHER_PRECISION – точный ответ с большей выборкой и меньшей скоростью выполнения.

Когда вы создаете большой запрос, требующий продолжительного времени ответа, Google Analytics может обработать и вывести лишь определенную часть данных. С помощью параметра samplingLevel задается уровень выборки и скорость ответа. В ответе Core Reporting API, содержащем выборку, поле containsSampledData в результатах имеет значение true.

Уровень выборки задается с помощью свойств sampleSize (размер выборки) и sampleSpace (общий размер). Из этих двух метрик мы можем посчитать долю сеансов, которая использовалась в запросе. Например, sampleSize=351000, а sampleSpace=403000. Результат будет построена на основе 351000 / 403000 * 100 = 87,09% сеансов. Такое явление вы часто можете наблюдать в отчетах Google Analytics. Например:

Сэмплирование данных

Желтый значок в Google Analytics рядом с названием отчета говорит нам о том, что к нему была применена выборка. Зеленый значок свидетельствует о том, что он построен на 100% выборке данных.

100% выборка данных

include-empty-rows (пустые строки) — если установлено значение false, строки с нулевыми значениями показателей исключаются из ответа. По умолчанию имеет значение true.

start-index — первая строка извлекаемых данных (начинается с 1). Используется совместно с параметром max-results для разбиения результатов на страницы, если их общее количество превышает 10000 и вам нужно извлечь строки с последующими индексами.

max-results — максимальное количество строк, включаемое в ответ. Используетяс как с start-index для извлечения подмножества элементов, так и отдельно, ограничивая количество возвращаемых элементов. Если параметр max-results не задан, по умолчанию запрос возвращает не более 1000 строк.

Как мы уже знаем, максимальное количество строк, которое можно получить от 1 запроса в Query Explorer, составляет 10000. В нашем примере строк получилось 20279. Для того, что выгрузить все данные, необходимо 3 запроса:

  1. от 1 до 10 000;
  2. от 10 001 до 20 000;
  3. от 20 001 до 20 279.

В первом запросе в поле start-index вводить ничего не нужно.

Дополнительные настройки по запросу

Чтобы узнать сколько в запросе всего строк, можно ничего не указывать в первый раз и нажать Run Query.

Через некоторое время мы получим результат:

Сверка отчета Analytics и выгруженных данных в Query Explorer

Как видим, данные из интерфейса Google Analytics и Query Explorer сходятся. А над результатами высветилась общая статистика по запросу:

  • Results showing – 1000 (показано строк);
  • Total results found – 20279 (сколько всего было найдено);
  • Contains sampled data – No (использовалась ли в ответе API выборка. Как правило, она является основной причиной расхождений между значениями, возвращаемыми из API и веб-интерфейса).

Добавим значения в поля start-index и max-results, чтобы выгрузить строки с 1 по 10 000. Теперь мы можем сохранить наш первый запрос и приступить ко второму. Для этого необходимо спуститься в самый низ таблицы (скроллинг, либо с помощью Skip to bottom) и нажать Download Results as TSV.

.TSV (tab separeted values, значения с разделителями табуляции) — текстовый формат для представления таблиц баз данных.

Скачать данные в TSV

Вот так выглядит эта таблица в Excel:

Данные из Query Explorer в Excel

Проделываем так еще 2 раза (два запроса, чтобы выгрузить все 20279 строк).

Что можно делать с данными из этой таблицы? Лучшее решение – создать сводную таблицу в Excel. О том, как это сделать, будет разобрано в отдельной статье.

Конфигурацией данного запроса мы можем поделиться с другими людьми. Для этого необходимо скопировать ссылку из поля Direct link to this Report.

Поделиться конфигурацией запроса

А поставив галочку Include ids parameter in the link above (uncheck if sharing publicly), в этот отчет автоматически добавится наш идентификатор представления. Если вы делитесь настройками, а не данными о конкретном представлении проекта, то галочку лучше не ставить. При совместном использовании ссылки будет использоваться только общий доступ к указанному вами запросу (значения измерений, метрик, сегментов, фильтров и т.д.). Он не будет предоставлять никаких ваших данных из Google Analytics.

Чтобы использовать эти данные на своем сайте, создавать отчеты, сводки, формировать другие запросы, вы можете скопировать API Query URI запроса, а затем, используя собственный токен для учетной записи Google Analytics, перенести к себе.

API Query URI

Поставив галочку Include current access_token in the Query URI (will expire in ~60 minutes), вам будет некоторое время доступна информация по этому запросу и временному токену. Просто скопируйте ссылку и вставьте в адресную строку браузера. Нажмите Enter.

Вы получите ответ на ваш запрос в не самом читабельном виде (для разработчиков привычно, они знают, что с этим делать). Данные можно сохранить в формате .json.

Результат

Интернет-маркетологи и веб-аналитики с каждым днем становятся все более техничными в плане настройки, сбора, выгрузки и визуализации данных. К нам предъявляются все большие требования по навыкам и осваиванию новых инструментам. Грань между разработкой и продвижением все больше размывается. Без знаний в программировании (хотя бы на уровне чтения кода) становится все сложнее и сложнее конкурировать с другими специалистами.

Query Explorer – хороший инструмент для знакомства с API. Даже если вы не планируете становиться разработчиком, познакомиться с веб-интерфейсом сервиса и создать пару десятков запросов по своим проектам, чтобы набить руку, никогда не помешает!

По схожему принципу работает и выгрузка данных из Google Analytics в Google Таблицы.

Комментарии к записи Query Explorer для выгрузки данных из ГА отключены