Skip to content

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 vos messages.

Vous pouvez utiliser des objets imbriqués, c’est-à-dire des objets contenus dans 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 servir à créer des modèles d’informations personnalisées dans les messages, à déclencher des envois 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 comportant des propriétés d’événement imbriquées. Pour générer un schéma :

  1. Accédez à Paramètres des données > Événements personnalisés.
  2. Sélectionnez Gérer les propriétés pour les événements comportant des propriétés imbriquées.
  3. 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 figureront pas 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 ». Après la création d’une playlist, 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
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
...
"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 liste r_details comme propriété
  • Les propriétés imbriquées de cette commande
1
2
3
4
5
6
7
8
9
10
11
12
...
"properties": {
  "r_details": {
    "name": "SandwichEmperor",
    "identifier": "12345678",
    "location" : {
      "city": "Montclair",
      "state": "NJ"
    }
  }
}
...

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, sélectionnez votre événement personnalisé ou achat, puis ajoutez un filtre Propriété imbriquée. 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 tout de même.

Déclenchement d’une campagne avec des propriétés imbriquées de l’événement « Created Playlist » :

Un utilisateur choisissant une propriété imbriquée pour les filtres de propriétés sur un événement personnalisé.

La condition de déclenchement songs[].album.yearReleased « est » « 1968 » correspondra à un événement dans lequel l’une des chansons possède un album sorti en 1968. La notation entre crochets [] permet de parcourir les tableaux, et la correspondance est établie si n’importe quel élément du tableau parcouru correspond à la propriété d’événement.

Déclenchement d’une campagne avec des propriétés imbriquées de l’événement « Ordered » :

Un utilisateur ajoutant le filtre de propriété r_details.name est SandwichEmperor pour un événement personnalisé.

r_details.name : “SandwichEmperor”
r_details.location.city : “Montclair”

Segmentation

Pour segmenter les utilisateurs en fonction de propriétés d’événement imbriquées, vous devez utiliser les Extensions de segments. Après avoir 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 devez disposer de la permission « Modifier les segments ».

Personnalisation

À l’aide de la fenêtre modale Ajouter une personnalisation, sélectionnez Propriétés d’événement avancées comme type de personnalisation. Cela permet d’ajouter des propriétés d’événement imbriquées après la génération d’un schéma.

Tester les objets imbriqués dans les messages

L’outil Prévisualisation 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 les messages qui référencent 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 campagne en production vers des utilisateurs test.

Attributs personnalisés imbriqués

  1. Importez les attributs imbriqués dans le profil de l’utilisateur test via l’API.
  2. Dans votre campagne ou Canvas, accédez à Prévisualisation et test.
  3. 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éclenchement d’événement en temps réel. Pour tester :

  1. Créez une campagne ou une étape du Canvas qui cible uniquement vos utilisateurs test et qui est déclenchée par (ou référence) l’événement personnalisé avec des propriétés imbriquées.
  2. Lancez la campagne vers votre audience test.
  3. Enregistrez l’événement personnalisé avec le PAYLOAD d’objet imbriqué sur le profil de votre utilisateur test (via l’API ou le SDK).
  4. Vérifiez que le message s’affiche correctement avec les valeurs des propriétés imbriquées.

Questions fréquentes

L’utilisation d’objets imbriqués entraîne-t-elle la consommation de points de donnée supplémentaires ?

La façon dont nous comptabilisons les points de donnée ne change pas avec l’ajout de cette fonctionnalité. La segmentation basée sur des 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 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.

New Stuff!