En este artículo, se explican el formato y el esquema de los datos de la propiedad Google Analytics 4 y de Google Analytics para Firebase que se exportan a BigQuery.
Conjuntos de datos
Para cada propiedad Google Analytics 4 y proyecto de Firebase vinculados a BigQuery, se agrega un solo conjunto de datos llamado "analytics_<ID_de_propiedad>" a tu proyecto de BigQuery. El ID de propiedad es aquel que identifica tu propiedad de Analytics, y puedes consultarlo en las secciones "Property Settings" de tu propiedad Google Analytics 4 y "App Analytics Settings" de Firebase. Cada aplicación y propiedad Google Analytics 4 para las que esté habilitada la exportación de BigQuery transferirá sus datos a ese único conjunto de datos.
Tablas
Dentro de cada conjunto de datos, todos los días se crea una tabla llamada events_YYYYMMDD si la opción de exportación diaria está habilitada.
Si la exportación mediante transmisión está habilitada, se crea una tabla llamada events_intraday_YYYYMMDD. Esta tabla se completa de forma continua a medida que se registran los eventos durante el día. Esta tabla se borra al final de cada día una vez que se completa events_YYYYMMDD.
No todos los dispositivos en los que se activan eventos envían sus datos a Analytics ese mismo día. Para tener en cuenta esta latencia, Analytics actualizará las tablas diarias (events_YYYYMMDD) con los eventos de esas fechas por hasta tres días después de su activación. Los eventos tendrán la marca de tiempo correcta independientemente de que lleguen tarde. No se grabarán los eventos que lleguen después de ese plazo.
Si usas la zona de pruebas de BigQuery, no hay importación intradiaria de eventos, y se aplican límites adicionales.
Actualiza desde la zona de pruebas si deseas realizar importaciones intradiarias.
Columnas
Cada columna de la tabla events_YYYYMMDD representa un parámetro específico del evento. Ten en cuenta que algunos parámetros están anidados en RECORDS y algunos RECORDS, como items y event_params, se pueden repetir. A continuación, se describen las columnas de la tabla.
| Los campos event contienen información que identifica un evento de manera única. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| batch_event_index | INTEGER | Es un número que indica el orden secuencial de cada evento dentro de un lote según el orden en que se produce en el dispositivo. |
| batch_ordering_id | INTEGER | Es un número que aumenta de forma monótona y se incrementa cada vez que se envía una solicitud de red desde una página determinada. |
| batch_page_id | INTEGER | Es un número secuencial asignado a una página que aumenta para cada página posterior dentro de una participación. |
| event_date | STRING | La fecha en la que se registró el evento (formato YYYYMMDD según la zona horaria registrada en tu aplicación) |
| event_timestamp | INTEGER |
La hora (en microsegundos, UTC) en la que Google Analytics recibió el evento. Varios eventos pueden compartir la misma marca de tiempo si se envían en la misma solicitud. |
| event_previous_timestamp | INTEGER | La hora (en microsegundos, UTC) a la que ocurrió el evento anterior |
| event_name | STRING | El nombre del evento |
| event_value_in_usd | FLOAT | El valor monetario expresado en USD del parámetro "value" del evento |
| event_bundle_sequence_id | INTEGER | El ID secuencial del paquete en el que se subieron estos eventos |
| event_server_timestamp_offset | INTEGER | La compensación en la marca de tiempo entre la hora de la recopilación y la hora de la carga expresada en microsegundos |
event_params RECORD
|
El RECORD event_params puede almacenar parámetros del evento contextuales y a nivel de la campaña, al igual que cualquier parámetro del evento definido por el usuario. Se repite para cada clave asociada con un evento. El conjunto de parámetros almacenado en el RECORD event_params es único para cada implementación. Para ver la lista completa de los parámetros de eventos de tu implementación, consulta la lista de parámetros de eventos. |
||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| event_params.key | STRING | El nombre del parámetro del evento |
| event_params.value | RECORD | Un registro que contiene el valor del parámetro del evento |
| event_params.value.string_value | STRING | Si el parámetro del evento está representado por una cadena, como una URL o el nombre de una campaña, se propaga en este campo. |
| event_params.value.int_value | INTEGER | Si el parámetro del evento está representado por un número entero, se propaga en este campo. |
| event_params.value.double_value | FLOAT | Si el parámetro del evento está representado por un valor doble, se propaga en este campo. |
| event_params.value.float_value | FLOAT | Si el parámetro del evento está representado por un valor de punto flotante, se propaga en este campo. Este campo no está en uso actualmente. |
RECORD item_params
|
El RECORD item_params puede almacenar parámetros de artículos, así como cualquier parámetro del artículo definido por el usuario. El conjunto de parámetros almacenado en el RECORD item_params es único para cada implementación. |
||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| item_params.key | STRING | Es el nombre del parámetro del artículo. |
| item_params.value | RECORD | Es un registro que contiene el valor del parámetro del artículo. |
| item_params.value.string_value | STRING | Si el parámetro del artículo está representado por una cadena, se propaga en este campo. |
| item_params.value.int_value | INTEGER | Si el parámetro del artículo está representado por un número entero, se propaga en este campo. |
| item_params.value.double_value | FLOAT | Si el parámetro del artículo está representado por un valor doble, se propaga en este campo. |
| item_params.value.float_value | FLOAT | Si el parámetro del artículo está representado por un valor de punto flotante, se propaga en este campo. |
| Los campos user contienen información que identifica de forma exclusiva al usuario asociado con el evento. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| is_active_user | BOOLEAN |
Si el usuario estuvo activo (Verdadero) o inactivo (Falso) en algún momento del día calendario. Solo se incluye en las tablas diarias ( |
| user_id | STRING | El ID único asignado a un usuario |
| user_pseudo_id | STRING | Es el ID seudónimo (p. ej., ID de instancia de la aplicación) para el usuario. Es un identificador único que se asigna a un usuario cuando abre la app o visita el sitio por primera vez. |
| user_first_touch_timestamp | INTEGER | Es la hora (en microsegundos) en la que el usuario accedió a la aplicación o visitó el sitio por primera vez. |
Campos de privacy_info
| Los campos privacy_info contienen información basada en el estado del consentimiento de un usuario cuando el modo de consentimiento está habilitado. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| privacy_info.ads_storage | STRING |
Indica si la segmentación de anuncios está habilitada para un usuario. Valores posibles: Yes, No, Unset |
| privacy_info.analytics_storage | STRING |
Indica si el almacenamiento de Analytics está habilitado para el usuario. Valores posibles: Yes, No, Unset |
| privacy_info.uses_transient_token | STRING |
Indica si un usuario web rechazó el almacenamiento de Analytics y el desarrollador habilitó la medición sin cookies en función de tokens transitorios en los datos del servidor. Valores posibles: Yes, No, Unset |
user_properties RECORD
| El RECORD user_properties contiene todas las propiedades del usuario que estableciste. Se repite para cada clave asociada con un usuario. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| user_properties.key | STRING | El nombre de la propiedad del usuario |
| user_properties.value | RECORD | Un registro del valor de la propiedad del usuario |
| user_properties.value.string_value | STRING | El valor de string de la propiedad del usuario |
| user_properties.value.int_value | INTEGER | El valor entero de la propiedad del usuario |
| user_properties.value.double_value | FLOAT | El valor doble de la propiedad del usuario |
| user_properties.value.float_value | FLOAT | Este campo no se utiliza actualmente |
| user_properties.value.set_timestamp_micros | INTEGER | La hora (en microsegundos) en la que la propiedad del usuario se configuró por última vez |
RECORD user_ltv
| El RECORD user_ltv contiene información del valor del ciclo de vida del cliente sobre el usuario. No se propaga en las tablas intradía. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| user_ltv.revenue | FLOAT | El valor del ciclo de vida del cliente (ingresos) del usuario Este campo no se completa en las tablas intradía. |
| user_ltv.currency | STRING | El valor del ciclo de vida del cliente (moneda) del usuario Este campo no se completa en las tablas intradía. |
| El RECORD device contiene información sobre el dispositivo donde se originó el evento. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| device.category | STRING | La categoría del dispositivo (dispositivo móvil, tablet, computadora de escritorio) |
| device.mobile_brand_name | STRING | El nombre de la marca del dispositivo |
| device.mobile_model_name | STRING | El nombre del modelo del dispositivo |
| device.mobile_marketing_name | STRING | El nombre comercial del dispositivo |
| device.mobile_os_hardware_model | STRING | La información del modelo del dispositivo extraída directamente del sistema operativo |
| device.operating_system | STRING | El sistema operativo del dispositivo |
| device.operating_system_version | STRING | La versión del SO |
| device.vendor_id | STRING | IDFV (presente solo si no se cuenta con el IDFA) |
| device.advertising_id | STRING | IDFA o ID de publicidad |
| device.language | STRING | El idioma del SO |
| device.time_zone_offset_seconds | INTEGER | Diferencia con respecto a la GMT en segundos |
| device.is_limited_ad_tracking | BOOLEAN |
La configuración del límite de seguimiento de anuncios del dispositivo En la versión 14+ de iOS, se muestra el valor "false" si el IDFA no es cero |
| device.web_info.browser | STRING | El navegador en el que el usuario vio el contenido |
| device.web_info.browser_version | STRING | La versión del navegador en el que el usuario vio el contenido |
| device.web_info.hostname | STRING | El nombre de host asociado con el evento registrado |
geo
| El RECORD geo contiene información sobre la ubicación geográfica donde se inició el evento. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| geo.continent | STRING | El continente desde el que se informaron los eventos, según la dirección IP |
| geo.sub_continent | STRING | El subcontinente desde el que se informaron los eventos, según la dirección IP |
| geo.country | STRING | El país desde el que se informaron los eventos, según la dirección IP |
| geo.region | STRING | La región desde la que se informaron los eventos, según la dirección IP |
| geo.metro | STRING | El área metropolitana desde la que se informaron los eventos, según la dirección IP |
| geo.city | STRING | La ciudad desde la que se informaron los eventos, según la dirección IP |
| El campo app_info RECORD contiene información sobre la app en la que se inició el evento. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| app_info.id | STRING | El nombre o ID del paquete de la aplicación |
| app_info.firebase_app_id | STRING | El ID de la aplicación de Firebase asociado con la aplicación |
| app_info.install_source | STRING | La tienda que instaló la aplicación |
| app_info.version | STRING | El versionName de la aplicación (Android) o la versión abreviada del paquete. |
|
El RECORD collected_traffic_source contiene los datos de la fuente de tráfico que se encontraban presentes en los eventos recopilados. |
||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| manual_campaign_id | STRING | El ID de la campaña manual (utm_id) que se recopiló con el evento. |
| manual_campaign_name | STRING | El nombre de la campaña manual (utm_campaign) que se recopiló con el evento. |
| manual_source | STRING | Es la fuente de la campaña manual (utm_source) que se recopiló con el evento. También incluye parámetros analizados a partir de parámetros de referencia, no solo valores de UTM. |
| manual_medium | STRING | Es el medio de la campaña manual (utm_source) que se recopiló con el evento. También incluye parámetros analizados a partir de parámetros de referencia, no solo valores de UTM. |
| manual_term | STRING | La palabra clave o el término (utm_term) de la campaña manual que se recopiló con el evento. |
| manual_content | STRING | Son los metadatos adicionales de la campaña manual (utm_content) que se recopilaron con el evento. |
| manual_creative_format | STRING | Es el formato de creatividad de la campaña manual (utm_creative_format) que se recopiló con el evento. |
| manual_marketing_tactic | STRING | Es la estrategia de marketing de la campaña manual (utm_marketing_tactic) que se recopiló con el evento. |
| manual_source_platform | STRING | Es la plataforma de origen de la campaña manual (utm_source_platform) que se recopiló con el evento. |
| gclid | STRING | El identificador de clics de Google que se recopiló con el evento. |
| dclid | STRING | Es el identificador de clics de DoubleClick para Display & Video 360 y Campaign Manager 360 que se recopiló con el evento. |
| srsltid | STRING | Es el identificador de Google Merchant Center que se recopiló con el evento. |
|
El RECORD session_traffic_source_last_click contiene los datos de la fuente de tráfico de la sesión atribuida al último clic en los anuncios de Google y los contextos manuales, cuando estén disponibles. |
||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| session_traffic_source_last_click. manual_campaign.campaign_id | STRING | Es el ID de la campaña manual en la que se hizo el último clic. |
| session_traffic_source_last_click. manual_campaign.campaign_name | STRING | Es el nombre de la campaña manual en la que se hizo el último clic. |
| session_traffic_source_last_click. manual_campaign.medium | STRING | Es el medio de la campaña manual en la que se hizo el último clic (p. ej., búsqueda pagada, búsqueda orgánica o correo electrónico) |
| session_traffic_source_last_click. manual_campaign.term | STRING | Es la palabra clave o el término de búsqueda de la campaña manual en la que se hizo el último clic. |
| session_traffic_source_last_click. manual_campaign.content | STRING | Son los metadatos adicionales de la campaña manual en la que se hizo el último clic. |
| session_traffic_source_last_click. manual_campaign.source_platform | STRING | Es la plataforma de la campaña manual en la que se hizo el último clic (p. ej., motor de búsqueda, redes sociales) |
| session_traffic_source_last_click. manual_campaign.source | STRING | Es la fuente específica dentro de la plataforma de la campaña manual en la que se hizo el último clic. |
| session_traffic_source_last_click. manual_campaign.creative_format | STRING | Es el formato de la creatividad de la campaña manual en la que se hizo el último clic. |
| session_traffic_source_last_click. manual_campaign.marketing_tactic | STRING | Es la táctica de marketing de la campaña manual en la que se hizo el último clic. |
| session_traffic_source_last_click. google_ads_campaign.customer_id | STRING | Es el ID de cliente asociado con la cuenta de Google Ads. |
| session_traffic_source_last_click. google_ads_campaign.account_name | STRING | Es el nombre de la cuenta de Google Ads. |
| session_traffic_source_last_click. google_ads_campaign.campaign_id | STRING | Es el ID de la campaña de Google Ads. |
| session_traffic_source_last_click. google_ads_campaign.campaign_name | STRING | Es el nombre de la campaña de Google Ads. |
| session_traffic_source_last_click. google_ads_campaign.ad_group_id | STRING | Es el ID del grupo de anuncios dentro de la campaña de Google Ads. |
| session_traffic_source_last_click. google_ads_campaign.ad_group_name | STRING | Es el nombre del grupo de anuncios dentro de la campaña de Google Ads. |
| session_traffic_source_last_click. cross_channel_campaign.campaign_name |
STRING | Es el nombre de la campaña en múltiples canales en la que se hizo el último clic. |
| session_traffic_source_last_click. cross_channel_campaign.campaign_id |
STRING | Es el ID de la campaña en múltiples canales en la que se hizo el último clic. |
| session_traffic_source_last_click. cross_channel_campaign.source_platform |
STRING | Es la plataforma de la campaña en múltiples canales en la que se hizo el último clic. |
| session_traffic_source_last_click. cross_channel_campaign.source |
STRING | Es la fuente específica dentro de la plataforma de la campaña en múltiples canales en la que se hizo el último clic. |
| session_traffic_source_last_click. cross_channel_campaign.medium |
STRING | Es el medio de la campaña en múltiples canales en la que se hizo el último clic. |
| session_traffic_source_last_click. sa360_campaign.campaign_name |
STRING | Es el nombre de la campaña de SA360 en la que se hizo el último clic. |
| session_traffic_source_last_click. sa360_campaign.source |
STRING | Es la fuente específica de la plataforma de la campaña de SA360 en la que se hizo el último clic. |
| session_traffic_source_last_click. sa360_campaign.medium |
STRING | Es el medio de la campaña de SA360 en la que se hizo el último clic. |
| session_traffic_source_last_click. sa360_campaign.ad_group_id |
STRING | Es el ID del grupo de anuncios de la campaña de SA360. |
| session_traffic_source_last_click. sa360_campaign.ad_group_name |
STRING | Es el nombre del grupo de anuncios de la campaña de SA360. |
| session_traffic_source_last_click. sa360_campaign.campaign_id |
STRING | Es el ID de la campaña de SA360 en la que se hizo el último clic. |
| session_traffic_source_last_click. sa360_campaign.creative_format |
STRING | Es el formato de la creatividad de la campaña de SA360 en la que se hizo el último clic. |
| session_traffic_source_last_click. sa360_campaign.engine_account_name |
STRING | Es el nombre de la cuenta de motor de SA360. |
| session_traffic_source_last_click. sa360_campaign.engine_account_type |
STRING | Es el tipo de cuenta de motor que contiene la campaña de SA360. |
| session_traffic_source_last_click. sa360_campaign.manager_account_name |
STRING | Es el nombre de la cuenta de administrador de SA360. |
| session_traffic_source_last_click. dv360_campaign.advertiser_id |
STRING | Es el ID del anunciante de DV360. |
| session_traffic_source_last_click. dv360_campaign.advertiser_name |
STRING | Es el nombre del anunciante de DV360. |
| session_traffic_source_last_click. dv360_campaign.campaign_id |
STRING | Es el ID de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.campaign_name |
STRING | Es el nombre de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.creative_id |
STRING | Es el ID de la creatividad de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.creative_format |
STRING | Es el formato de la creatividad de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.creative_name |
STRING | Es el nombre de la creatividad de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.marketing_tactic |
STRING | Es la táctica de marketing de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.exchange_id |
STRING | Es el ID del mercado de intercambio de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.exchange_name |
STRING | Es el nombre del mercado de intercambio de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.insertion_order_id |
STRING | Es el ID del pedido de inserción de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.insertion_order_name |
STRING | Es el nombre del pedido de inserción de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.line_item_id |
STRING | Es el ID de la línea de pedido de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.line_item_name |
STRING | Es el nombre de la línea de pedido de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.partner_id |
STRING | Es el ID del socio de DV360. |
| session_traffic_source_last_click. dv360_campaign.partner_name |
STRING | Es el nombre del socio de DV360. |
| session_traffic_source_last_click. dv360_campaign.source |
STRING | Es la fuente específica dentro de la plataforma de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. dv360_campaign.medium |
STRING | Es el medio de la campaña de DV360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.account_id |
STRING | Es el ID de la cuenta de CM360. |
| session_traffic_source_last_click. cm360_campaign.account_name |
STRING | Es el nombre de la cuenta de CM360. |
| session_traffic_source_last_click. cm360_campaign.advertiser_id |
STRING | Es el ID del anunciante de CM360. |
| session_traffic_source_last_click. cm360_campaign.advertiser_name |
STRING | Es el nombre del anunciante de CM360. |
| session_traffic_source_last_click. cm360_campaign.campaign_id |
STRING | Es el ID de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.campaign_name |
STRING | Es el nombre de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.creative_id |
STRING | Es el ID de la creatividad de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.creative_format |
STRING | Es el formato de la creatividad de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.creative_name |
STRING | Es el nombre de la creatividad de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.creative_type |
STRING | Es el tipo de creatividad de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.creative_type_id |
STRING | Es el ID del tipo de creatividad de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.creative_version |
STRING | Es la versión de la creatividad de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.placement_id |
STRING | Es el ID de la posición de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click.cm360 _campaign.placement_cost_structure |
STRING | Es la estructura de costos de la posición de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.placement_name |
STRING | Es el nombre de la posición de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.rendering_id |
STRING | Es el ID de renderización de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.site_id |
STRING | Es el ID del sitio de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.site_name |
STRING | Es el nombre del sitio de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.source |
STRING | Es la fuente específica de la campaña de CM360 en la que se hizo el último clic. |
| session_traffic_source_last_click. cm360_campaign.medium |
STRING | Es el medio de la campaña de CM360 en la que se hizo el último clic. |
|
El RECORD traffic_source contiene información sobre la fuente de tráfico que primero adquirió el usuario. No se propaga en las tablas intradía. Nota: Los valores de traffic_source no cambian si el usuario interactúa con campañas posteriores después de la instalación. |
||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| traffic_source.name | STRING | El nombre de la campaña de marketing que primero adquirió al usuario. Este campo no se completa en las tablas intradía. |
| traffic_source.medium | STRING | El nombre del medio (búsqueda pagada, búsqueda orgánica, correo electrónico, etc.) que primero adquirió al usuario. Este campo no se completa en las tablas intradía. |
| traffic_source.source | STRING | El nombre de la red que primero adquirió al usuario. Este campo no se completa en las tablas intradía. |
| Los campos stream y platform contienen información sobre el flujo y la plataforma de la aplicación. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| stream_id | STRING | El ID numérico del flujo de datos desde el que se originó el evento |
| plataforma | STRING | La plataforma de flujo de datos (Web, iOS o Android) donde se originó el evento |
| Este RECORD ecommerce contiene información sobre cualquier evento de comercio electrónico que se haya configurado en un sitio web o aplicación. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| ecommerce.total_item_quantity | INTEGER | Cantidad total de artículos en este evento, que es la suma de items.quantity |
| ecommerce.purchase_revenue_in_usd | FLOAT | Ingresos por compras de este evento, expresados en USD con la unidad estándar. Se propaga solo para eventos de compra |
| ecommerce.purchase_revenue | FLOAT | Ingresos por compras de este evento, expresados en la moneda local con la unidad estándar. Se propaga solo para eventos de compra |
| ecommerce.refund_value_in_usd | FLOAT | El importe de reembolso en este evento, expresado en USD con la unidad estándar. Se propaga solo para eventos de reembolso |
| ecommerce.refund_value | FLOAT | El importe de reembolso en este evento, expresado en la moneda local con la unidad estándar. Se propaga solo para eventos de reembolso |
| ecommerce.shipping_value_in_usd | FLOAT | El costo de envío en este evento, expresado en USD con la unidad estándar |
| ecommerce.shipping_value | FLOAT | El costo de envío en este evento, expresado en la moneda local |
| ecommerce.tax_value_in_usd | FLOAT | El valor de los impuestos en este evento, expresado en USD con la unidad estándar |
| ecommerce.tax_value | FLOAT | El valor de los impuestos en este evento, expresado en la moneda local con la unidad estándar |
| ecommerce.transaction_id | STRING | El ID de transacción de la transacción de comercio electrónico. |
| ecommerce.unique_items | INTEGER | La cantidad de artículos únicos en este evento, según item_id, item_name y item_brand |
| El RECORD items contiene información sobre los artículos incluidos en un evento. Se repite para cada artículo. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| items.item_id | STRING | El ID del artículo |
| items.item_name | STRING | El nombre del artículo |
| items.item_brand | STRING | La marca del artículo |
| items.item_variant | STRING | La variante del artículo |
| items.item_category | STRING | La categoría del artículo |
| items.item_category2 | STRING | La subcategoría del artículo |
| items.item_category3 | STRING | La subcategoría del artículo |
| items.item_category4 | STRING | La subcategoría del artículo |
| items.item_category5 | STRING | La subcategoría del artículo |
| items.price_in_usd | FLOAT | El precio del artículo, expresado en USD con la unidad estándar |
| items.price | FLOAT | El precio del artículo expresado en la moneda local |
| items.quantity | INTEGER | La cantidad de unidades del elemento. Si no se especifica, se establece en 1. |
| items.item_revenue_in_usd | FLOAT | Los ingresos de este artículo, calculados mediante price_in_usd × quantity. Se propaga solo para eventos de compra, en USD con la unidad estándar |
| items.item_revenue | FLOAT | Los ingresos de este artículo, calculados mediante price × quantity. Se propaga solo para eventos de compra, en la moneda local con la unidad estándar |
| items.item_refund_in_usd | FLOAT | El valor de reembolso de este artículo, calculado mediante price_in_usd × quantity. Se propaga solo para eventos de reembolso, en USD con la unidad estándar |
| items.item_refund | FLOAT | El valor de reembolso de este artículo, calculado mediante price × quantity. Se propaga solo para eventos de reembolso, en la moneda local con la unidad estándar |
| items.coupon | STRING | Código de cupón aplicado a este artículo |
| items.affiliation | STRING | Afiliación de un producto para designar la empresa que lo proporciona o la ubicación de la tienda física |
| items.location_id | STRING | La ubicación asociada con el artículo |
| items.item_list_id | STRING | El ID de la lista en la que se presentó el artículo al usuario |
| items.item_list_name | STRING | El nombre de la lista en la que se presentó el artículo al usuario |
| Items.item_list_index | STRING | La posición del artículo en una lista |
| items.promotion_id | STRING | El ID de una promoción de producto |
| items.promotion_name | STRING | El nombre de una promoción de producto |
| items.creative_name | STRING | El nombre de la creatividad utilizada en un espacio promocional |
| items.creative_slot | STRING | Es el nombre del espacio para creatividades. |
item_params RECORD
|
El RECORD item_params almacena los parámetros del artículo personalizados que definiste. Ten en cuenta que los parámetros del artículo predefinidos, como item_id, item_name, etc., no se incluyen aquí, sino que se exportan como campos explícitos. El conjunto de parámetros almacenado en el RECORD item_params es único para cada implementación. Para obtener más información sobre las implementaciones de comercio electrónico y el array de artículos de Google Analytics 4, consulta Cómo medir el comercio electrónico. |
||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| items.item_params.key | STRING | Es el nombre del parámetro del artículo. |
| items.item_params.value | RECORD | Es un registro que contiene el valor del parámetro del artículo. |
| items.item_params.value.string_value | STRING | Si el parámetro del artículo está representado por una cadena, se propaga en este campo. |
| items.item_params.value.int_value | INTEGER | Si el parámetro del artículo está representado por un número entero, se propaga en este campo. |
| items.item_params.value.double_value | FLOAT | Si el parámetro del artículo está representado por un valor doble, se propaga en este campo. |
| items.item_params.value.float_value | FLOAT | Si el parámetro del artículo está representado por un valor de punto flotante, se propaga en este campo. |
| El RECORD publisher contiene información sobre los eventos que provienen de una integración de los publicadores relacionada con la visualización de anuncios, es decir, AdMob. | ||
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| editor | RECORD | Es un registro de los datos del publicador que provienen de AdMob. Este campo no se completa en las tablas intradía ni en la exportación diaria actualizada de BigQuery. |
| publisher.ad_revenue_in_usd | FLOAT | Son los ingresos publicitarios estimados que se generaron a partir de este evento, expresados en USD. Solo se completa para los eventos de impresión de anuncios. Este campo no se completa en las tablas intradía ni en la exportación diaria actualizada de BigQuery. |
| publisher.ad_format | STRING | Describe la forma en que aparecieron los anuncios y dónde se ubicaron. Los formatos típicos son los siguientes: “Intersticial”, “Banner”, “Recompensado” y “Nativo avanzado”. Este campo no se completa en las tablas intradía ni en la exportación diaria actualizada de BigQuery. |
| publisher.ad_source_name | STRING | Indica la red de origen que publicó el anuncio. Entre las fuentes típicas, se incluyen la “Red de AdMob”, “Meta Audience Network” y los “Anuncios propios de mediación”. Este campo no se completa en las tablas intradía ni en la exportación diaria actualizada de BigQuery. |
| publisher.ad_unit_id | STRING | Es el nombre que elegiste para describir esta unidad de anuncios. Las unidades de anuncios son contenedores que colocas en tus aplicaciones para mostrar anuncios a los usuarios. Este campo no se completa en las tablas intradía ni en la exportación diaria actualizada de BigQuery. |
Filas
Los datos de un solo evento pueden estar representados en una o varias filas, en función de si contienen RECORDS repetidos. Por ejemplo, un evento page_view con varios event_params se vería similar a la siguiente tabla. La fila inicial contiene el nombre del evento, la fecha, la marca de tiempo y otros elementos de datos que no se repiten. El RECORD event_params se repite para cada parámetro asociado con el evento. Estos RECORDS repetidos se propagan en las filas subsiguientes directamente debajo de la fila del evento inicial.
| event_date | event_timestamp | event_name | event_params.key | event_params_value.string_value |
|---|---|---|---|---|
| 20220222 | 1643673600483790 | page_view | page_location | https://example.com |
| page_title | Página principal | |||
| media | referencia | |||
| fuente | ||||
| page_referrer | https://www.google.com | |||
| <parameters...> | <values...> |
Estos datos de eventos se muestran de la siguiente manera en la interfaz de usuario de GA4.
Si utilizaste versiones anteriores de cualquiera de estos SDKs y planeas actualizarlos a Android 17.2.5 (o versiones posteriores) o a iOS 16.20.0 (o versiones posteriores), debes considerar lo siguiente:
- Para usar el esquema actual de BigQuery Export, debes actualizar tu SDK a Android 17.2.5 (o versiones posteriores) o a iOS 16.20.0 (o versiones posteriores). Cuando uses versiones de SDK anteriores, los datos exportados se reflejarán en el esquema anterior.
- A partir del momento en que realices la actualización, solo podrás acceder a los datos de los artículos que se encuentren dentro del array de artículos repetidos. Los datos de artículos ya no estarán disponibles en los parámetros de eventos estándares como antes de estas versiones de los SDKs.
- Este cambio se realizó para admitir el análisis de varios productos.
- En consecuencia, es posible que tengas que ajustar tus referencias a los datos de los artículos o productos.
- Accede a Cloud Platform Console > Administrar recursos.
- Abre el proyecto cuyos datos deseas migrar y haz clic en Activar Google Cloud Shell en la parte superior de la página.
- Cuando se abra el shell, copia la secuencia de comandos que aparece abajo en un archivo llamado
migration_script.sql:- Ejecuta el comando
cat > migration_script.sql. - Copia la siguiente secuencia de comandos y pégala en el shell.
- Presiona Ctrl+D para guardar y salir.
SELECT @date AS event_date, event.timestamp_micros AS event_timestamp, event.previous_timestamp_micros AS event_previous_timestamp, event.name AS event_name, event.value_in_usd AS event_value_in_usd, user_dim.bundle_info.bundle_sequence_id AS event_bundle_sequence_id, user_dim.bundle_info.server_timestamp_offset_micros as event_server_timestamp_offset, ( SELECT ARRAY_AGG(STRUCT(event_param.key AS key, STRUCT(event_param.value.string_value AS string_value, event_param.value.int_value AS int_value, event_param.value.double_value AS double_value, event_param.value.float_value AS float_value) AS value)) FROM UNNEST(event.params) AS event_param) AS event_params, user_dim.first_open_timestamp_micros AS user_first_touch_timestamp, user_dim.user_id AS user_id, user_dim.app_info.app_instance_id AS user_pseudo_id, "" AS stream_id, user_dim.app_info.app_platform AS platform, STRUCT( user_dim.ltv_info.revenue AS revenue, user_dim.ltv_info.currency AS currency ) AS user_ltv, STRUCT( user_dim.traffic_source.user_acquired_campaign AS name, user_dim.traffic_source.user_acquired_medium AS medium, user_dim.traffic_source.user_acquired_source AS source ) AS traffic_source, STRUCT( user_dim.geo_info.continent AS continent, user_dim.geo_info.country AS country, user_dim.geo_info.region AS region, user_dim.geo_info.city AS city ) AS geo, STRUCT( user_dim.device_info.device_category AS category, user_dim.device_info.mobile_brand_name, user_dim.device_info.mobile_model_name, user_dim.device_info.mobile_marketing_name, user_dim.device_info.device_model AS mobile_os_hardware_model, @platform AS operating_system, user_dim.device_info.platform_version AS operating_system_version, user_dim.device_info.device_id AS vendor_id, user_dim.device_info.resettable_device_id AS advertising_id, user_dim.device_info.user_default_language AS language, user_dim.device_info.device_time_zone_offset_seconds AS time_zone_offset_seconds, IF(user_dim.device_info.limited_ad_tracking, "Yes", "No") AS is_limited_ad_tracking ) AS device, STRUCT( user_dim.app_info.app_id AS id, @firebase_app_id AS firebase_app_id, user_dim.app_info.app_version AS version, user_dim.app_info.app_store AS install_source ) AS app_info, ( SELECT ARRAY_AGG(STRUCT(user_property.key AS key, STRUCT(user_property.value.value.string_value AS string_value, user_property.value.value.int_value AS int_value, user_property.value.value.double_value AS double_value, user_property.value.value.float_value AS float_value, user_property.value.set_timestamp_usec AS set_timestamp_micros ) AS value)) FROM UNNEST(user_dim.user_properties) AS user_property) AS user_properties FROM `SCRIPT_GENERATED_TABLE_NAME`, UNNEST(event_dim) AS event - Ejecuta el comando
- Abre un nuevo shell y copia la secuencia de comandos bash de abajo en un archivo llamado
migration.sh:- Ejecuta el comando
cat > migration.sh. - Copia la siguiente secuencia de comandos y pégala en el shell.
- Presiona Ctrl+D para guardar y salir.
Modifica la siguiente secuencia de comandos para incluir tu ID de propiedad de Analytics, el ID del proyecto de BigQuery, el ID de la aplicación de Firebase, el nombre del conjunto de datos de BigQuery y las fechas de inicio y finalización de los datos que desees.Secuencia de comandos (migration.sh):# ID de propiedad de Analytics para el proyecto. Búscalo en la configuración de Analytics en Firebase. PROPERTY_ID="su ID de propiedad de Analytics" # Proyecto de BigQuery Export. BQ_PROJECT_ID="su ID del proyecto de BigQuery" (p. ej., "proyecto-público-Firebase") # ID de la aplicación de Firebase para la aplicación. FIREBASE_APP_ID="su ID de la aplicación de Firebase" (p. ej., "1:300830567303:ios:09b1ab1d3ca29bda") # Conjunto de datos desde el cual realizar la importación. BQ_DATASET="nombre del conjunto de datos de BigQuery desde el cual desea realizar la importación" (p. ej., "com_firebase_demo_IOS") # Plataforma PLATFORM="plataforma de la aplicación: ANDROID o iOS" # Período para el cual desea ejecutar la migración, [START_DATE,END_DATE] inclusive. START_DATE=20180324 END_DATE=20180327 # No modifiques la siguiente secuencia de comandos a menos que sepas lo que estás haciendo :) startdate=$(date -d"$START_DATE" +%Y%m%d) || exit -1 enddate=$(date -d"$END_DATE" +%Y%m%d) || exit -1 # Repite para todas las fechas. DATE="$startdate" while [ "$DATE" -le "$enddate" ]; do # La tabla BQ que se construye a partir de los parámetros arriba mencionados. BQ_TABLE="$BQ_PROJECT_ID.$BQ_DATASET.app_events_$DATE" echo "Migrating $BQ_TABLE" cat migration_script.sql | sed -e "s/SCRIPT_GENERATED_TABLE_NAME/$BQ_TABLE/g" | bq query \ --debug_mode \ --allow_large_results \ --noflatten_results \ --use_legacy_sql=False \ --destination_table analytics_$PROPERTY_ID.events_$DATE \ --batch \ --append_table \ --parameter=firebase_app_id::$FIREBASE_APP_ID \ --parameter=date::$DATE \ --parameter=platform::$PLATFORM \ --project_id=$BQ_PROJECT_ID temp=$(date -I -d "$DATE + 1 day") DATE=$(date -d "$temp" +%Y%m%d) done exit # FIN DE LA SECUENCIA DE COMANDOS - Ejecuta el comando
- Abre un nuevo shell y ejecuta el comando
bash migration.sh.
user_dim
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| user_dim | RECORD | Un registro de las dimensiones de usuario |
| user_dim.user_id | STRING | El ID de usuario que se configura a través de la API setUserId |
| user_dim.first_open_timestamp_micros | INTEGER | La hora (en microsegundos) a la que el usuario abrió la aplicación por primera vez |
| user_dim.user_properties | RECORD | Un registro repetido de las propiedades del usuario que se configura con la API setUserProperty |
| user_dim.user_properties.key | STRING | El nombre de la propiedad del usuario |
| user_dim.user_properties.value | RECORD | Un registro de la información sobre la propiedad del usuario |
| user_dim.user_properties.value.value | RECORD | Un registro del valor de la propiedad del usuario |
| user_dim.user_properties.value.value.string_value | STRING | El valor de string de la propiedad del usuario |
| user_dim.user_properties.value.value.int_value | INTEGER | El valor entero de la propiedad del usuario |
| user_dim.user_properties.value.value.double_value | FLOAT | El valor doble de la propiedad del usuario |
| user_dim.user_properties.value.set_timestamp_usec | INTEGER | La hora (en microsegundos) en la que la propiedad del usuario se configuró por última vez |
| user_dim.user_properties.value.index | INTEGER | El índice (0-24) de la propiedad del usuario |
| user_dim.device_info | RECORD | Un registro de la información del dispositivo |
| user_dim.device_info.device_category | STRING | La categoría del dispositivo (dispositivo móvil, tablet, computadora de escritorio) |
| user_dim.device_info.mobile_brand_name | STRING | El nombre de la marca del dispositivo |
| user_dim.device_info.mobile_model_name | STRING | El nombre del modelo del dispositivo |
| user_dim.device_info.mobile_marketing_name | STRING | El nombre comercial del dispositivo |
| user_dim.device_info.device_model | STRING | El modelo del dispositivo |
| user_dim.device_info.platform_version | STRING | La versión del SO |
| user_dim.device_info.device_id | STRING | IDFV (presente solo si IDFA no está disponible) |
| user_dim.device_info.resettable_device_id | STRING | IDFA o ID de publicidad |
| user_dim.device_info.user_default_language | STRING | El idioma del SO |
| user_dim.device_info.device_time_zone_offset_seconds | INTEGER | Diferencia con respecto a la GMT en segundos |
| user_dim.device_info.limited_ad_tracking | BOOLEAN | La configuración del límite de seguimiento de anuncios del dispositivo |
| user_dim.geo_info | RECORD | Un registro de la información geográfica del usuario |
| user_dim.geo_info.continent | STRING | El continente desde el que se informaron los eventos, según la dirección IP |
| user_dim.geo_info.country | STRING | El país desde el que se informaron los eventos, según la dirección IP |
| user_dim.geo_info.region | STRING | La región desde la que se informaron los eventos, según la dirección IP |
| user_dim.geo_info.city | STRING | La ciudad desde la que se informaron los eventos, según la dirección IP. |
| user_dim.app_info | RECORD | Un registro de la información sobre la aplicación |
| user_dim.app_info.app_version | STRING | El versionName de la aplicación (Android) o la versión abreviada del paquete. |
| user_dim.app_info.app_instance_id | STRING | El ID único de esta instancia de la aplicación |
| user_dim.app_info.app_store | STRING | La tienda que instaló esta aplicación |
| user_dim.app_info.app_platform | STRING | La plataforma en la que se ejecuta esta aplicación |
| user_dim.traffic_source | RECORD | El nombre de la fuente de tráfico que se usó para captar al usuario (este campo no se completa en las tablas del día) |
| user_dim.traffic_source.user_acquired_campaign | STRING | El nombre de la campaña de marketing que captó al usuario (este campo no se completa en las tablas del día) |
| user_dim.traffic_source.user_acquired_medium | STRING | El nombre del medio (búsqueda de pago, búsqueda orgánica, correo electrónico, etc.) que adquirió al usuario Este campo no se completa en las tablas intradía. |
| user_dim.traffic_source.user_acquired_source | STRING | El nombre de la red que captó al usuario (este campo no se completa en las tablas del día) |
| user_dim.bundle_info | RECORD | Un registro de la información sobre el conjunto en el que se subieron estos eventos |
| user_dim.bundle_info.bundle_sequence_id | INTEGER | El ID secuencial del conjunto en el que se subieron estos eventos |
| user_dim.ltv_info | RECORD | Un registro de la información del valor del ciclo de vida del cliente sobre este usuario (este campo no se completa en las tablas del día) |
| user_dim.ltv_info.revenue | FLOAT | El valor del ciclo de vida del cliente (ingresos) de este usuario (este campo no se completa en las tablas del día) |
| user_dim.ltv_info.currency | STRING | El valor del ciclo de vida del cliente (moneda) de este usuario (este campo no se completa en las tablas del día) |
event_dim
| Nombre del campo | Tipo de datos | Descripción |
|---|---|---|
| event_dim | RECORD | Un registro repetido de la información relativa a los eventos de este conjunto |
| event_dim.date | STRING | La fecha en la que se registró el evento (con el formato AAAAMMDD según la zona horaria registrada en tu aplicación). |
| event_dim.name | STRING | El nombre de este evento |
| event_dim.params | RECORD | Un registro repetido de los parámetros asociados con este evento |
| event_dim.params.key | STRING | La clave del parámetro del evento |
| event_dim.params.value | RECORD | Un registro del valor del parámetro del evento |
| event_dim.params.value.string_value | STRING | El valor de string del parámetro del evento |
| event_dim.params.value.int_value | INTEGER | El valor entero del parámetro del evento |
| event_dim.params.value.double_value | FLOAT | El valor doble del parámetro del evento |
| event_dim.timestamp_micros | INTEGER | La hora (en microsegundos, UTC) a la que se registró este evento en el cliente |
| event_dim.previous_timestamp_micros | INTEGER | La hora (en microsegundos, UTC) a la que se registró anteriormente este evento en el cliente |