Проверка данных персонализации с помощью 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 , используя ссылку «Просмотреть необработанные события в 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 , описанного в схеме BigQuery Export [GA4] . Вас в первую очередь будут интересовать user_pseudo_id (который можно использовать для дифференциации пользователей), временные метки событий и другие свойства пользователя.

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

Параметр Тип данных Описание
personalization_id НИТЬ Предоставляет универсальный уникальный идентификатор (UUID) назначенной персонализации.
группа НИТЬ Указывает, был ли пользователь отнесен к группе персонализации (P13N) или к базовой группе (BASELINE).
arm_index ЦЕЛОЕ ЧИСЛО Представляет альтернативное значение, назначенное пользователю, целое число от 0 до 4.
arm_key НИТЬ Содержит имя параметра, используемого при персонализации.
arm_value НИТЬ Содержит альтернативную строку значения, назначенную персонализацией.
активное_событие_сессии ЦЕЛОЕ ЧИСЛО Включает количество сеансов, в которых участвует пользователь. Дополнительные сведения см. в разделе «О сеансах» .
firebase_event_origin НИТЬ Указывает источник события. Для событий personalization_assignment это всегда fp .
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