Braze Learning : Utilisation de Liquid
Cet article explique comment utiliser divers attributs utilisateur pour insérer de manière dynamique des informations personnelles dans vos envois de messages.
Liquid est un langage de modélisation open-source développé par Shopify et écrit en Ruby. Vous pouvez l’utiliser dans Braze pour extraire les données du profil utilisateur dans vos messages et personnaliser ces données. Par exemple, vous pouvez utiliser des étiquettes Liquid pour créer des messages conditionnels, tels que l’envoi d’offres différentes en fonction de la date anniversaire de l’abonnement d’un utilisateur. De plus, les filtres peuvent manipuler les données, par exemple en convertissant la date d’inscription d’un utilisateur d’un horodatage en un format plus lisible, tel que « 15 janvier 2022 ». Pour plus de détails sur la syntaxe Liquid et ses possibilités, reportez-vous à la section Tags de personnalisation pris en charge.
Fonctionnement
Les balises Liquid agissent comme des indicateurs de niveau dans vos messages qui peuvent tirer des informations soumises à consentement sur le compte de votre utilisateur, et permettre la personnalisation et les pratiques de messagerie pertinentes.
Dans le bloc suivant, vous pouvez voir qu’une double utilisation d’une balise Liquid pour appeler le prénom de l’utilisateur, ainsi qu’une balise par défaut si le prénom d’un utilisateur n’est pas enregistré.
1
Hi {{ ${first_name} | default: 'Valued User' }}, thanks for using the App!
Pour un utilisateur nommé Janet Doe, le message s’affiche comme suit :
1
Hi Janet, thanks for using the App!
OU
1
Hi Valued User, thanks for using the App!
Les commentaires HTML (<!-- -->) sont supprimés avant toute lecture de Liquid, de sorte que les étiquettes Liquid contenues dans les commentaires HTML ne s’affichent pas dans votre message. Pour un rendu correct, veuillez vous assurer que toutes les étiquettes Liquid que vous souhaitez utiliser se trouvent en dehors des commentaires HTML.
Valeurs acceptées pour la substitution
Les valeurs suivantes peuvent être remplacées par un message, selon leur disponibilité :
- Informations de base sur l’utilisateur (par exemple,
first_name,last_name,email_address) - Attributs personnalisés
- Propriétés de l’événement personnalisé
- Informations sur les appareils les plus récemment utilisées
- Informations sur l’appareil cible
Vous pouvez également extraire du contenu directement d’un serveur web grâce au contenu connecté de Braze.
Braze prend actuellement en charge Liquid jusqu’à la version Liquid 5 de Shopify.
Utilisation de Liquid
Grâce aux étiquettes Liquid, vous pouvez rehausser la qualité de vos messages en les enrichissant d’une touche de personnalisation.
Syntaxe en Liquid
Liquid suit une structure ou une syntaxe spécifique que vous devrez garder à l’esprit lorsque vous concevez une personnalisation dynamique. Voici quelques règles de base à garder à l’esprit :
- Utilisez des guillemets droits dans Braze : Il existe une différence entre les guillemets frisés (‘’) et les guillemets droits (‘’). Utilisez des guillemets droits (‘’) dans votre liquide dans Braze. Vous pouvez voir des guillemets courbes lorsque vous copiez-collez certains éditeurs de texte, ce qui peut entraîner des problèmes dans votre Liquid. Si vous saisissez des guillemets directement dans le tableau de bord de Braze, cela sera parfait !
- Les parenthèses fonctionnent par deux : Une parenthèse ouverte doit être suivie d’une parenthèse fermée { }. Assurez-vous d’utiliser des parenthèses courbes !
- Les déclarations sont présentées par paires : Pour chaque
if, vous avez besoin d’unendifpour indiquer que l’énoncéifa pris fin. - Les noms de variables doivent utiliser des caractères ASCII : Les noms de variables liquides (créés avec
assignoucapture) ne prennent en charge que les lettres ASCII, les chiffres et les traits de soulignement. Les noms d’attributs de personnalisation Braze (à l’intérieur decustom_attribute.${...}ouevent_properties.${...}) peuvent inclure des caractères non ASCII.
Où utiliser les opérateurs et les filtres
Les opérateurs (tels que ==, !=, >, and, or) et les filtres (tels que | size, | plus) ne peuvent être utilisés que dans des contextes Liquid spécifiques.
| Contexte | Opérateurs | Filtres |
|---|---|---|
assign |
Non pris en charge | Pris en charge |
if, elsif, unless |
Pris en charge | Non pris en charge |
case, when |
Non pris en charge | Non pris en charge |
for |
Non pris en charge | Non pris en charge |
Accès au tableau ([ ]) |
Non pris en charge | Non pris en charge |
Lorsque vous avez besoin d’une valeur filtrée dans un contexte qui ne prend pas en charge les filtres, veuillez d’abord assigner le résultat à une variable.
Utiliser un résultat de filtre dans une condition
Il n’est pas possible d’utiliser un filtre directement dans une instruction conditionnelle. Ceci est incorrect :
1
2
3
{% if my_array | size > 3 %}
You have more than 3 items!
{% endif %}
Veuillez plutôt assigner le résultat du filtre à une variable :
1
2
3
4
{% assign array_size = my_array | size %}
{% if array_size > 3 %}
You have more than 3 items!
{% endif %}
Utiliser un résultat de filtre dans une boucle « for »
Il n’est pas possible d’appliquer un filtre à l’itérable dans uneforboucle. Ceci est incorrect :
1
2
3
{% for item in my_array | reverse %}
{{ item }}
{% endfor %}
Veuillez plutôt attribuer la valeur filtrée à une variable :
1
2
3
4
{% assign reversed = my_array | reverse %}
{% for item in reversed %}
{{ item }}
{% endfor %}
Utiliser un résultat de filtre pour accéder à un tableau
Il n’est pas possible d’utiliser un filtre entre crochets. Ceci est incorrect :
1
{{ my_array[my_var | minus: 1] }}
Veuillez plutôt attribuer d’abord la valeur filtrée :
1
2
{% assign adjusted_index = my_var | minus: 1 %}
{{ my_array[adjusted_index] }}
Enregistrer le résultat d’une comparaison dans une variable
Il n’est pas possible d’utiliser un opérateur dans uneassigninstruction. Ceci est incorrect :
1
2
3
4
{% assign is_vip = total_spend > 100 %}
{% if is_vip %}
Welcome to the VIP lounge!
{% endif %}
Veuillez plutôt utiliser une condition pour définir la variable :
1
2
3
4
5
6
7
8
{% assign is_vip = false %}
{% if total_spend > 100 %}
{% assign is_vip = true %}
{% endif %}
{% if is_vip %}
Welcome to the VIP lounge!
{% endif %}
Attributs par défaut et attributs personnalisés
Si vous incluez le texte suivant dans votre message : {{${first_name}}}, le prénom de l’utilisateur (tiré du profil de l’utilisateur) sera remplacé lorsque le message est envoyé. Vous pouvez utiliser le même format avec d’autres attributs utilisateurs par défaut.
Si vous souhaitez utiliser la valeur d’un attribut personnalisé, il est nécessaire d’ajouter l’espace de noms”custom_attribute”à la variable. Par exemple, pour utiliser un attribut personnalisé nommé « code postal », vous ajoutez {{custom_attribute.${zip code}}} à votre message.
Insertion des balises
Vous pouvez insérer des balises en saisissant deux parenthèses courbes {{ dans n’importe quel message, ceci déclenchera une fonctionnalité d’achèvement automatique qui continuera à être mise à jour lors de votre saisie. Vous pouvez même sélectionner une variable à partir des options qui s’affichent alors que vous saisissez.
Si vous utilisez une balise personnalisée, vous pouvez copier et coller la balise dans le message que vous souhaitez.
Exceptions pour les doubles crochets
Si vous utilisez une étiquette à l’intérieur d’une autre étiquette Liquid, telle que{{ dans n’importe quel message, ceci déclenchera une fonctionnalité d’achèvement automatique qui continuera à être mise à jour lors de votre saisie. Vous pouvez même sélectionner une variable à partir des options qui s’affichent alors que vous saisissez.
Si vous utilisez une balise personnalisée, vous pouvez copier et coller la balise dans le message que vous souhaitez.
Exceptions pour les doubles crochets
Si vous utilisez une étiquette à l’intérieur d’une autre étiquette Liquid, telle que{% assign %}ou {% if %}, vous pouvez utiliser soit des doubles crochets, soit aucun crochet. Ce n’est que lorsque l’étiquette est seule qu’elle doit être placée entre deux crochets. Pour simplifier, vous pouvez toujours utiliser des doubles crochets.
Les tags suivants sont tous corrects :
1
2
3
4
5
{% if custom_attribute.${Number_Game_Attended} == 1 %}
{% if {{custom_attribute.${Number_Game_Attended}}} == 1 %}
{% assign value_one = {{custom_attribute.${one}}} %}
{% assign value_one = custom_attribute.${one} %}
Si vous utilisez Liquid dans vos messages d’e-mail, veuillez vous assurer de :
- l’insérer à l’aide de l’éditeur HTML, plutôt que de l’éditeur classique. L’éditeur classique peut analyser le Liquid comme du texte brut. Par exemple, le Liquid serait analysé comme suit
Hi {{ ${first_name} }}, thanks for using our service!: au lieu d’utiliser un modèle dans le prénom de l’utilisateur. - Placez le code Liquid dans la balise
<body>uniquement. Le fait de le placer en dehors de cette balise peut entraîner un rendu irrégulier lors de la livraison.
Insertion de variables préformatées
Vous pouvez insérer des variables préformatées avec des valeurs par défaut dans la fenêtre modale/boîte de dialogue Ajouter une personnalisation située à proximité de n’importe quel champ de texte modèle.

La fenêtre modale insère Liquid avec la valeur par défaut que vous avez spécifiée à l’endroit où se trouvait votre curseur. Le point d’insertion est également indiqué par la zone d’aperçu, qui contient le texte avant et après. Si un bloc de texte est mis en surbrillance, le texte mis en surbrillance sera remplacé.

Attribution des variables
Certaines opérations dans Liquid exigent que vous stockiez la valeur que vous souhaitez manipuler comme variable. C’est souvent le cas si votre énoncé Liquid comprend plusieurs attributs, propriétés de l’événement ou filtres.
Supposons par exemple que vous souhaitiez ajouter deux entiers de données personnalisés.
Exemple incorrect de liquid
Vous ne pouvez pas utiliser :
1
{{custom_attribute.${one}}} | plus: {{custom_attribute.${two}}}
Ce liquid ne fonctionne pas car il n’est pas possible de référencer plusieurs attributs dans une seule ligne ; il est nécessaire d’attribuer une variable à au moins une de ces valeurs avant que les fonctions mathématiques ne puissent être exécutées. L’ajout de deux attributs personnalisés nécessiterait deux lignes de Liquid : l’une pour attribuer l’attribut personnalisé à une variable et l’autre pour l’ajout.
Exemple correct de liquid
Vous pouvez utiliser :
1
2
{% assign value_one = {{custom_attribute.${one}}} %}
{% assign result = value_one | plus: {{custom_attribute.${two}}} %}
Tutoriel : Utiliser des variables pour calculer un solde
Calculons le solde actuel d’un utilisateur en additionnant le solde de sa carte cadeau et le solde de ses récompenses :
Tout d’abord, utilisez la balise assign pour remplacer l’attribut personnalisé de current_rewards_balance par le terme « solde ». Cela signifie que vous avez maintenant une variable intitulée balance que vous pouvez manipuler.
1
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
Ensuite, nous utiliserons le filtre plus pour combiner le solde de la carte cadeau de chaque utilisateur avec son solde de récompenses, signifié par {{balance}}.
1
2
{% assign balance = {{custom_attribute.${current_rewards_balance}}} %}
You have ${{custom_attribute.${giftcard_balance} | plus: {{balance}}}} to spend!
Vous envoyez les mêmes variables dans chaque message ? Au lieu d’écrire la balise assign sans arrêt vous pouvez enregistrer cette balise comme un bloc de contenu et la placer en haut de votre message.
- Créez un bloc de contenu.
- Donnez un nom à votre bloc de contenu (aucun espace ni caractère spécial).
- Sélectionnez Modifier en bas de la page.
- Veuillez saisir vos
assigntags.
Tant que le bloc de contenu est en haut de votre message, chaque fois que la variable est insérée dans votre message comme objet, elle se rapporte à l’attribut personnalisé que vous avez choisi !
Modifier cette page sur GitHub