Skip to content

Propriétés d’entrées persistantes

Lorsqu’un Canvas est déclenché par un événement personnalisé, un achat ou un appel API, vous pouvez utiliser les métadonnées de l’appel API, de l’événement personnalisé ou de l’événement d’achat pour la personnalisation à chaque étape de votre flux de travail Canvas. Vous pouvez utiliser ces propriétés pour envoyer des messages mieux agencés.

Utilisation des propriétés d’entrée

Les propriétés d’entrée peuvent être utilisées dans les Canvas déclenchés par une action ou par API. Ces propriétés d’entrée sont définies lorsqu’un Canvas est déclenché par un événement personnalisé, un achat ou un appel API. Consultez les articles suivants pour en savoir plus :

Les propriétés transmises par ces objets peuvent être référencées à l’aide de l’étiquette Liquid canvas_entry_properties. Par exemple, une requête contenant "canvas_entry_properties": {"product_name": "shoes", "product_price": 79.99} pourrait ajouter le mot « shoes » à un message en ajoutant le Liquid {{canvas_entry_properties.${product_name}}}.

Lorsqu’un Canvas inclut un message contenant l’étiquette Liquid canvas_entry_properties, les valeurs associées à ces propriétés seront enregistrées pendant toute la durée du parcours de l’utilisateur dans le Canvas et supprimées lorsque l’utilisateur quitte le Canvas. Notez que les propriétés d’entrée Canvas ne sont disponibles que pour référence dans Liquid. Pour filtrer sur les propriétés au sein du Canvas, utilisez plutôt la segmentation par propriétés d’événement.

Mise à jour d’un Canvas pour utiliser les propriétés d’entrée

Si un Canvas actif qui ne contenait auparavant aucun message utilisant canvas_entry_properties est modifié pour inclure canvas_entry_properties, la valeur correspondant à cette propriété ne sera pas disponible pour les utilisateurs qui sont entrés dans le Canvas avant que canvas_entry_properties ne soit ajouté au Canvas. Les valeurs ne seront enregistrées que pour les utilisateurs qui entrent dans le Canvas après la modification.

Par exemple, si vous avez initialement lancé un Canvas qui n’utilisait aucune propriété d’entrée le 3 novembre, puis ajouté une nouvelle propriété product_name au Canvas le 11 novembre, les valeurs de product_name ne seraient enregistrées que pour les utilisateurs ayant intégré le Canvas à partir du 11 novembre.

Dans le cas où une propriété d’entrée Canvas est nulle ou vide, vous pouvez annuler les messages à l’aide de conditions. L’extrait de code suivant est un exemple d’utilisation de Liquid pour annuler un message.

1
2
3
{% if canvas_entry_properties.${product_name} == blank %}
{% abort_message() %}
{% endif %}

Pour en savoir plus sur l’annulation des messages avec Liquid, consultez notre documentation Liquid.

Propriétés d’entrée globales du Canvas

Avec canvas_entry_properties, vous pouvez définir des propriétés globales qui s’appliquent à tous les utilisateurs, ou des propriétés spécifiques à un utilisateur qui ne s’appliquent qu’à l’utilisateur spécifié. La propriété spécifique à l’utilisateur remplacera la propriété globale pour cet utilisateur.

Exemple de requête

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
curl -X POST \
-H 'Content-Type: application/json' \
-d '{
      "api_key": "a valid rest api key",
      "canvas_id": "the ID of your Canvas",
      "canvas_entry_properties": {
        "food_allergies": "none"
      },
      "recipients": [
        {
          "external_user_id": "Customer_123",
          "canvas_entry_properties": {
            "food_allergies": ["dairy", "soy"],
            "nutrition": {
              "calories_per_serving": 200,
              "serving_size_in_ounces": 4
            }
          }
        }
      ]
    }'

Dans cette requête, la valeur globale pour « food allergies » est « none ». Pour Customer_123, la valeur est « dairy ». Les messages de ce Canvas contenant l’extrait de code Liquid {{canvas_entry_properties.${food_allergies}}} afficheront « dairy » pour Customer_123 et « none » pour tous les autres.

Cas d’usage

Si vous disposez d’un Canvas qui se déclenche lorsqu’un utilisateur consulte un article sur votre site eCommerce sans l’ajouter à son panier, la première étape du Canvas pourrait être une notification push lui demandant s’il souhaite acheter cet article. Vous pouvez faire référence au nom du produit en utilisant {{canvas_entry_properties.${product_name}}}

Si vous disposez d'un Canvas qui se déclenche lorsqu'un utilisateur consulte un article sur votre site eCommerce sans l'ajouter à son panier, la première étape du Canvas pourrait être une notification push lui demandant s'il souhaite acheter cet article. Vous pouvez faire référence au nom du produit en utilisant {{canvas_entry_properties.${product_name}}}.

La deuxième étape peut envoyer une autre notification push invitant l’utilisateur à finaliser son achat s’il a ajouté l’article à son panier mais ne l’a pas encore acheté. Vous pouvez continuer à faire référence à la propriété d’entrée product_name en utilisant {{canvas_entry_properties.${product_name}}}.

Capture d'écran liée au cas d'usage.

Résolution des problèmes

Les propriétés d’entrée sont vides avec plusieurs déclencheurs d’entrée

Braze stocke les canvas_entry_properties à partir du déclencheur qui a fait entrer l’utilisateur, et non à partir de chaque déclencheur configuré sur le Canvas. Si ce déclencheur n’a pas de charge utile d’événement ou d’API — par exemple Start Session ou Change Custom Attribute Value — les canvas_entry_properties Liquid sont vides pour ce parcours. Les utilisateurs qui entrent dans le même Canvas via un événement personnalisé, un achat ou un appel API disposent toujours des propriétés issues de ce payload.

Pour que les propriétés d’entrée soient renseignées pour chaque utilisateur, utilisez uniquement des types d’entrée qui transmettent ces propriétés (événement personnalisé, achat ou déclenchement par API). Pour la personnalisation dans l’éditeur Canvas actuel, utilisez les propriétés de contexte et d’événement. Pour filtrer sur les propriétés, utilisez la segmentation par propriétés d’événement au lieu des canvas_entry_properties Liquid.

New Stuff!