Composants de sous-événement dans les flux de données

AVAILABILITY
La fonctionnalité décrite dans cet article se trouve dans la phase de test limité de la version et peut ne pas encore être disponible dans votre environnement. Cette note sera supprimée lorsque la fonctionnalité sera disponible. Pour plus d’informations sur le processus de mise à jour de Customer Journey Analytics, consultez Mises à jour des fonctionnalités de Customer Journey Analytics.

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.

Schéma XDM contenant un tableau d’objets et des composants de sous-événements

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.

Emplacement
Représentation des composants de sous-événements
Analysis Workspace (dans Customer Journey Analytics)
Sélectionnable en tant que composants individuels, séparés de toute hiérarchie visible.
Flux de données (dans Customer Journey Analytics)
Représentés sous la forme d’un groupe, avec leur hiérarchie intacte.

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.

Product
Affichage des données de sous-événements dans les flux de données
Exemple : liste de produits
Adobe Analytics
Aplati en une chaîne délimitée dans une seule colonne.

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

Customer Journey Analytics
Les composants de sous-événement conservent la hiérarchie définie dans votre schéma XDM. Bien que regroupés dans la même colonne, ils affichent leur hiérarchie relationnelle par rapport à l’événement parent et aux sous-événements frères.

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.

Niveau
Champs
Description des champs
Événement
eventType, timestamp, commerce.purchases.value
L’achat dans son ensemble. Chaque champ comporte une valeur pour l’événement. La mesure Commandes compte 1 pour cet événement, quel que soit le nombre de produits qu’il contient.
Sous-événement
SKU, name, quantity, priceTotal dans chaque objet productListItems
Un produit individuel dans l’achat. Chaque champ comporte une valeur par produit. Par exemple, quantity est 1 pour la perceuse sans fil et 2 pour le bloc-batterie de perceuse.
NOTE
Les sous-événements incluent uniquement les données envoyées avec l’événement. Customer Journey Analytics ne reconstruit pas le contenu du panier à partir d’événements précédents, tels que des ajouts au panier ou des passages en caisse. Pour que les produits apparaissent en tant que sous-événements d’un événement d’achat, votre implémentation doit les inclure dans les 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.

Boîte de dialogue vous invitant à ajouter les composants de sous-événement associés

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.

​ Groupe de sous-événements ​

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.

Requête sur les données de produit dans les flux de données Customer Journey Analytics

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
{
  "row_id": "01K3F2M9-...-4821",
  "timestamp_utc": "2026-09-16T14:32:07.512000Z",
  "product_list_items": [
    { "category": "Power Tools", "product": "Cordless Drill", "quantity": 1, "revenue": 129.99,
      "events": {"event1": 1}, "merchandising": {"eVar10": "DrillBundle"} },
    { "category": "Power Tools", "product": "Drill Battery Pack", "quantity": 2, "revenue": 39.98,
      "events": {"event1": 1}, "merchandising": {"eVar10": "DrillBundle"} }
  ]
}

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
SELECT row_id, timestamp_utc, product_list_items
FROM `project.dataset.cja_data_feed` AS f
WHERE EXISTS (
  SELECT 1
  FROM UNNEST(f.product_list_items) AS item
  WHERE item.product = 'Cordless Drill'
);

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
SELECT f.row_id, f.timestamp_utc, item.product, item.quantity, item.revenue
FROM `project.dataset.cja_data_feed` AS f,
     UNNEST(f.product_list_items) AS item
WHERE item.product = 'Cordless Drill';

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.

Requête sur les données de produit dans les flux de données Adobe Analytics

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
Power Tools;Cordless Drill;1;129.99;event1=1;eVar10=DrillBundle,Power Tools;Drill Battery Pack;2;39.98;event1=1;eVar10=DrillBundle

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
SELECT hitid_high, hitid_low, post_evar10
FROM aa_hit_data
WHERE REGEXP_CONTAINS(product_list, r'(^|,)[^;]*;Cordless Drill;')

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" }
  ]
}
recommendation-more-help
analytics-platform-help-main