Skip to content

Cours 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!

Valeurs acceptées pour la substitution

Les valeurs suivantes peuvent être remplacées par un message, selon leur disponibilité :

Vous pouvez également extraire du contenu directement d’un serveur web grâce au contenu connecté de Braze.

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 :

  1. 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 !
  2. 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 !
  3. Les déclarations sont présentées par paires : Pour chaque if, vous avez besoin d’un endif pour indiquer que l’énoncé if a pris fin.
  4. Les noms de variables doivent utiliser des caractères ASCII : Les noms de variables liquides (créés avecassign ou capture) 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.${...} ou event_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.

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} %}

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 Ajouter une personnalisation qui apparaît après avoir sélectionné Insérer une personnalisation. La fenêtre modale comporte des champs pour le type de personnalisation, l'attribut, la valeur par défaut facultative et affiche un aperçu de la syntaxe Liquid.

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é.

GIF de la fenêtre modale « Ajouter une personnalisation » montrant l'utilisateur saisissant « compagnon de voyage » comme valeur par défaut, et la fenêtre modale remplaçant le texte surligné « nom » dans l'éditeur par l'extrait de code Liquid.

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!
New Stuff!