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