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

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

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

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

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

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

  1. Откройте вкладку «Интеграции» , доступ к которой можно получить, выбрав > «Настройки проекта» в консоли Firebase .
  2. Если вы уже используете BigQuery с другими сервисами Firebase, нажмите «Управление» . В противном случае нажмите «Ссылка» .
  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 . В основном вас будут интересовать user_pseudo_id i (который можно использовать для различения отдельных пользователей), временные метки событий и другие свойства пользователя.

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

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

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

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

    # 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