Образцы запросов в информационный центр

Не знаете, как написать в поддержку? Скачайте идеальные образцы запросов в ИЦ и получите быстрый ответ без лишних вопросов и ожидания.

Бесплатная консультация юриста

+7 (800) 301-07-30

Реклама jurik.ru

Взаимодействие с информационными центрами и аналитическими платформами требует понимания структуры данных и синтаксиса языков запросов (чаще всего SQL). Ниже представлен подробный обзор типовых образцов запросов, основанных на официальной документации Google Analytics 4 (GA4) для экспорта данных в BigQuery. Приведенные примеры демонстрируют базовые паттерны извлечения, агрегации и анализа событийных данных, актуальные на .


Общие принципы работы с образцами запросов

Все приведенные ниже примеры используют образцы наборов данных (public datasets). Это означает, что они возвращают действительные результаты сразу после запуска в консоли BigQuery.

Адаптация под свои данные

Для работы с реальными экспортированными данными вашего ресурса GA4 необходимо выполнить замену идентификатора таблицы.

  1. Найдите в запросе комментарий -- Replace table.
  2. Замените идентификатор образца набора данных на идентификатор вашего проекта.
Пример структуры идентификатора:
— Образец (заменяется):
bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*

— Ваш реальный идентификатор (пример):
my-first-gcp-project.analytics_* .events_*

Примечание: Идентификатор набора данных экспорта BigQuery можно найти в интерфейсе BigQuery на странице проекта BigQuery Export. Чувствительные части ID проекта и номера ресурса в примере выше замаскированы (*).

Фильтрация по дате: псевдостолбец _TABLE_SUFFIX

Таблицы событий в экспорте GA4 секционированы по дням (суффикс таблицы — это дата в формате YYYYMMDD). Для запроса за конкретный диапазон дат используйте условие WHERE с псевдостолбцом _TABLE_SUFFIX.

WHERE _TABLE_SUFFIX BETWEEN '20201201' AND '20201202'

Базовые образцы аналитических запросов

Подсчет уникальных событий по дате и названию

Запрос возвращает количество событий (event_count) с группировкой по дате и имени события для заданного списка событий (например, page_view, session_start, purchase).

SELECT
 event_date,
 event_name,
 COUNT() AS event_count
FROM
 -- Replace table name.
 `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_`
WHERE
 event_name IN ('page_view', 'session_start', 'purchase')
 -- Replace date range.
 AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202'
GROUP BY
 event_date,
 event_name
ORDER BY
 event_date,
 event_count DESC;

Расчет общего числа пользователей и новых пользователей

Поскольку не все клиенты отправляют user_id, рекомендуется использовать псевдоидентификатор user_pseudo_id.

Логика расчета:

  • Всего пользователей (User Count): Количество уникальных user_pseudo_id.
  • Новых пользователей (New User Count): Количество уникальных user_pseudo_id, у которых за период фиксируется событие first_visit (веб) или first_open (приложение).
WITH user_data AS (
 SELECT
 user_pseudo_id,
 MAX(IF(event_name IN ('first_visit', 'first_open'), 1, 0)) AS is_new_user
 FROM
 -- Replace table name.
 `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_`
 -- Replace date range.
 WHERE _TABLE_SUFFIX BETWEEN '20201101' AND '20201130'
 GROUP BY user_pseudo_id
)
SELECT
 COUNT() AS user_count,
 SUM(is_new_user) AS new_user_count
FROM user_data;

Среднее количество транзакций на покупателя

Показатель вычисляется как отношение общего числа событий покупки (purchase, in_app_purchase) к числу уникальных покупателей.

SELECT
 COUNT() / COUNT(DISTINCT user_pseudo_id) AS avg_transaction_per_purchaser
FROM
 -- Replace table name.
 `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_`
WHERE
 event_name IN ('in_app_purchase', 'purchase')
 -- Replace date range.
 AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201231';

Работа с параметрами событий (Event Parameters)

В GA4 параметры событий хранятся в повторяющемся поле (RECORD/ARRAY) event_params. Для доступа к значениям необходимо использовать оператор UNNEST и функцию COALESCE для определения типа значения (int, float, double).

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

Запрос возвращает строки для каждого события purchase с извлечением значения параметра value (стоимость транзакции).

SELECT
 event_timestamp,
 (
 SELECT COALESCE(value.int_value, value.float_value, value.double_value)
 FROM UNNEST(event_params)
 WHERE key = 'value'
 ) AS event_value
FROM
 -- Replace table name.
 `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
 event_name = 'purchase'
 -- Replace date range.
 AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202';

Агрегированная выборка: суммарная стоимость событий

Модификация предыдущего запроса для получения общей суммы (total_event_value) вместо детального списка.

SELECT
 SUM(
 (
 SELECT COALESCE(value.int_value, value.float_value, value.double_value)
 FROM UNNEST(event_params)
 WHERE key = 'value'
 )
 ) AS total_event_value
FROM
 -- Replace table name.
 `bigquery-public-data.ga4_obfuscated_sample_ecommerce.events_*`
WHERE
 event_name = 'purchase'
 -- Replace date range.
 AND _TABLE_SUFFIX BETWEEN '20201201' AND '20201202';

Чек-лист при формировании запросов к ИЦ (Информационному Центру)

Этап Действие Комментарий
Идентификация таблицы Заменить `bigquery-public-data…` на `project_id.dataset_id.events_` Использовать маскировку () для логов/документации
Диапазон дат Установить `_TABLE_SUFFIX BETWEEN ‘YYYYMMDD’ AND ‘YYYYMMDD’` Обязательно для контроля стоимости запроса (TB processed)
Выбор событий Фильтр `event_name IN (…)` Сокращает объем сканируемых данных
Распаковка параметров `UNNEST(event_params)` + `COALESCE` Учитывать вложенность и типы данных
Идентификация пользователя Приоритет: `user_id` -> `user_pseudo_id` Проверять заполняемость `user_id` в настройках GA4

Приведенные образцы запросов составляют фундамент для построения сложных аналитических отчетов в информационном центре на базе BigQuery. Ключевыми моментами остаются:

  • Оптимизация затрат: Всегда ограничивайте диапазон дат через _TABLE_SUFFIX и перечисляйте только необходимые колонки в SELECT (избегайте SELECT *).
  • Повторное использование: Выносите логику извлечения параметров (подзапросы с UNNEST) в CTE (Common Table Expressions) или UDF (User Defined Functions) для чистоты кода.
  • Безопасность данных: При передаче примеров запросов коллегам или в документацию обязательно маскируйте реальные Project ID, Dataset ID и номера счетов (*)

Данная статья основана на информации из официального репозитория разработчиков Google (developers.google.com) по состоянию на апрель 2024 года. Синтаксис и доступные поля могут обновляться; всегда сверяйтесь с актуальной схемой таблицы в интерфейсе BigQuery.