Composants de sous-événement dans les flux de données
Les composants de sous-événement sont des dimensions et des mesures basées sur des champs dans un tableau ou un mappage de votre schéma XDM. Ils vous permettent d’analyser les données à un niveau plus granulaire que le niveau de l’événement, comme les produits individuels d’un achat. Pour plus d’informations sur l’utilisation de ces données dans les segments, voir Sous-événements.
Utilisez les informations suivantes pour comprendre comment les composants de sous-événement des champs de tableau et de mappage apparaissent dans vos flux de données Customer Journey Analytics.
Présentation des composants de sous-événement
Composants de sous-événement dans le schéma XDM
Dans le schéma XDM, chaque élément d’un tableau (un tableau de chaîne ou un tableau d’objet) est un sous-événement. Chaque entrée d’un champ de mappage est également un sous-événement, comme décrit dans la section Mapper des champs dans les flux de données. Les dimensions et les mesures basées sur les champs d’un sous-événement sont des composants de sous-événement.
Pour afficher les sous-événements dans le schéma XDM dans Adobe Experience Platform, sélectionnez Schémas, puis développez un événement contenant des sous-événements.
Dans l’exemple suivant, Product list items est un tableau d’objets contenant divers composants de sous-événement.
Différences de sous-événements entre Analysis Workspace et les flux de données
Les composants de sous-événement sont représentés différemment entre Analysis Workspace et les flux de données dans Customer Journey Analytics.
Différences de sous-événements entre Adobe Analytics et Customer Journey Analytics
Les données de sous-événement (comme plusieurs détails de produit dans un seul événement d’achat) apparaissent différemment dans les flux de données Customer Journey Analytics et dans les flux de données Adobe Analytics. Le tableau suivant compare la manière dont chaque produit représente les données de sous-événement.
Une liste de produits contient plusieurs produits regroupés dans une seule chaîne :
Power Tools;Cordless Drill;1;129.99,Power Tools;Drill Battery Pack;2;39.98
Une liste de produits conserve sa hiérarchie définie dans le schéma XDM sous la forme d’un tableau :
[{"category":"Power Tools","product":"Cordless Drill","quantity":1,"revenue":129.99},{"category":"Power Tools","product":"Drill Battery Pack","quantity":2,"revenue":39.98}]
Exemple de sous-événement : Produits dans un événement d’achat
Un client achète deux produits en une seule commande : une perceuse sans fil et deux packs de batteries de perceuse. Votre implémentation envoie un seul événement d’achat qui inclut les deux produits dans le tableau d’objets 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 }
]
}
Cet événement contient deux sous-événements, un pour chaque objet du tableau productListItems. Le tableau suivant indique les champs qui appartiennent à l’événement et ceux qui appartiennent à ses sous-événements.
eventType, timestamp, commerce.purchases.value1 pour cet événement, quel que soit le nombre de produits qu’il contient.SKU, name, quantity, priceTotal dans chaque objet productListItemsquantity est 1 pour la perceuse sans fil et 2 pour le bloc-batterie de perceuse.productListItems de cet événement d’achat.Ajouter des composants de sous-événement à un flux de données
Lorsque vous ajoutez un composant de sous-événement à un flux de données, une boîte de dialogue vous invite à ajouter les autres composants du même sous-événement.
Les champs du même sous-événement apparaissent sur la zone de travail sous la forme d’un groupe imbriqué réductible plutôt que d’un élément plat.
Ce groupe reflète la structure de données sous-jacente.
Dans la sortie du flux de données, tous ces composants apparaissent sous la forme d’un tableau imbriqué dans une seule colonne. Les fichiers parquet prennent en charge les tableaux imbriqués de manière native. Pour plus d’informations, voir Utilisation de fichiers Parquet dans les flux de données.
Pour plus d’informations sur l’ajout de composants, y compris des composants de sous-événements, à un flux de données, voir Création d’un flux de données.
Requête sur les données de sous-événement dans la sortie du flux de données
Comme les données de sous-événement apparaissent différemment dans les flux de données Customer Journey Analytics, les requêtes que vous utilisez pour ces flux diffèrent de celles que vous utilisez pour les flux de données Adobe Analytics.
Les exemples suivants montrent comment rechercher des événements qui incluent un produit spécifique. Les exemples utilisent la syntaxe BigQuery de Google, où UNNEST développe un tableau en lignes. D’autres entrepôts de données prennent en charge la même approche avec leurs propres fonctions de tableau, telles que FLATTEN dans Snowflake ou explode dans les briques de données.
Dans les flux de données Customer Journey Analytics, les deux mêmes produits apparaissent sous la forme d’un tableau d’objets dans la colonne product_list_items. Aucune analyse du délimiteur n’est requise :
| code language-json |
|---|
|
Le mode d’écriture de la requête varie selon que vous souhaitez une ligne par événement ou une ligne par produit correspondant.
Renvoie une ligne par événement
Pour filtrer les événements sans modifier le nombre de lignes, utilisez une fonction de tableau telle que UNNEST dans une sous-requête EXISTS :
| code language-sql |
|---|
|
Cette requête renvoie une ligne pour chaque événement correspondant, avec le tableau product_list_items complet intact, quel que soit le nombre de produits dans le tableau qui correspondent.
Renvoie une ligne par produit correspondant
Pour renvoyer une ligne pour chaque produit correspondant, déplacez la fonction de tableau dans la clause de FROM externe :
| code language-sql |
|---|
|
Un événement avec plusieurs produits correspondants s’affiche sur plusieurs lignes et les colonnes de l’événement, telles que row_id, se répètent sur chaque ligne. N’utilisez cette approche que lorsque vous avez besoin de détails au niveau du produit. Pour comptabiliser les événements dans les résultats, utilisez COUNT(DISTINCT row_id) au lieu de comptabiliser les lignes.
Cette approche s’applique à tout champ de tableau de votre schéma XDM, et pas seulement aux produits.
Dans les flux de données Adobe Analytics, un événement avec deux produits achetés ensemble s’affiche sous la forme d’une chaîne délimitée unique dans la colonne product_list :
| code language-text |
|---|
|
Pour rechercher des événements qui incluent une exploration sans fil, vous analysez cette chaîne avec une expression régulière :
| code language-sql |
|---|
|
Utilisation des champs de mappage dans les flux de données
Mappez les champs de votre schéma XDM pour stocker les paires clé-valeur. Les flux de données exportent chaque mappage sous la forme d’un tableau d’objets, de la même manière que les autres données de sous-événement. Chaque objet contient la clé de mappage et sa valeur sous la forme de champs distincts.
Les noms des champs dans la sortie proviennent des identifiants de composant que vous configurez pour le flux de données, et non de noms fixes tels que key ou value. Les exemples de cette section utilisent des ID de composant d’exemple.
Mappages simples
Les mappages simples sont le type de mappage que vous pouvez créer dans votre propre schéma. Chaque clé est une chaîne et chaque valeur est une chaîne ou un entier.
Par exemple, une carte de questionnaire stocke chaque question comme clé et la réponse comme valeur :
{
"_yourtenant": {
"surveyResponses": {
"How did you hear about us?": "Search engine",
"How likely are you to recommend us?": 9
}
}
}
Dans la sortie du flux de données, survey_question et survey_answer sont les identifiants des composants pour la clé et la valeur :
{
"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 }
]
}
Mappage d’identités
Chaque identité du champ identityMap est exportée sous la forme d’un seul objet . L’objet contient l’espace de noms d’identité (la clé), ainsi que l’identifiant, l’état authentifié et l’indicateur principal. L’espace de noms se répète pour chaque identité de cet espace de noms.
Seuls les attributs de mappage d’identités qui existent en tant que dimensions dans votre vue de données et que vous ajoutez au flux de données sont exportés.
{
"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 }
]
}
Mappages imbriqués
Certains champs définis par Adobe, tels que segmentMembership, sont des mappages de cartes. Les flux de données aplatissent ces éléments en un seul tableau, avec la clé de premier niveau et la clé de deuxième niveau comme champs distincts dans chaque objet. La clé de premier niveau se répète dans chaque objet auquel elle s’applique, de sorte qu’aucune donnée ou relation n’est perdue.
Par exemple, segment_namespace et segment_id sont les identifiants des composants pour la clé de premier niveau et la clé de deuxième niveau :
{
"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" }
]
}