Персонализация Remote Config регистрирует событие personalization_assignment Analytics , когда персонализация назначается пользователю, что позволяет использовать BigQuery для проверки и анализа событий персонализации и связанных с ней событий.
В следующих разделах описывается, как включить экспорт BigQuery для событий Analytics , как хранятся события персонализации, а также приводятся некоторые базовые запросы, с которых можно начать работу.
Включить экспорт BigQuery для Google Analytics для Firebase
Если у вас тарифный план Spark, вы можете использовать песочницу BigQuery для бесплатного доступа BigQuery с учётом ограничений песочницы . Подробнее см. в разделе «Цены и песочница BigQuery» .
Сначала убедитесь, что вы экспортируете данные Analytics в BigQuery :
- Откройте вкладку «Интеграции» , доступ к которой можно получить, выбрав > «Настройки проекта» в консоли Firebase .
- Если вы уже используете BigQuery с другими сервисами Firebase, нажмите «Управление» . В противном случае нажмите «Связать» .
- Ознакомьтесь со статьей «О связывании Firebase с BigQuery , затем нажмите «Далее» .
- В разделе «Настройка интеграции» включите переключатель Google Analytics .
- Выберите регион и выберите настройки экспорта. 
- Нажмите «Ссылка на BigQuery . 
В зависимости от выбранного способа экспорта данных, таблицы могут стать доступными в течение суток. Подробнее об экспорте данных проекта в BigQuery см. в статье Экспорт данных проекта в BigQuery .
Далее давайте получим доступ и проверим наши события персонализации в BigQuery .
Доступ к данным персонализации Remote Config с помощью BigQuery
Чтобы запросить аналитические данные для эксперимента:
- Откройте BigQuery в консоли Google Cloud . Вы также можете открыть его непосредственно из раздела «События Analytics , используя ссылку «Просмотреть необработанные события в BigQuery внизу страницы.
- Выберите проект Firebase и разверните его, затем разверните запись - analytics_ ANALYTICS_PROPERTY_IDи нажмите- events_. 
- В раскрывающемся списке Запрос выберите В новой вкладке . - Появится автоматически сгенерированный пример запроса. 
- Чтобы просмотреть события персонализации и связанные с ними данные, обновите запрос, выбрав события - 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_*). Это не рекомендуется делать в сценариях, не связанных с тестированием, или для больших наборов данных.
- В редакторе запросов выберите «Выполнить запрос». Результаты появятся в нижней панели. 
В следующем разделе мы более подробно обсудим, что входит в мероприятие по персонализации.
Какие данные персонализации экспортируются в 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