Inspecciona datos de personalización con BigQuery

La personalización de Remote Config registra un evento de Analytics personalization_assignment cuando se asigna una personalización a un usuario, lo que te permite usar BigQuery para inspeccionar y analizar eventos de personalización y asociados.

En las siguientes secciones, se describe cómo habilitar la exportación a BigQuery para eventos de Analytics, cómo se almacenan los eventos de personalización y cómo proporcionar algunas consultas básicas para comenzar.

Habilita las exportaciones de BigQuery para Google Analytics para Firebase

Si tienes el plan Spark, puedes usar la zona de pruebas de BigQuery para acceder a BigQuery sin costo, sujeto a los límites de la zona de pruebas. Consulta los precios y la zona de pruebas de BigQuery para obtener más información.

Primero, asegúrate de exportar los datos de Analytics a BigQuery. Para ello, sigue estos pasos:

  1. Abre la pestaña Integraciones, que se encuentra en la sección > Configuración del proyecto de Firebase console.
  2. Si ya usas BigQuery con otros servicios de Firebase, haz clic en Administrar. De lo contrario, haz clic en Vincular.
  3. Consulta Información para vincular Firebase a BigQuery y, luego, haz clic en Siguiente.
  4. En la sección Configura la integración, habilita el botón de activación Google Analytics.
  5. Selecciona una región y elige la configuración de exportación.

  6. Haz clic en Vincular a BigQuery.

En función de cómo elegiste exportar los datos, las tablas pueden tardar hasta un día en estar disponibles. Si necesitas más información para exportar datos de proyectos a BigQuery, consulta Exporta datos de proyectos a BigQuery.

A continuación, inspeccionemos y analicemos los eventos de personalización en BigQuery.

Accede a los datos de personalización de Remote Config con BigQuery

Sigue estos pasos para consultar los datos de análisis de un experimento:

  1. Abre BigQuery en la consola de Google Cloud. También puedes hacerlo directamente desde Eventos de Analytics con el vínculo para ver los eventos sin procesar en BigQuery, que se encuentra en la parte inferior de la página.
  2. Selecciona tu proyecto de Firebase y expándelo. Luego, expande la entrada analytics_ANALYTICS_PROPERTY_ID y haz clic en events_.

    Accede a los eventos de personalización en la consola de Cloud

  3. En el menú desplegable Consulta, selecciona En una pestaña nueva.

    Aparecerá una consulta de ejemplo generada automáticamente.

  4. A fin de ver los eventos de personalización y los datos asociados, actualiza la consulta para seleccionar eventos personalization_assignment. En la siguiente consulta de ejemplo, se mostrará un evento de asignación de personalización completo para una fecha de fragmentación específica, lo que limita los resultados a 10:

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

    Sugerencia: Para buscar todas las tablas de eventos en lugar de la fragmentada, puedes reemplazar la fecha de la tabla de eventos con un asterisco (por ejemplo, PROJECT_NAME.analytics_ANALYTICS_PROPERTY_ID.events_*). No se recomienda en casos que no son de prueba o para grandes conjuntos de datos.

  5. En el compositor de búsquedas, selecciona Ejecutar búsqueda. Los resultados aparecen en el panel inferior.

En la siguiente sección, analizaremos con más detalle lo que se incluye en un evento de asignación de personalización.

¿Qué datos de personalización se exportan a BigQuery?

Los datos de personalización se incluyen en las tablas de Google Analytics en BigQuery y se almacenan en eventos personalization_assignment.

Los campos básicos proporcionados en un evento de personalización son los mismos que cualquier evento de Analytics, como se describe en el artículo [GA4] Esquema de BigQuery Export. Te preocuparás principalmente de user_pseudo_id (que se puede usar para diferenciar usuarios distintos), las marcas de tiempo de los eventos y otras propiedades del usuario.

Los detalles específicos de la personalización se guardan en el campo event_params y se describen en la siguiente tabla:

Parámetro Tipo de datos Descripción
personalization_id STRING Proporciona el identificador único universal (UUID) de la personalización asignada.
group STRING Indica si el usuario se asignó al grupo de personalización (P13N) o al de referencia (BASELINE).
arm_index INTEGER Representa el valor alternativo que se asigna al usuario, un número entero entre 0 y 4.
arm_key STRING Contiene el nombre del parámetro que usó la personalización.
arm_value STRING Contiene el valor alternativo de string que asignó la personalización.
engaged_session_event INTEGER Incluye la cantidad de sesiones en las que participa el usuario. Consulta Acerca de las sesiones para obtener más información.
firebase_event_origin STRING Indica el origen del evento. Siempre será fp para eventos personalization_assignment.
firebase_screen_class STRING Proporciona el nombre de la clase de pantalla en la que el usuario estaba activo cuando se realizó la asignación de personalización. Consulta Eventos recopilados automáticamente para obtener más información.
firebase_screen_id INTEGER Muestra el ID de la pantalla en la que estaba el usuario cuando se asignó la personalización. Consulta Eventos recopilados automáticamente para obtener más información.
first_open_time STRING Proporciona la marca de tiempo, en milisegundos de UTC, de la primera vez que el usuario abrió la app. Consulta Eventos recopilados automáticamente para obtener más información.
ga_session_id INTEGER Proporciona el ID de sesión de Google Analytics. Consulta Acerca de las sesiones para obtener más información. Puedes usarlo para correlacionar el evento personalization_assignment con otros eventos de Analytics.
ga_session_number INTEGER Indica el número de sesión de Google Analytics. Consulta Acerca de las sesiones para obtener más información.

Consultas de ejemplo

Puedes usar una instrucción de SQL como la siguiente para extraer los parámetros específicos de la personalización de los eventos 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