Componentes de subevento en fuentes de datos
Los componentes de subevento son dimensiones y métricas basadas en campos dentro de una matriz o asignación en el esquema XDM. Permiten analizar los datos en un nivel más granular que el nivel de evento, como los productos individuales de una compra. Para obtener información acerca del uso de estos datos en segmentos, vea Subeventos.
Utilice la siguiente información para comprender cómo aparecen los componentes de subevento de los campos de matriz y asignación en las fuentes de datos de Customer Journey Analytics.
Comprensión de los componentes de subeventos
Componentes de subevento en el esquema XDM
En el esquema XDM, cada elemento de una matriz (una matriz de cadenas o una matriz de objetos) es un subevento. Cada entrada en un campo de asignación es también un subevento, como se describe en Asignar campos en las fuentes de datos. Las dimensiones y métricas basadas en los campos de un subevento son componentes de subevento.
Para ver subeventos dentro del esquema XDM en Adobe Experience Platform, seleccione Esquemas y expanda un evento que contenga subeventos.
En el ejemplo siguiente, Product list items es una matriz de objetos que contiene varios componentes de subevento.
Diferencias de subeventos entre Analysis Workspace y las fuentes de datos
Los componentes de subevento se representan de forma diferente entre Analysis Workspace y las fuentes de datos en Customer Journey Analytics.
Diferencias de subeventos entre Adobe Analytics y Customer Journey Analytics
Los datos de subeventos (como varios detalles del producto en un único evento de compra) aparecen de forma diferente en las fuentes de datos de Customer Journey Analytics y en las de Adobe Analytics. La siguiente tabla compara cómo cada producto representa los datos de subeventos.
Una lista de productos contiene varios productos agrupados en una sola cadena:
Power Tools;Cordless Drill;1;129.99,Power Tools;Drill Battery Pack;2;39.98
Una lista de productos mantiene su jerarquía que se define en el esquema XDM como una matriz:
[{"category":"Power Tools","product":"Cordless Drill","quantity":1,"revenue":129.99},{"category":"Power Tools","product":"Drill Battery Pack","quantity":2,"revenue":39.98}]
Ejemplo de subevento: productos en un evento de compra
Un cliente compra dos productos en un único pedido: un taladro inalámbrico y dos baterías de taladro. Su implementación envía un único evento de compra que incluye ambos productos en la matriz de objetos productListItems:
{
"eventType": "commerce.purchases",
"timestamp": "2026-09-16T14:32:07.512Z",
"commerce": {
"purchases": { "value": 1 }
},
"productListItems": [
{ "SKU": "CD-2000", "name": "Cordless Drill", "quantity": 1, "priceTotal": 129.99 },
{ "SKU": "BP-2000", "name": "Drill Battery Pack", "quantity": 2, "priceTotal": 39.98 }
]
}
Este evento contiene dos subeventos, uno para cada objeto de la matriz productListItems. La siguiente tabla muestra qué campos pertenecen al evento y cuáles a sus subeventos.
eventType, timestamp, commerce.purchases.value1 para este evento, independientemente de cuántos productos contenga.SKU, name, quantity, priceTotal en cada objeto productListItemsquantity es 1 para la perforadora inalámbrica y 2 para el paquete de baterías de perforación.productListItems en ese evento de compra.Añadir componentes de subevento a una fuente de datos
Cuando se añade un componente de subevento a una fuente de datos, un cuadro de diálogo le solicita que añada los demás componentes del mismo subevento.
Los campos del mismo subevento aparecen en el lienzo como un grupo anidado contraíble en lugar de como un elemento plano.
Este grupo refleja la estructura de datos subyacente.
En la salida de la fuente de datos, todos estos componentes aparecen como una matriz anidada en una sola columna.
Para obtener información sobre cómo agregar componentes, incluidos componentes de subevento, a una fuente de datos, consulte Crear una fuente de datos.
Datos de subevento de consulta en la salida de la fuente de datos
Dado que los datos de subevento aparecen de forma diferente en las fuentes de datos de Customer Journey Analytics, las consultas que utiliza para ellos difieren de las que utiliza para las fuentes de datos de Adobe Analytics.
Los siguientes ejemplos muestran cómo buscar eventos que incluyen un producto específico. Los ejemplos utilizan la sintaxis de Google BigQuery, donde UNNEST expande una matriz en filas. Otros almacenes de datos admiten el mismo enfoque con sus propias funciones de matriz, como FLATTEN en Snowflake o explode en Databricks.
En las fuentes de datos de Customer Journey Analytics, los mismos dos productos aparecen como una matriz de objetos en la columna product_list_items. No se requiere análisis de delimitador:
| code language-json |
|---|
|
La forma de escribir la consulta depende de si desea una fila por evento o una fila por producto coincidente.
Devuelve una fila por evento
Para filtrar eventos sin cambiar el número de filas, utilice una función de matriz como UNNEST dentro de una subconsulta EXISTS:
| code language-sql |
|---|
|
Esta consulta devuelve una fila para cada evento coincidente, con la matriz product_list_items completa intacta, independientemente de la cantidad de productos que coincidan en la matriz.
Devolver una fila por cada producto coincidente
Para devolver una fila para cada producto coincidente, mueva la función de matriz a la cláusula FROM externa:
| code language-sql |
|---|
|
Un evento con más de un producto coincidente aparece como varias filas y las columnas del evento, como row_id, se repiten en cada fila. Utilice este método solo cuando necesite detalles de nivel de producto. Para contar eventos en los resultados, use COUNT(DISTINCT row_id) en lugar de contar filas.
Este método se aplica a cualquier campo de matriz del esquema XDM, no solo a los productos.
En las fuentes de datos de Adobe Analytics, un evento con dos productos comprados juntos aparece como una sola cadena delimitada en la columna product_list:
| code language-text |
|---|
|
Para buscar eventos que incluyan un taladro inalámbrico, analice esta cadena con una expresión regular:
| code language-sql |
|---|
|
Uso de campos de asignación en fuentes de datos
Los campos de asignación del esquema XDM almacenan pares clave-valor. Las fuentes de datos exportan cada asignación como una matriz de objetos, del mismo modo que otros datos de subevento. Cada objeto contiene la clave de asignación y su valor como campos independientes.
Los nombres de campo en la salida provienen de los ID de componente que configuró para la fuente de datos, no de nombres fijos como key o value. Los ejemplos de esta sección utilizan ID de componentes de ejemplo.
Mapas simples
Las asignaciones simples son el tipo de asignación que puede crear en su propio esquema. Cada clave es una cadena y cada valor es una cadena o un número entero.
Por ejemplo, un mapa de encuesta almacena cada pregunta como una clave y la respuesta como un valor:
{
"_yourtenant": {
"surveyResponses": {
"How did you hear about us?": "Search engine",
"How likely are you to recommend us?": 9
}
}
}
En la salida de la fuente de datos, survey_question y survey_answer son los identificadores de componente para la clave y el valor:
{
"survey_responses": [
{ "survey_question": "How did you hear about us?", "survey_answer": "Search engine" },
{ "survey_question": "How likely are you to recommend us?", "survey_answer": 9 }
]
}
Mapa de identidad
Cada identidad del campo identityMap se exporta como un objeto. El objeto contiene el área de nombres de identidad (la clave), junto con el identificador, el estado autenticado y el indicador principal. El área de nombres se repite para cada identidad de dicha área de nombres.
Solo se exportan los atributos del mapa de identidad que existen como dimensiones en la vista de datos y que agrega a la fuente de datos.
{
"identity_map": [
{ "identity_namespace": "ECID", "identity_id": "83290187457380573620940587193016478103", "authenticated_state": "ambiguous", "is_primary": true },
{ "identity_namespace": "CRMID", "identity_id": "C-1048576", "authenticated_state": "authenticated", "is_primary": false }
]
}
Mapas anidados
Algunos campos definidos por Adobe, como segmentMembership, son mapas de mapas. Las fuentes de datos se acoplan en una sola matriz, con la clave de primer nivel y la clave de segundo nivel como campos independientes en cada objeto. La clave de primer nivel se repite en cada objeto al que se aplica, por lo que no se pierden datos ni relaciones.
Por ejemplo, segment_namespace y segment_id son los identificadores de componente de la clave de primer nivel y de la clave de segundo nivel:
{
"segment_membership": [
{ "segment_namespace": "ups", "segment_id": "04a81716-43d6-4e7a-a49c-f1d8b3129ba9", "status": "realized" },
{ "segment_namespace": "ups", "segment_id": "53cba6b2-a23b-454a-8069-fc41308f1c0f", "status": "exited" }
]
}