Доступ к пользовательским отчетам Google Analytics 4 из Google BigQuery

03 декабря, 2024

В этом руководстве показано, как создать собственный отчет с помощью надстройки Google Analytics 4 в Google Таблицах, представить этот отчет как внешнюю таблицу BigQuery, а затем запросить данные отчета непосредственно из BigQuery.

Материал основан на официальной документации Google, с моими комментариями и дополнениями по шагам настройки.

В качестве примера я буду воспроизводить отчет по событиям, но вы можете применить нижеприведенные шаги к любому другому отчету. Отчет по событиям в GA4 содержит данные о том, сколько раз активировалось каждое событие и сколько пользователей активировали каждое событие на вашем сайте или в приложении. Анализируя эти данные, можно повышать удобство для пользователей и количество конверсий.

Параметры в отчете:

  • Название события (название в API - eventName)

Показатели в отчете:

  • Количество событий (название в API - eventCount)
  • Всего пользователей (название в API - totalUsers)
  • Событий на активного пользователя (название в API - eventCountPerUser)
  • Общий доход (название в API - totalRevenue)

Сам отчет выглядит следующим образом:

Отчет по событиям

Создание отчета в Google Таблицах

Чтобы выгрузить этот отчет в Google Таблицы, а затем запросить данные этого отчета из Google BigQuery, перейдите в Google Sheets и создайте отдельный документ.

Новая таблица Google

Перейдите в раздел Расширения - Дополнения - Установить дополнения:

Расширения - Дополнения - Установить дополнения

В открывшемся окне найдите официальное расширение Google Analytics. Полностью оно называется GA4 Reports Builder for Google Analytics:

GA4 Reports Builder for Google Analytics

И установите его, предоставив все нужные разрешения.

Установка расширения

В завершение вы увидите окно с успешной установкой расширения:

Успешная установка

Примечание: установить надстройку Google Analytics Sheets можно и из Google Workspace Marketplace по ссылке.

После этого откройте Расширения - GA4 Reports Builder for Google Analytics - Create new report:

Создание отчета Google Analytics 4

Вам откроется новое окно с настройкой конфигурации вашего отчета Google Analytics 4.

Окно создания отчета GA4

Укажите имя отчета (report name), выберите необходимый аккаунт и ресурс Google Analytics 4, а также задайте диапазон дат выгрузки статистики (например, за последние 30 дней).

Настройки конфигурации

Далее добавьте нужные поля вашего отчета. В Dimensions - параметры, в Metrics - показатели. Для моего примера отчета по событиям - это:

  • eventName - параметр;
  • eventCount, totalUsers, eventCountPerUser, totalRevenue - показатели.

Параметры и показатели отчета

В официальной документации Google демонстрируется другой пример - отчет Источники трафика (User acquisition), поэтому параметры и показатели там другие.

Оставьте поля Dimension filters и Metric filters пустыми. После настройки отчета нажмите кнопку Create report, чтобы создать конфигурацию отчета в текущем документе:

Create Report

На новом листе Report Configuration вы увидите вашу собственную конфигурацию отчета:

Конфигурация отчета

После этого перейдите в Расширения - GA4 Reports Builder for Google Analytics - Run reports, чтобы создать отчет:

Расширения - GA4 Reports Builder for Google Analytics - Run reports

После завершения отчета будет создана новая вкладка с названием вашего отчета:

Успешно созданный отчет на отдельной вкладке

Чтобы этот отчет обновлялся автоматически, вы можете выставить динамический диапазон дат, а затем перейдите в Расширения - GA4 Reports Builder for Google Analytics - Schedule reports и настройке итоговое расписание. Например, каждый день час ночи:

Расписание

Подключение отчета Google Таблицы как внешнюю таблицу BigQuery

Внимание! Перед тем, как выполнять этот шаг, у вас должен быть активный проект в Google Cloud с подключенным платежным биллингом. Если вы этого не сделаете, то не сможете полноценно работать с BigQuery. В связи с текущими событиями в мире Google приостановил работу для пользователей из России. На момент публикации этого материала вы не сможете привязать свою банковскую карту, выпущенную на территории РФ. Наиболее простое и эффективное решение - выпустить карту другой страны (Казахстан, Киргизия, Армения и т.д.), чтобы иметь возможность пользоваться Google Cloud и оплачивать счета.

С помощью BigQuery вы можете создать постоянную таблицу, связанную с вашим внешним источником данных в Google Sheets. Для этого перейдите в Google BigQuery, разверните проект (project) и выберите набор данных (dataset). Нажмите Create table:

Создание таблицы

В открывшемся окне в разделе Source для Create table from выберите Drive. В поле Select Drive URI введите URI вашего документа Google Sheets, содержащего отчет Google Analytics 4, в формате https://docs.google.com/spreadsheets/d/[file_id], где:

  • [file_id] - идентификатор вашего файла Google Таблиц. Он отображается в ссылке после /d/ и до /edit:

[file_id] вашего файла Google Таблиц

В поле File format выберите Google Sheet. В BigQuery это будет выглядеть так:

Настройки источника

В разделе Destination задайте следующие настройки:

  • Project - выберите проект Google BigQuery;
  • Dataset - выберите соответствующий набор данных;
  • Table - введите имя таблицы, которую вы создаете в BigQuery (например, ga4report).

Настройки назначения (название таблицы BigQuery)

Убедитесь, что для Table type задан External table:

Тип таблицы - внешняя (External table)

В поле Sheet range в разделе Source укажите имя листа и диапазон ячеек для запроса. Это должен быть лист, содержащий данные вашего отчета. Для нашего примера отчета диапазон может быть указан как eventsGA4!A:E:

Диапазон таблицы с данными eventsGA4!A:E

В настройках конфигурации BigQuery:

Диапазон данных Google Таблицы

В разделе Schema поставьте галочку Auto detect (функция автоматического определения полей):

Включение Auto detect

Разверните раздел Advanced options. В поле Header rows to skip укажите количество строк, которые следует пропустить. В нашем примере данные отчета начинаются со строки 15:

Данные в отчете начинаются с 15 строки

Что является значением, которое следует задать в соответствующем поле:

Header rows to skip - 15

В завершение нажмите кнопку Create table. При необходимости выберите свою учетную запись и нажмите Разрешить, чтобы предоставить клиентским инструментам BigQuery доступ к вашему Google Drive.

Создание таблицы

После этого в BigQuery вы должны увидеть созданную таблицу с вашей схемой данных:

Созданная таблица из внешнего источника

Запрос к таблице отчета Google Таблиц из BigQuery

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

Откройте созданную таблицу и нажмите Query. Вы можете открыть редактор SQL-запросов как в отдельной вкладке (In new tab), так и в отдельной части экрана (In split tab). В предложенном запросе измените SELECT FROM на SELECT * FROM, чтобы получить все поля отчета:

Все поля таблицы через SELECT * FROM

Нажмите RUN, чтобы выполнить запрос. Вы получите тот же результат с данными, что и в вашей Google Таблице:

Результат выполнения SQL-запроса

Поскольку мы в этом примере использовали динамический диапазон дат (30daysAgo и yesterday) и расписание, то статистика будет всегда актуальна за последние 30 дней. Но вы можете изменить конфигурацию отчета Google Analytics 4 под себя, задав дату начала как статическое значение (какую-то конкретную дату), а дату окончания - yesterday. Таким образом, в ваш отчет будут добавляться все новые и новые данные, которые вы затем можете анализировать с помощью SQL-запросов в самом BigQuery. А добавив еще и параметр Date (date), вы сможете гибко работать с датами, запрашивая нужны срезы за любой период.

Но не забывайте, что статистика, которую вы выгрузили в Google Таблицы с помощью официального дополнения GA4 Reports Builder for Google Analytics, запрашивается по Data API (API Google Analytics 4), то время как использование прямой связи GA4 с BigQuery дает вам преимущество и возможность работы с сырыми данными.

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

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