Проверка данных персонализации с помощью BigQuery

Персонализация Remote Config регистрирует событие Analytics personalization_assignment , когда персонализация назначается пользователю, что позволяет использовать BigQuery для проверки и анализа событий персонализации и связанных с ними событий.

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

Включить экспорт BigQuery для Google Analytics для Firebase

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

Сначала убедитесь, что вы экспортируете данные Analytics в BigQuery :

  1. Откройте вкладку «Интеграции» , доступ к которой можно получить с помощью > «Настройки проекта» в консоли Firebase .
  2. Если вы уже используете BigQuery с другими службами Firebase, нажмите Manage . В противном случае нажмите Link .
  3. Ознакомьтесь с разделом «Связывание Firebase с BigQuery , затем нажмите «Далее» .
  4. В разделе «Настройка интеграции» включите переключатель Google Analytics .
  5. Выберите регион и выберите настройки экспорта.

  6. Нажмите ссылку на BigQuery .

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

Далее давайте получим доступ и проверим наши события персонализации в BigQuery .

Доступ к данным персонализации Remote Config с помощью BigQuery

Чтобы запросить аналитические данные для эксперимента:

  1. Откройте BigQuery в консоли Google Cloud . Вы также можете открыть его напрямую из Analytics Events , используя ссылку «Просмотреть необработанные события в BigQuery в нижней части страницы.
  2. Выберите проект Firebase и разверните его, затем разверните запись analytics_ ANALYTICS_PROPERTY_ID и нажмите events_ .

    Access personalization events in the Cloud console

  3. В раскрывающемся списке «Запрос» выберите пункт «В новой вкладке» .

    Появится автоматически сгенерированный пример запроса.

  4. Чтобы просмотреть события персонализации и связанные с ними данные, обновите запрос, чтобы выбрать события personalization_assignment . Следующий пример запроса вернет полное событие назначения персонализации для определенного сегмента даты, ограничив результаты до 10:

    # Select all personalization_assignment events
    SELECT *
    FROM `PROJECT_NAME.analytics_ANALYTICS_PROPERTY_ID.events_DATE_SHARD`
    WHERE event_name = 'personalization_assignment'
    LIMIT 10
    

    Совет: для поиска по всем таблицам событий вместо сегментированной таблицы можно заменить дату таблицы событий на звездочку (например, PROJECT_NAME .analytics_ ANALYTICS_PROPERTY_ID .events_* ). Это не рекомендуется в нетестовых сценариях или для больших наборов данных.

  5. В редакторе запросов выберите Выполнить запрос. Результаты появятся в нижней панели.

В следующем разделе мы более подробно обсудим, что входит в мероприятие по персонализации.

Какие данные персонализации экспортируются в BigQuery ?

Данные персонализации включаются в таблицы Google Analytics в BigQuery и хранятся в событиях personalization_assignment .

Основные поля, предоставляемые в событии персонализации, такие же, как и в любом событии Analytics , как описано в [GA4] Схема BigQuery Export . Вас в основном будут интересовать user_pseudo_id i (который можно использовать для различения отдельных пользователей), временные метки событий и другие свойства пользователя.

Специфические для персонализации данные хранятся в поле event_params и описаны в следующей таблице:

Параметр Тип данных Описание
персонализация_id НИТЬ Предоставляет универсальный уникальный идентификатор (UUID) назначенной персонализации.
группа НИТЬ Указывает, был ли пользователь отнесен к группе персонализации (P13N) или к базовой группе (BASELINE).
arm_index ЦЕЛОЕ ЧИСЛО Представляет альтернативное значение, назначенное пользователю, целое число от 0 до 4.
arm_key НИТЬ Содержит имя параметра, используемого при персонализации.
arm_value НИТЬ Содержит альтернативную строку значения, назначенную персонализацией.
занятое_событие_сессии ЦЕЛОЕ ЧИСЛО Включает количество сеансов, в которых участвует пользователь. Для получения дополнительной информации см. раздел «О сеансах» .
firebase_event_origin НИТЬ Указывает источник события. Это всегда будет fp для событий personalization_assignment .
firebase_screen_class НИТЬ Предоставляет имя класса экрана, на котором пользователь был активен, когда произошло назначение персонализации. См. Автоматически собранные события для получения дополнительной информации.
firebase_screen_id ЦЕЛОЕ ЧИСЛО Отображает идентификатор экрана, на котором находился пользователь, когда произошло назначение персонализации. Подробнее см. в разделе Автоматически собранные события .
время_первого_открытия НИТЬ Предоставляет временную метку в миллисекундах UTC, когда пользователь впервые открыл приложение. Подробнее см. в разделе Автоматически собранные события .
ga_session_id ЦЕЛОЕ ЧИСЛО Предоставляет идентификатор сеанса Google Analytics . См. раздел О сеансах для получения дополнительной информации. Вы можете использовать это для корреляции события personalization_assignment с другими событиями Analytics .
ga_session_number ЦЕЛОЕ ЧИСЛО Предоставляет номер сеанса Google Analytics . Подробнее см. в разделе О сеансах .

Примеры запросов

Для извлечения параметров, специфичных для персонализации, из событий personalization_assignment можно использовать следующий оператор SQL:

    # Expand nested personalization parameters
    SELECT
     timestamp_micros(event_timestamp) AS event_time,
     user_pseudo_id,
     (
       SELECT event_params.value.string_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'group'
     ) AS personalization_group,
     (
       SELECT event_params.value.string_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'personalization_id'
     ) AS personalization_id,
     (
       SELECT event_params.value.string_value,
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'arm_key'
     ) AS arm_key,
     (
       SELECT event_params.value.string_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'arm_value'
     ) AS arm_value,
     (
       SELECT event_params.value.int_value
       FROM UNNEST(event_params) event_params
       WHERE event_params.key = 'ga_session_id'
     ) AS ga_session_id,
    FROM `PROJECT_NAME.analytics_ANALYTICS_ACCOUNT_ID.events_DATE_SHARD`
    WHERE event_name = 'personalization_assignment'
    LIMIT 10