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 pouvant atteindre 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 :
- Accédez à 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 ultérieurement, elles ne seront pas incluses dans le schéma tant que celui-ci 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 ». Une fois qu’une playlist a été créée, capturez les propriétés de la playlist en envoyant :
- Une requête API qui liste « 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 ». Une fois qu’une commande a été finalisée, capturez les propriétés de cette commande en envoyant :
- Une requête API qui liste
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.
Templating Liquid
Voici comment créer un template Liquid qui référence les propriétés imbriquées demandées dans la requête API précédente.
Templating en 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”
Templating en 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, 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. Notez que le déclenchement de messages n’est pas encore pris en charge pour les messages in-app, mais les propriétés imbriquées dans la personnalisation Liquid des messages s’afficheront quand même.
Déclenchement d’une campagne avec des propriétés imbriquées à partir de 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 n’importe quel élément du tableau parcouru correspond à la propriété de l’é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 n’importe quelle propriété, aucun Canvas ne se déclenchera.
Déclenchement d’une campagne avec des propriétés imbriquées à partir de 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 entourant de 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
En utilisant la fenêtre modale Add Personalization, sélectionnez Advanced Event Properties comme type de personnalisation. Cela vous 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 Aperçu et 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 à Aperçu et test.
- Sélectionnez Prévisualiser en tant qu’utilisateur et recherchez l’utilisateur test. Le Liquid sera résolu en utilisant les attributs imbriqués réels du 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 tester :
- Créez une Campaign ou une étape 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 de test.
- Enregistrez l’événement personnalisé avec le payload de l’objet imbriqué dans 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 ?
La manière dont nous enregistrons les points de donnée ne change pas avec l’ajout de cette fonctionnalité. La segmentation basée sur les objets imbriqués utilise les extensions de segments, qui n’utilisent pas de points de donnée supplémentaires.
Quelle quantité de données imbriquées peut être envoyée ?
Si une ou plusieurs 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.