Variables de contexte
Les variables de contexte sont des données temporaires que vous pouvez créer et utiliser au cours du parcours d’un utilisateur dans un canvas spécifique. Elles vous permettent de personnaliser les délais, de segmenter les utilisateurs de manière dynamique et d’enrichir l’envoi de messages sans modifier de manière permanente les informations du profil utilisateur. Les variables de contexte n’existent que dans la session du Canvas et ne persistent pas entre différents Canvas ou en dehors de la session.
Fonctionnement des variables de contexte
Les variables de contexte peuvent être définies de deux manières :
- À l’entrée du Canvas : Lorsque les utilisateurs entrent dans un Canvas, les données de l’événement ou du déclencheur API peuvent automatiquement alimenter les variables de contexte.
- Dans une étape Contexte : Vous pouvez définir ou mettre à jour manuellement les variables de contexte dans le Canvas en ajoutant une étape Contexte.
Chaque variable de contexte comprend :
- Un nom (tel que
flight_timeousubscription_renewal_date) - Un type de données (tel que nombre, chaîne de caractères, heure ou tableau)
- Une valeur que vous attribuez à l’aide de Liquid ou de l’outil Ajouter une personnalisation.
Une fois définie, vous pouvez utiliser une variable de contexte dans l’ensemble du Canvas en y faisant référence sous la forme suivante : {{context.${example_variable_name}}}.
Par exemple, {{context.${flight_time}}} pourrait renvoyer l’heure de vol prévue de l’utilisateur.
Chaque fois qu’un utilisateur entre dans le Canvas — même s’il l’a déjà fait auparavant — les variables de contexte sont redéfinies en fonction des dernières données d’entrée et de la configuration du Canvas. Cette approche avec état permet à chaque entrée dans le Canvas de conserver son propre contexte indépendant, ce qui permet aux utilisateurs d’avoir plusieurs états actifs au cours d’un même parcours tout en conservant le contexte spécifique à chaque état.
Par exemple, si un client a deux vols à venir, il aura deux états de parcours distincts fonctionnant simultanément, chacun avec ses propres variables de contexte spécifiques au vol, telles que l’heure de départ et la destination. Cela vous permet d’envoyer des rappels personnalisés concernant leur vol de 14 h à destination de New York, tout en envoyant des informations différentes concernant leur vol de 8 h à destination de Los Angeles le lendemain, de sorte que chaque message reste pertinent par rapport à la réservation spécifique.
Considérations
Vous pouvez définir jusqu’à 10 variables de contexte par étape Contexte. Chaque nom de variable peut comporter jusqu’à 100 caractères et doit être composé uniquement de lettres, de chiffres ou de traits de soulignement.
Les définitions des variables de contexte peuvent comporter jusqu’à 10 240 caractères. Si vous transmettez des variables de contexte à un Canvas déclenché par une API, elles partagent le même espace de noms que les variables créées dans une étape Contexte. Par exemple, si vous transmettez une variable purchased_item dans l’objet de contexte de l’endpoint /canvas/trigger/send, vous pouvez la référencer comme {{context.${purchased_item}}}. Si vous redéfinissez cette variable dans une étape Contexte, la nouvelle valeur remplacera la valeur API pour le parcours de cet utilisateur.
Vous pouvez stocker jusqu’à 50 Ko par étape Contexte, répartis sur un maximum de 10 variables. Si la taille totale de toutes les variables d’une étape dépasse 50 Ko, les variables qui dépassent cette limite ne seront ni évaluées ni stockées. Par exemple, si vous avez trois variables dans une étape Contexte :
- Variable 1 : 30 Ko
- Variable 2 : 19 Ko
- Variable 3 : 2 Ko
La variable 3 ne sera ni évaluée ni stockée, car la somme des variables précédentes dépasse 50 Ko.
Types de données
Les variables de contexte créées ou mises à jour dans l’étape peuvent se voir attribuer les types de données suivants.
Les variables de contexte ont les mêmes formats attendus pour les types de données que les événements personnalisés.
Lorsque vous utilisez le type tableau, Braze tente d’analyser la valeur au format JSON, ce qui permet de créer correctement des tableaux d’objets. Si les objets contenus dans vos tableaux ne sont pas valides au format JSON, le résultat sera un simple tableau de chaînes de caractères.
Pour les objets imbriqués et les tableaux d’objets, utilisez le filtre Liquid as_json_string. Si vous créez le même objet dans une étape Contexte, vous devrez effectuer le rendu de l’objet à l’aide de as_json_string, par exemple {{context.${object_array} | as_json_string }}
| Type de données | Exemple de nom de variable | Exemple de valeur |
|---|---|---|
| Valeur booléenne | loyalty_program | true |
| Nombre | credit_score | 740 |
| Chaîne de caractères | product_name | green_tea |
| Tableau | favorite_products | ["wireless_headphones", "smart_homehub", "fitness_tracker_swatch"] |
| Tableau (d’objets) | pet_details | [ |
| Heure (en UTC) | last_purchase_date | 2025-12-25T08:15:30:250-0800 |
| Objet (aplati) | user_profile | { |
Par défaut, le type de données temporelles est en UTC. Si vous utilisez un type de données chaîne de caractères pour stocker une valeur temporelle, vous pouvez définir l’heure dans un fuseau horaire différent, tel que PST.
Par exemple, si vous envoyez un message à un utilisateur la veille de son anniversaire, vous enregistrerez la variable de contexte sous forme de type de données temporelles, car il existe une logique Liquid associée à l’envoi la veille. En revanche, si vous envoyez un message de vœux le jour de Noël (25 décembre), il n’est pas nécessaire de faire référence à l’heure en tant que variable dynamique. Il est donc préférable d’utiliser un type de données chaîne de caractères.
Pour les types de données objet, vous pouvez utiliser la notation par points pour spécifier un chemin dans les données. Par exemple, si votre étape Contexte définit une variable de contexte order_summary avec cette structure :
1
2
3
4
5
{
"shipping": {
"carrier": "overnight"
}
}
Dans un filtre de parcours d’audience ou d’arbre décisionnel, saisissez le chemin comme nom de variable de contexte en utilisant la notation par points (par exemple, order_summary.shipping.carrier). Lorsque le filtre est évalué, Braze résout ce chemin vers la valeur overnight.
En Liquid (par exemple dans une étape Message), utilisez plutôt {{context.${order_summary}.shipping.carrier}}.
Utilisation des variables de contexte
Vous pouvez utiliser les variables de contexte partout où vous utilisez Liquid dans un Canvas, par exemple dans les étapes Message et Mise à jour utilisateur, en sélectionnant Ajouter une personnalisation. Pour les messages in-app et les bannières dans les étapes Message, vous pouvez sélectionner des variables de contexte pour déterminer quand le message doit expirer.
Par exemple, supposons que vous souhaitiez informer les passagers de leur accès au salon VIP avant leur prochain vol. Ce message ne doit être envoyé qu’aux passagers ayant acheté un billet de première classe. Une variable de contexte est un moyen flexible de suivre cette information.
Les utilisateurs entreront dans le Canvas lorsqu’ils achèteront un billet d’avion. Pour déterminer l’éligibilité à l’accès au salon, nous créerons une variable de contexte appelée lounge_access_granted dans une étape Contexte, puis nous ferons référence à cette variable de contexte dans les étapes suivantes du parcours de l’utilisateur.

Dans cette étape Contexte, nous utiliserons {{custom_attribute.${purchased_flight}}} pour déterminer si le type de vol acheté est first_class.
Ensuite, nous créerons une étape Message pour cibler les utilisateurs pour lesquels {{context.${lounge_access_granted}}} est true. Ce message sera une notification push contenant des informations personnalisées sur le salon. En fonction de cette variable de contexte, les passagers éligibles recevront les messages pertinents avant leur vol.
- Les passagers en première classe recevront : « Profitez d’un accès exclusif au salon VIP ! »
- Les passagers en classe affaires et en classe économique recevront : « Surclassez votre vol pour bénéficier d’un accès exclusif au salon VIP. »

Vous pouvez ajouter des options de délai personnalisées avec les informations de l’étape Contexte, ce qui signifie que vous pouvez sélectionner la variable qui retarde les utilisateurs.
Pour les parcours d’action et les critères de sortie
Vous pouvez comparer les filtres de propriété avec des variables de contexte ou des attributs personnalisés dans les actions de déclenchement suivantes : Réaliser un événement personnalisé et Effectuer un achat. Ces déclencheurs d’action prennent également en charge les filtres de propriétés pour les propriétés de base et les propriétés imbriquées.
- Lors de la comparaison avec les propriétés de base, les comparaisons disponibles correspondront au type de propriété défini par l’événement personnalisé. Par exemple, les propriétés de type chaîne de caractères auront des correspondances exactes ou par expression régulière. Les propriétés booléennes seront vraies ou fausses.
- Lors de la comparaison avec des propriétés imbriquées, les types ne sont pas prédéfinis. Vous pouvez donc sélectionner des comparaisons entre plusieurs types de données pour les booléens, les nombres, les chaînes de caractères, l’heure et le jour de l’année, de manière similaire aux comparaisons pour les attributs personnalisés imbriqués. Si vous sélectionnez un type de données qui ne correspond pas au type de données réel de la propriété imbriquée au moment de la comparaison, l’utilisateur ne correspondra pas au parcours d’action ou aux critères de sortie.
Exemples de parcours d’action
Pour les comparaisons d’attributs personnalisés, la valeur utilisée sera celle de l’attribut personnalisé au moment où l’action est effectuée. Cela signifie qu’un utilisateur ne correspondra pas au groupe du parcours d’action si cet attribut personnalisé n’est pas renseigné au moment de la comparaison, ou si sa valeur ne correspond pas aux comparaisons de propriétés définies. Cela s’applique même si l’utilisateur aurait correspondu au moment de son entrée dans l’étape du parcours d’action.
Le parcours d’action suivant est configuré pour trier les utilisateurs qui ont effectué l’événement personnalisé Account_Created avec la propriété de base source vers la variable de contexte app_source_variable.

Le parcours d’action suivant est configuré pour faire correspondre la propriété de base brand pour le nom de produit spécifique shoes à une variable de contexte promoted_shoe_brand.

Exemples de critères de sortie
Les critères de sortie stipulent qu’à tout moment du parcours d’un utilisateur dans le Canvas, celui-ci quittera le Canvas si :
- Il effectue l’événement personnalisé Abandon du panier, et
- La propriété de base Article dans le panier correspond à la valeur de chaîne de caractères de la variable de contexte
cart_item_threshold.

Les critères de sortie stipulent qu’à tout moment du parcours d’un utilisateur dans le Canvas, celui-ci quittera le Canvas si :
- Il effectue un achat spécifique pour le nom de produit « book », et
- La propriété imbriquée « loyalty_program » de cet achat est identique à l’attribut personnalisé « VIP » de l’utilisateur.

Définir une expiration
Pour les bannières et les messages in-app dans une étape Message d’un Canvas, sélectionnez Une durée après la disponibilité de l’étape pour l’expiration, puis activez Personnaliser la durée pour piloter la fenêtre de disponibilité à partir d’une variable de contexte — par exemple, pour correspondre à la durée d’une promotion ou d’une réservation définie dans une étape Contexte.
Personnaliser la durée s’applique à cette option d’expiration basée sur la durée. Si vous choisissez plutôt À une date et une heure spécifiques, définissez l’expiration à l’aide des contrôles de date et d’heure.
Délais des parcours d’action
Dans une étape Parcours d’action, sous Fenêtre d’évaluation, activez Personnaliser le délai pour définir la durée pendant laquelle les utilisateurs sont retenus dans l’étape à partir d’une variable de contexte. Utilisez cette option lorsque la période d’attente doit varier selon l’utilisateur en fonction de détails tels que le niveau ou la région.
Filtres de variables de contexte
Vous pouvez créer des filtres qui utilisent des variables de contexte précédemment déclarées dans les étapes Parcours d’audience et Arbre décisionnel.
Les filtres de variables de contexte sont uniquement disponibles pour les étapes Parcours d’audience et Arbre décisionnel.
Les variables de contexte sont déclarées et accessibles uniquement dans le cadre d’un Canvas, ce qui signifie qu’elles ne peuvent pas être référencées dans les segments. Les filtres de variables de contexte fonctionnent de manière similaire dans les étapes Parcours d’audience et Arbre décisionnel : les étapes Parcours d’audience représentent plusieurs groupes, tandis que les étapes Arbre décisionnel représentent des décisions binaires.

Tout comme les variables de contexte du Canvas ont des types prédéfinis, les comparaisons entre les variables de contexte et les valeurs statiques doivent avoir des types de données correspondants. Le filtre de variable de contexte permet d’effectuer des comparaisons entre plusieurs types de données pour les booléens, les nombres, les chaînes de caractères, l’heure et le jour de l’année, de manière similaire aux comparaisons pour les attributs personnalisés imbriqués.
Utilisez le même type de données pour votre variable de contexte et votre comparaison. Par exemple, si votre variable de contexte est de type temporel, utilisez des comparaisons temporelles (telles que « avant » ou « après »). L’utilisation de types de données incompatibles (tels que des comparaisons de chaînes de caractères avec une variable de contexte temporelle) peut entraîner un comportement inattendu.
Choix entre les types de filtre « Jour de l’année » et « Heure » : lorsque vous filtrez des variables de contexte contenant des dates, sélectionnez le type de comparaison approprié selon que la date se répète chaque année ou non :
- Utilisez « Jour de l’année » lorsque la date se répète chaque année (par exemple, les anniversaires, les dates commémoratives ou les fêtes comme Noël). Ce type de comparaison se base sur le jour de l’année (1-365/366), sans tenir compte de l’année.
- Utilisez « Heure » lorsque la date est absolue et ne se répète pas (par exemple, les dates de fin de contrat, les dates de rendez-vous ou les dates de renouvellement d’abonnement). Ce type de comparaison se base sur l’horodatage complet, année incluse.
L’utilisation de « Jour de l’année » pour des dates absolues peut produire des résultats incorrects ou inattendus, car le calcul ignore la composante année. Par exemple, si vous comparez une date de fin de contrat en avril pour déterminer si elle se situe dans les 63 prochains jours, « Jour de l’année » peut générer des correspondances erronées, car seuls les numéros de jour sont comparés (119 contre 359) sans tenir compte du fait qu’avril est en réalité dans 188 jours.
Règle générale : cette date se répète-t-elle chaque année ? Oui → Utilisez « Jour de l’année ». Non → Utilisez « Heure ».
Voici un exemple de filtre de variable de contexte comparant la variable de contexte product_name à l’expression régulière /braze/.

Comparaison avec des variables de contexte ou des attributs personnalisés
En activant le bouton Comparer à une variable de contexte ou à un attribut personnalisé, vous pouvez créer des filtres de variables de contexte qui comparent avec des variables de contexte ou des attributs personnalisés de l’utilisateur préalablement définis. Cela peut être utile pour effectuer des comparaisons dynamiques par utilisateur, comme celles déclenchées par une API context, ou pour condenser une logique de comparaison complexe définie à travers des variables de contexte.
Supposons que vous souhaitiez envoyer un rappel personnalisé aux utilisateurs après une période d’inactivité dynamique : toute personne qui ne s’est pas connectée à votre application au cours des trois derniers jours devrait recevoir un message.
Vous disposez d’une variable de contexte re_engagement_date définie comme {{now | minus: 3 | append: ' days'}}. Notez que 3 days peut être un montant variable également stocké en tant qu’attribut personnalisé de l’utilisateur. Ainsi, si re_engagement_date est postérieur à last_login_date (enregistré en tant qu’attribut personnalisé dans le profil utilisateur), un message leur sera envoyé.

Le filtre suivant compare la variable de contexte reminder_date pour qu’elle soit antérieure à la variable de contexte appointment_deadline. Cela peut aider à regrouper les utilisateurs dans une étape Parcours d’audience pour déterminer s’ils doivent recevoir des rappels supplémentaires avant la date limite de leur rendez-vous.

Standardisation de la cohérence des fuseaux horaires
Bien que la plupart des propriétés d’événement utilisant le type d’horodatage soient déjà en UTC dans Canvas, il existe quelques exceptions. Avec l’ajout de Canvas Context, toutes les propriétés d’événement d’horodatage par défaut dans les Canvas basés sur les actions seront systématiquement en UTC. Ce changement s’inscrit dans le cadre d’une initiative plus large visant à garantir une expérience plus prévisible et cohérente lors de la modification des étapes du Canvas et des messages. Notez que cette modification affectera tous les Canvas basés sur des actions, que le Canvas en question utilise ou non une étape Contexte.
Dans tous les cas, nous recommandons fortement d’utiliser les filtres Liquid time_zone pour que les horodatages soient représentés dans le fuseau horaire souhaité. Vous pouvez consulter cette question fréquemment posée dans l’article sur l’étape Contexte pour obtenir un exemple.
Modifier cette page sur GitHub