Связь Google Analytics 4 с Google BigQuery

05 февраля, 2022

Одна из парадигм, которая изначально была заложена компанией Google в Google Analytics 4 – это возможность работать с «сырыми», необработанными данными. И чтобы упростить процесс обмена информации между двумя продуктами Google, в GA4 добавили новую интеграцию – связь с Google BigQuery.

Обновление (февраль 2022): я выпустил электронное руководство по Google Analytics 4. Бесплатно скачать его можно в формате .PDF по ссылке.

Google BigQuery – это облачное хранилище данных, позволяющее очень быстро обрабатывать запросы к большим наборам данных с помощью специальных команд, схожих с языком запросов SQL.

Google BigQuery

Теперь вы как владелец ресурса GA4 можете включить экспорт данных в BigQuery и начать использовать необработанные данные о событиях, собранных на сайте и ​​в мобильном приложении без какой-либо выборки и ограничений.

Что такое необработанные, «сырые» данные?

Когда вы работаете с отчетами Google Analytics, вы видите табличные данные в окончательном виде. Это может быть сумма, расчет среднего значения, процент от итогового значения и т.д. Например, вот так выглядит стандартный отчет Источник/канал в Universal Analytics за определенный диапазон дат:

Отчет «Источник/канал» в Universal Analytics

Вверху таблицы представлены агрегированные (объединенные) значения по пользователям, сеансам транзакциям, доходу. Часть показателей рассчитана на основе других показателей. Например, Показатель отказов, Страниц/Сеанс, Сред. Длительность сеанса и Коэффициент транзакций. То есть над ними были совершены преобразования и произведены математические операции - сложение, деление, умножение, вычитание.

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

Но есть и другая проблема. При достижении определенного порога по сеансам на уровне ресурса для выбранного диапазона дат Universal Analytics начинает работать с данными иначе. Он их семплирует.

Семплирование (англ. Sampling) – метод выбора подмножества наблюдаемых величин из данного множества, с целью выделения неких свойств исходного множества. Иными словами, Google берет некоторую выборку данных, например, 10%, умножает ее на 10 и говорит нам, что так вели бы себя все 100%.

Желтый значок в Universal Analytics рядом с названием отчета говорит нам о том, что к нему было применено семплирование:

Неполная выборка в Universal Analytics

Зеленый значок свидетельствует о том, что он построен на 100% выборке данных:

Выборка данных на основе анализа 100% сеансов

Google применяет семплирование для снижения нагрузки на свои сервера. Отчет строится гораздо быстрее, но может вводить аналитика в заблуждение. Если у вашего проекта небольшой объем данных, то вы можете попросту этого не замечать. Однако на больших объемах данных статистика будет сильно искажаться.

В Google Analytics 4 стандартные отчеты всегда без выборки. Это справедливо даже в том случае, если вы применяете дополнительные параметры, фильтры или другие изменения отчета. Однако при использовании некоторых методик Исследования выборка данных может все-таки применяться.

Выборка данных в Google Analytics 4

Есть несколько способов борьбы с семплированием данных в Google Analytics:

  • уменьшить анализируемый временной диапазон;
  • увеличить точность выборки (задается в настройках Universal Analytics при формировании отчета);
  • использовать Google Analytics 360;
  • использовать инструмент Query Explorer (работает с Core Reporting API и позволяет выгружать до 10 000 строк за один запрос);
  • использовать Spreadsheet Add-on (надстройку для Google Таблиц);
  • использовать язык программирования R/Python.

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

Например, вам интересно узнать, какое количество активных пользователей было 30 января 2022 года. Вы сформируете запрос (в том же Query Explorer или Google Таблицах), выполните его и получите схожий результат:

Пример результата запроса в Query Explorer

Google вернет ответ одной строкой (число 481) как сумму всех пользователей за выбранный день.

При работе с «сырыми», неагрегированными данными, которые будут отправляться из Google Analytics 4 и храниться в BigQuery, каждый пользователь и его действия будут отображаться отдельными строками. И чтобы получить итоговое значение по уникальному количеству, вам необходимо будет выполнить SQL-запрос.

Преимущества «сырых» данных

С помощью неагрегированных (сырых) данных вы можете:

  • работать со статистикой без выборки;
  • обойти интерфейсные ограничения Google Analytics 4;
  • отслеживать путь каждого пользователя по вашему сайту или мобильному приложению;
  • строить собственные модели атрибуции, чтобы оценивать вклад каждого рекламного канала;
  • находить различные зависимости в поведении определенных групп пользователей и прицельно «таргетироваться» на них;
  • объединять данные Google Analytics 4 со сторонними API и другими сервисами (например, CRM);
  • корректировать уже собранную статистику (исправлять ошибки после сбора);
  • визуализировать данные в таких инструментах, как Google Data Studio, Tableau, Looker, Microsoft Power BI и др.;
  • использовать накопленную статистику в качестве входных значений для прогнозирования будущих показателей (Machine Learning).

Стоит не забывать, что срок хранения данных о пользователях и событиях в Google Analytics 4 по умолчанию составляет 2 месяца. Вы можете увеличить его до 14 месяцев, выставив в настройках ресурса в разделе Настройки данных – Хранение данных.

Хранение данных в Google Analytics 4

Однако этого может быть недостаточно, если вы хотите проанализировать события пользователей, которые последний раз заходили более 14 месяцев назад. И здесь вам тоже может помочь Google BigQuery. Настроив экспорт данных один раз, данные в BigQuery будут поступать ежедневно/потоково и храниться там без ограничений по времени.

Связь Universal Analytics с Google BigQuery

Единственный способ для пользователей Universal Analytics (GA3) получить доступ к необработанным данным и экспорту в BigQuery «из коробки» — это использовать платную версию Google Analytics 360 (GA360).

С появлением Google Analytics 4 связь с BigQuery теперь доступна всем бесплатно. Вы платите за хранение данных ($0.020 за ГБ, 10 ГБ бесплатно) и за обработку данных при анализе (5$ за ТБ, 1 ТБ в месяц бесплатно).

Вы также можете использовать тестовую среду BigQuery (BigQuery Sandbox) без кредитной карты, но тогда вы рискуете, что ваши данные будут храниться только 60 дней (см. приложение).

Примечание: есть специализированные сервисы, которые берут на себя процесс выгрузки данных из Universal Analytics, трансформации и последующей их загрузкой в Google BigQuery. Например: OWOX BI, Renta, Api Monster и другие.

Связь Google Analytics 4 с Google BigQuery

Перейдем к настройке экспорта данных в BigQuery.

Авторизуйтесь под своей учетной записью Google, на которой у вас доступен Google Analytics 4. Перейдите по ссылке https://console.cloud.google.com/bigquery. В верхнем меню выберите Select a project (1) и создайте новый проект New Project (2):

Создание нового проекта

Введите название проекта (Project name) и нажмите кнопку Создать (Create):

Название проекта

Поздравляю! Вы создали свой первый проект в Google Cloud Platform.

Убедитесь, что в верхнем меню выбран ваш проект:

Выбор созданного проекта

Теперь поисковой строке сверху введите слово API library и выберите вариант LibraryAPIs & Services:

Библиотека API

Аналогично в библиотеку API можно перейти с помощью бокового меню слева:

Боковое (левое) меню

В открывшемся окне в поиске введите слово bigquery и в подсказках нажмите на bigquery api:

Запрос «bigquery»

Нажмите на BigQuery API:

BigQuery API

Если у вас не была включена служба BigQuery API, сделайте это с помощью кнопки Включить. Зеленая иконка с надписью API Enabled свидетельствует об успешной активации. Далее нажмите на кнопку Manage:

Активация BigQuery API

В открывшемся окне перейдите в меню Credentials (1), после нажмите на + Create Credentials (2) и из выпадающего списка выберите Service account (3):

Credentials – Create credentials – Service account

Добавьте в поле Service account name значение firebase-measurement@system.gserviceaccount.com. Нажмите кнопку Create and Continue:

Create and Continue

На завершающем шаге нажмите кнопку Done:

Завершение

Вы должны увидеть свою учетную запись службы в списке Service Accounts:

Добавленная запись службы

Вернитесь в Google Analytics 4. Перейдите в раздел Администратор и на уровне ресурса выберите Связь с BigQuery.

вязь с BigQuery

В новом окне нажмите кнопку Связать:

Связать

Откроется окно с созданием связи. Чтобы настроить экспорт данных с вашим проектом, созданным в Google Cloud Platform, нажмите на кнопку Выбрать проект BigQuery:

Выбрать проект BigQuery

Отобразиться список доступных проектов. Поставьте галочку напротив вашего проекта и нажмите кнопку Подтвердить:

Установка связи с проектом

После этого выберите местоположение ваших данных (регион Google Cloud для своих данных). Изменить его будет нельзя. Можете оставить по умолчанию США (us) или выбрать Европейский союз (eu):

Местоположение данных

Нажмите Далее. Настройте параметры передачи данных, выбрав необходимые потоки для экспорта в BigQuery. По умолчанию выбраны все. Если у вас только сайт, то используйте его. Если у вас в ресурсе Google Analytics 4 есть потоки данных для веб-сайтов, так и для мобильных приложений, а вы хотите выгружать данные в BigQuery только для сайта, измените выбор с помощью кнопки Изменить.

Выбор потоков данных

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

Рекламный идентификатор (Advertising ID) – это уникальный сбрасываемый идентификатор для показа рекламы, присваиваемый сервисами Google Play. Он упрощает управление данными для пользователей и обеспечивает простую стандартизированную систему монетизации приложений для разработчиков.

Для экспорта в BigQuery требуется указать частоту передачи данных:

  • Ежедневно - полная выгрузка данных за прошлый день (раз в день);
  • Потоковая передача - выгрузка данных в режиме реального времени (постоянно), по мере совершения пользователями событий (доступна после добавления платежного аккаунта в Google Cloud Platform).

Частота экспорта данных

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

Выбор обоих способов одновременно

Выбрав необходимые настройки, нажмите кнопку Далее. На последнем шаге Google вас попросит перепроверить все настройки. Если все правильно, нажмите Отправить:

Проверка данных

В результате вы увидите сообщение об успешной установленной связи Google Analytics 4 с Google BigQuery:

Связь создана

А в списке ваших подключений будет создана одна связь и больше недоступна кнопка Связать, поскольку допускается только одна связь на ресурс Google Analytics 4:

Одна связь с BigQuery на ресурс GA4

Теперь вы можете перейти в проект BigQuery в Google Cloud Platform и убедиться, что в вашем проекте создались таблицы. Для этого в боковом меню найдите раздел BigQuery:

Закрепление меню BigQuery

При желании вы можете его «запинить» (Pin), чтобы не потерять. Тогда это меню будет отображаться в самом начале сверху. Примерно через 24 часа после интеграции в Google BigQuery будут переданы первые данные.

Данные в BigQuery

Ежедневная таблица будет иметь название events_ГГГГММДД, а таблица текущего дня - как events_intraday_ГГГГММДД.

Таблицы с данными

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

Удаление связи

Первый запрос в Google BigQuery

Если вы желаете начать изучение облачного хранилища данных Google, я рекомендую прочитать переведенную мной книгу Learning Google BigQuery (E. Brown, H. Thirukkumaran), скачать которую вы можете по ссылке (см. приложение). Она содержит исчерпывающую информацию о решении Google BigQuery для хранения больших объемов данных, размещенных в Google Cloud Platform (GCP). В этой книге также рассматриваются другие сервисы Google Cloud Platform и их интеграция с Google BigQuery, в том числе с Tableau и Google Data Studio, а также приводятся разные примеры SQL-запросов.

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

Давайте напишем свой первый запрос в Google BigQuery.

В качестве примера посчитаем общее количество пользователей за один день. Значение уникального идентификатора пользователя (Client ID) находится в атрибуте user_pseudo_id.

Идентификатор клиента = user_pseudo_id

Чтобы рассчитать количество уникальных пользователей за данный день, нам нужно найти уникальное количество этих идентификаторов. Сделать это можно с помощью функции COUNT с командой DISTINCT, которая может быть использована для подсчета уникальных значений

Поэтому итоговый запрос, который необходимо выполнить, будет выглядеть так:

В BigQuery после нажатия на кнопку Run вы увидите результат к окне Query results:

Результат первого запроса в BigQuery

482 пользователя с уникальным идентификатором (Client ID) было найдено в текущем наборе данных.

Получайте бесплатные уроки и фишки

По контекстной, таргетированной рекламе и аналитике