Objets imbriqués dans les événements personnalisés
Cette page explique comment envoyer des données JSON imbriquées en tant que propriétés d’événements personnalisés et d’achats, et comment utiliser ces objets imbriqués dans votre envoi de messages.
Vous pouvez utiliser des objets imbriqués (c’est-à-dire des objets qui se trouvent à l’intérieur d’un autre objet) pour envoyer des données JSON imbriquées en tant que propriétés d’événements personnalisés et d’achats. Ces données imbriquées peuvent être utilisées pour créer des modèles d’informations personnalisées dans les messages, déclencher l’envoi de messages et segmenter les utilisateurs.
Considérations
- Les données imbriquées sont prises en charge pour les événements personnalisés et les événements d’achat, mais pas pour les autres types d’événements.
- Les objets de propriétés d’événement contenant des valeurs de type tableau ou objet peuvent avoir un payload de propriétés d’événement allant jusqu’à 100 Ko.
- Les schémas de propriétés d’événement ne peuvent pas être générés pour les événements d’achat.
- Les schémas de propriétés d’événement sont générés par échantillonnage des événements personnalisés des dernières 24 heures.
Versions minimales du SDK
Les versions suivantes du SDK prennent en charge les objets imbriqués :
Étape 1 : Générer un schéma
Vous pouvez accéder aux données imbriquées de votre événement personnalisé en générant un schéma pour chaque événement avec des propriétés de l’événement imbriqué. Pour générer un schéma :
- Allez dans Data Settings > Custom Events.
- Sélectionnez Manage Properties pour les événements avec des propriétés imbriquées.
- Sélectionnez le bouton pour générer le schéma. Pour afficher le schéma, sélectionnez le bouton plus .

Si de nouvelles propriétés sont envoyées par la suite, elles ne figureront pas dans le schéma tant qu’il n’aura pas été régénéré. Les schémas peuvent être régénérés toutes les 24 heures.
Étape 2 : Utiliser l’objet imbriqué
Vous pouvez référencer les données imbriquées lors de la segmentation et de la personnalisation. Notez qu’un schéma n’est pas requis. Consultez les sections suivantes pour des exemples d’utilisation :
Corps de la requête API
Voici un exemple /users/track avec un événement personnalisé « Created Playlist ». Après la création d’une playlist, capturez les propriétés de la playlist en envoyant :
- Une requête API qui répertorie « songs » comme propriété
- Un tableau des propriétés imbriquées des chansons
...
"properties": {
"songs": [
{
"title": "Smells Like Teen Spirit",
"artist": "Nirvana",
"album": {
"name": "Nevermind",
"yearReleased": "1991"
}
},
{
"title": "While My Guitar Gently Weeps",
"artist": "the Beatles",
"album": {
"name": "The Beatles",
"yearReleased": "1968"
}
}
]
}
...
Voici un exemple /users/track avec un événement personnalisé « Ordered ». Après la finalisation d’une commande, capturez les propriétés de cette commande en envoyant :
- Une requête API qui répertorie
r_detailscomme propriété - Les propriétés imbriquées de cette commande
...
"properties": {
"r_details": {
"name": "SandwichEmperor",
"identifier": "12345678",
"location" : {
"city": "Montclair",
"state": "NJ"
}
}
}
...

Pour les propriétés d’événement personnalisé imbriquées, si l’année est inférieure à 0 ou supérieure à 3000, Braze ne stocke pas ces valeurs sur l’utilisateur.
Modèles Liquid
Voici comment créer un modèle Liquid qui référence les propriétés imbriquées demandées dans la requête API précédente.
Modèle Liquid dans un message déclenché par l’événement « Created Playlist » :
{{event_properties.${songs}[0].album.name}} : « Nevermind »
{{event_properties.${songs}[1].title}} : « While My Guitar Gently Weeps »
Modèle Liquid dans un message déclenché par l’événement « Ordered » :
{{event_properties.${r_details}.location.city}} : « Montclair »
Déclenchement de messages
Pour utiliser ces propriétés afin de déclencher une campagne ou un Canvas, sélectionnez votre événement personnalisé ou achat, puis ajoutez un filtre Nested Property. Les déclencheurs eCommerce Place Order et Update Cart acceptent les mêmes types de filtres.

Les filtres Nested Property ne sont pas pris en charge pour les déclencheurs d’In-App Messages. Vous pouvez toutefois utiliser les propriétés imbriquées pour la personnalisation Liquid dans les In-App Messages.
Les filtres de propriétés d’événement de niveau supérieur (basiques) — y compris les propriétés de type tableau — peuvent être utilisés pour déclencher des In-App Messages. Ces filtres sont distincts des filtres Nested Property.
Déclenchement d’une campagne avec des propriétés imbriquées depuis l’événement « Created Playlist » :

La condition de déclenchement songs[].album.yearReleased « is » « 1968 » correspondra à un événement où l’une des chansons possède un album sorti en 1968. Nous utilisons la notation entre crochets [] pour parcourir les tableaux, et la correspondance se fait si un élément quelconque du tableau parcouru correspond à la propriété d’événement.

Le filtre does not equal ne correspond que si aucune des propriétés de votre tableau n’est égale à la valeur fournie.
Par exemple, supposons que le Canvas A possède le filtre de propriété imbriquée d’événement personnalisé basé sur l’action equals « smartwatch », et que le Canvas B possède le filtre de propriété imbriquée d’événement personnalisé basé sur l’action does not equal « simphone ». Si vous avez « smartwatch » et « simphone » dans vos propriétés, les deux Canvas se déclencheront. Mais si vous avez « simphone » ou « sim only » dans une propriété quelconque, aucun Canvas ne se déclenchera.
Déclenchement d’une campagne avec des propriétés imbriquées depuis l’événement « Ordered » :

r_details.name : « SandwichEmperor »
r_details.location.city : « Montclair »

Si votre propriété d’événement contient les caractères [] ou ., échappez-les en les encadrant avec des guillemets doubles. Par exemple, "songs[].album".yearReleased correspondra à un événement avec la propriété littérale "songs[].album".
Segmentation
Pour segmenter les utilisateurs en fonction des propriétés d’événement imbriquées, vous devez utiliser les extensions de segments. Une fois que vous avez généré un schéma, l’explorateur d’objets imbriqués s’affichera dans la section de segmentation.

La segmentation utilise la même notation que le déclenchement (voir Déclenchement de messages).
Pour modifier ou créer des extensions de segments, vous aurez besoin de la permission « Edit Segments ».
Personnalisation
À l’aide de la fenêtre modale Add Personalization, sélectionnez Advanced Event Properties comme type de personnalisation. Cela permet d’ajouter des propriétés d’événement imbriquées une fois qu’un schéma a été généré.

Tester les objets imbriqués dans les messages
L’outil Preview & Test du tableau de bord ne prend pas en charge l’ajout de données fictives pour les objets imbriqués ou les attributs personnalisés imbriqués. Pour tester des messages qui font référence à des données imbriquées via Liquid, vous pouvez prévisualiser les messages avec des attributs imbriqués en tant qu’utilisateur existant possédant cet attribut imbriqué, ou prévisualiser les messages avec des propriétés d’événement personnalisé en lançant une Campaign en direct vers des utilisateurs test.
Attributs personnalisés imbriqués
- Importez les attributs imbriqués dans le profil de l’utilisateur test via l’API.
- Dans votre Campaign ou Canvas, accédez à Preview & Test.
- Sélectionnez Preview as user et recherchez l’utilisateur test. Le Liquid se résoudra en utilisant les attributs imbriqués réels présents sur le profil de cet utilisateur.
Propriétés d’événement imbriquées
Les propriétés d’événement imbriquées ne peuvent pas être prévisualisées dans le tableau de bord, car elles nécessitent un déclencheur d’événement en direct. Pour les tester :
- Créez une Campaign ou une étape du Canvas qui cible uniquement vos utilisateurs test et qui est déclenchée par (ou fait référence à) l’événement personnalisé avec des propriétés imbriquées.
- Lancez la Campaign vers votre audience test.
- Enregistrez l’événement personnalisé avec le payload de l’objet imbriqué sur le profil de votre utilisateur test (via l’API ou le SDK).
- Vérifiez que le message s’affiche correctement avec les valeurs des propriétés imbriquées.
Questions fréquemment posées
L’utilisation d’objets imbriqués enregistre-t-elle des points de donnée supplémentaires ?
Il n’y a aucun changement dans la façon dont nous enregistrons les points de donnée suite à l’ajout de cette fonctionnalité. La segmentation basée sur les objets imbriqués utilise les extensions de segments, qui ne consomment pas de points de donnée supplémentaires.
Quelle quantité de données imbriquées peut être envoyée ?
Si une ou plusieurs des propriétés de l’événement contiennent des données imbriquées, le payload maximum pour l’ensemble des propriétés combinées d’un événement est de 100 Ko. Toute requête dépassant cette limite de taille sera rejetée.