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

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

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

Включить экспорт данных из сервиса "BigQuery" для проекта "Google Analytics" (Firebase)

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

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

  1. В консоли Firebase выберите Settings (Настройки) > Integrations (Интеграции).

  2. На карточке BigQuery нажмите Связать. Если вы уже используете BigQuery с другими сервисами Firebase, нажмите Управление.

  3. Ознакомьтесь с информацией в разделе Связывание Firebase с BigQuery и нажмите Далее.

  4. В разделе Настройка интеграции включите переключатель Google Analytics.

  5. Выберите регион и настройки экспорта.

  6. Нажмите Связать с BigQuery.

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

После этого вы сможете просматривать и анализировать события персонализации в BigQuery.

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

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

  1. Откройте BigQuery в консоли Google Cloud. Вы также можете открыть BigQuery непосредственно из консоли Firebase, перейдя в раздел Аналитика > События и нажав на ссылку Посмотреть необработанные события в BigQuery внизу страницы.

  2. Выберите проект Firebase и разверните его, затем разверните запись analytics_ANALYTICS_PROPERTY_ID и нажмите events_.

    Как посмотреть события персонализации в консоли Cloud

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

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

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

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

    Совет. Чтобы выполнить поиск по всем таблицам событий, а не только по сегментированной, замените дату в названии таблицы событий звездочкой (например, PROJECT_ID.analytics_ANALYTICS_PROPERTY_ID.events_*). Не рекомендуем делать это в рабочих сценариях или при работе с большими наборами данных.

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

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

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

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

Основные поля, предоставляемые в событии персонализации, такие же, как и в любом событии Analytics, как описано в статье Экспорт данных Google Аналитики для Firebase в BigQuery. В основном вам будут нужны user_pseudo_id (для различения пользователей), временные метки событий и другие свойства пользователей.

Сведения о персонализации хранятся в поле event_params и описаны в таблице ниже.

Параметр Тип данных Описание
personalization_id STRING Универсальный уникальный идентификатор (UUID) назначенной персонализации.
группа STRING Указывает, был ли пользователь назначен в группу персонализации (P13N) или контрольную группу (BASELINE).
arm_index INTEGER Представляет альтернативное значение, назначенное пользователю, – целое число от 0 до 4.
arm_key STRING Содержит название параметра, используемого для персонализации.
arm_value STRING Содержит строку альтернативного значения, назначенную персонализацией.
engaged_session_event INTEGER Включает количество сеансов, в которых пользователь взаимодействует с контентом. Подробнее о сеансах…
firebase_event_origin STRING Указывает источник события. Для событий personalization_assignment это значение всегда будет fp.
firebase_screen_class STRING Название класса экрана, на котором пользователь был активен, когда произошло назначение персонализации. Подробнее об автоматически регистрируемых событиях…
firebase_screen_id INTEGER Идентификатор экрана, на котором находился пользователь, когда было назначено персонализированное значение. Подробнее об автоматически регистрируемых событиях…
first_open_time STRING Временная метка в миллисекундах (UTC), когда пользователь впервые открыл приложение. Подробнее об автоматически регистрируемых событиях…
ga_session_id INTEGER Предоставляет идентификатор сеанса Google Analytics. Подробнее о сеансах… С его помощью можно сопоставить событие personalization_assignment с другими событиями Analytics.
ga_session_number INTEGER Предоставляет номер сеанса 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_ID.analytics_ANALYTICS_ACCOUNT_ID.events_DATE_SHARD`
    WHERE event_name = 'personalization_assignment'
    LIMIT 10