Personnaliser vos emails avec des conditions « IF »

Dans cet article, nous vous expliquons comment personnaliser vos emails avec des conditions if

❗️ Important
Cet article concerne l’utilisation avancée de l’affichage conditionnel. Vous pouvez aussi utiliser la fonctionnalité Conditions d’affichage/Visibilité du bloc intégrée à la plateforme et les conditions de personnalisation avancée

Que sont les conditions if ?

Les conditions if correspondent à la structure utilisée par l’intermédiaire des fonctionnalités Conditions d’affichage et Visibilité du bloc dans les éditeurs Drag & Drop. Elles permettent d’afficher ou de masquer des blocs en fonction des attributs de contacts, des paramètres transactionnels ou des listes dynamiques.

Les conditions if consistent en une logique puissante qui vous permet d’ajouter ou de supprimer des blocs entiers de contenu dans une campagne d’emails ou un template, ou de modifier des contenus particuliers à l’intérieur d’un bloc, en fonction des conditions définies. Deux possibilités s’offrent à vous pour utiliser les conditions if :

  • Vous pouvez appliquer rapidement et facilement des conditions if à des blocs de contenus individuels dans l’éditeur Drag & Drop (classique) à l’aide de la fonctionnalité intégrée Conditions d’affichage
    mceclip0.png

  • Les instructions if personnalisées peuvent être créées et placées directement dans le contenu de votre campagne d’emails ou de votre template.
    Capture_d_e_cran_2021-07-20_a__12.10.55.png

L’utilisation efficace de conditions if accroît l’utilité d’un email spécifique en y intégrant plusieurs scénarios. Elle permet ainsi de définir plusieurs ensembles de contenus ou blocs de texte en fonction :

  • des attributs appliqués dans votre liste de contacts ;
  • des paramètres de votre requête API.

Utilisations fréquentes des conditions if 

Il existe d’innombrables façons d’utiliser des conditions if pour personnaliser le contenu de vos emails. Voici certaines des utilisations les plus fréquentes : 

  1. Formules de politesse au début d’un email, par exemple Bonjour M. Girard, Bonjour Mme Martin ou simplement Bonjour pour les contacts dont le sexe ou le nom ne figure pas dans vos données.
  2. Produits ou images promotionnelles, par exemple une image d’un mannequin portant le même style vestimentaire ou la même taille que le destinataire, ou une image d’un article de sa couleur préférée.
    If_conditions_email-2_EN.png  If_conditions_email-1.png
  3. Messages promotionnels, par exemple une offre marketing ajoutée à vos emails transactionnels en fonction des achats réalisés ou d’autres attributs du destinataire.
    If_conditions_email-3_EN.png  Email_3.png

Structure d’une instruction if

💡 Bon à savoir
Nous ne recommandons pas d’appliquer des conditions if pour les variables contenant des valeurs « flottantes », car elles pourraient produire des résultats inexacts. Cependant, vous pouvez les utiliser si la valeur est exécutée en tant que chaîne de caractères (contenue entre guillemets "comme ceci").

Principales règles à suivre

Voici quelques règles à suivre lorsque vous créez vos propres instructions if :

  • Une instruction if commence toujours par une balise if comprenant une condition : {% if ... %}
  • Si besoin, l’instruction if peut contenir des conditions alternatives qui seront traitées de manière séquentielle. Ces conditions alternatives commencent par : {% elif ... %}
  • Il est aussi possible d’ajouter, juste avant la fin de l’instruction if, une clause globale incluant toutes les autres possibilités, comme ceci : {% else %}
  • Une instruction if se termine toujours par : {% endif %}

Structures fréquentes de l’instruction if

Voici quelques structures fréquentes de l’instruction if :

if

Vérifie si une valeur est vraie ou si un tableau n’est pas vide

{% if contact.ACTIVE %}
Félicitations ! Vous avez atteint votre objectif du mois.
{% endif %}

---

{% if params.conseillers %}

{% for conseiller in params.conseillers %}
Les conseillers suivants sont disponibles pour vous aider :
<ol>
<li>{{ conseiller.nom }}</li>
{% endfor %}
</ol>
{% endif %}

==

Vérifie si une expression est vraie

{% if coupon == "BIENVENUE" %}
<p>Bienvenue dans notre liste ! Voici votre premier coupon de réduction : BIENVENUE25</p>
{% endif %} 

---

{% if contact.DONNEUR == true %}
<b>Merci pour votre soutien !</b>
{% endif %}

if, in

Vérifie si une valeur (sous-chaîne) existe à l’intérieur d’une chaîne ou si une variable existe à l’intérieur d’un tableau

{% if "@exemple.com" in "bob@exemple.com" %}
Ce message s’affiche, puisque « @exemple.com » est une sous-chaîne de « bob@exemple.com ».
{% endif %}

---

{% if "Piano" in params.types %}
Attention ! Votre commande contient des articles lourds. Vous devez être présent pour la réceptionner.
{% endif %}

not

Vérifie si une valeur est fausse

{% if not utilisateur.inscrit %}
   <p>Vous n’êtes pas inscrit à nos alertes de promotions secrètes. Inscrivez-vous ici.</p>
{% endif %}

and / or

Évalue plusieurs conditions

{% if temperature > 10 and temperature < 55 %}
   <p>Gla-gla ! Il fait froid ! Voici un coupon de réduction de 20 % valable aujourd’hui uniquement pour n’importe quelle boisson chaude.</p>
{% endif %}

---

{% if contact.LANG == "FR" and contact.PAYS == "Canada" %}
{% endif %}

---

{% if contact.PAYS == "États-Unis" or contact.PAYS == "Canada" %}
{% endif %}

elif, else

Évalue plusieurs branches

 Bonjour {% if contact.SEXE == "Homme" %} M. {{ contact.NOM }},
{% elif contact.SEXE == "Femme" %} Mme {{ contact.NOM }},
{% else %}, {% endif %} 

--- 

{% if evenement.paye %}
   Votre place a été réservée. Merci pour votre paiement.
{% elif evenement.inscrit %}
   Votre place est réservée, mais votre réservation sera annulée si vous n’effectuez pas le paiement d’ici le 2 janvier.
{% else %}
   Il est encore temps de vous inscrire ! Cliquez ici.
{% endif %}

 

 

 

 

 

Comprendre le fonctionnement des instructions if

💡 Bon à savoir
Si cette section vous paraît trop technique, nous vous recommandons de passer directement à la section Exemples pratiques de cet article.

La condition if est définie dans les balises {% if ... %} et {% elif ... %}Lors du traitement de votre instruction if, le système évalue la condition, puis :

  • si la condition est réalisée, la ligne suivante s’affiche, s’il s’agit d’une ligne de texte (il peut aussi s’agir d’une ligne de code, car vous pouvez utiliser notre langage de tempate pour réaliser une opération à l’intérieur de l’instruction if, auquel cas la ligne de code sera exécutée).
  • si la condition n’est pas réalisée, la ligne suivante est ignorée et le système évalue la condition {% elif ... %} suivante (le cas échéant) ou passe à la clause globale {% else %} (le cas échéant également). Dans les autres cas, le système atteint la balise {% endif %} et rien d’autre ne se produit dans le cadre de cette instruction if.

Lorsqu’une condition est réalisée, le système ignore les éventuelles conditions {% elif ... %} restantes ou la clause globale {% else %}. Cela signifie que vous devez parfois réfléchir à l’ordre de conditions le plus approprié à l’intérieur de l’instruction if (dans certaines situations, l’ordre n’a pas d’importance).

Créer vos propres conditions if

Pour faire correspondre un texte (aussi appelé « chaîne ») dans le cas d’un attribut « Texte », vous pouvez utiliser : {% if contact.GENDER == "Male" %}. Avec cette condition, la ligne suivante de l’instruction est traitée uniquement si l’attribut contact.GENDER est égal à « Male ».

Si vous souhaitez évaluer si un attribut contient une valeur, seul le nom de l’attribut doit être placé dans la condition, sans instruction logique supplémentaire. Par exemple, pour {% if contact.FIRSTNAME %}, si des données figurent dans l’attribut contact.FIRSTNAME, la ligne suivante de l’instruction sera traitée, tandis que si l’attribut contact.FIRSTNAME est vide, la ligne suivante sera ignorée.

Cette méthode peut également être utilisée dans le cas d’attributs « booléens ». La condition {% if contact.IS_REGISTERED %} sera réalisée si contact.IS_REGISTERED est un attribut « booléen » défini sur « True ». Si cet attribut est défini sur « False » ou ne contient aucune valeur, la condition ne sera pas réalisée.

Exemples pratiques

Voici quelques exemples pratiques basés sur les instructions if les plus couramment utilisées.

Utiliser une instruction if pour afficher du texte supplémentaire pour certains contacts uniquement

Supposons, par exemple, que votre liste de contacts comprenne un attribut « booléen » appelé « MEMBER », défini sur « True » si le contact a acheté un abonnement. Vous souhaiterez peut-être ajouter un message supplémentaire pour ces contacts. Pour ce faire, vous pouvez utiliser l’instruction if suivante :  

{% if contact.MEMBER %}
Merci d’avoir renouvelé votre abonnement !
{% endif %}

Afficher une formule de politesse personnalisée lorsque le nom du contact est connu, et une formule générique dans le cas contraire

Ceci peut s’avérer utile si vous souhaitez inclure une formule de politesse telle que « Bonjour {{ contact.FIRSTNAME }} » au début de votre email. Cependant, l’attribut FIRSTNAME ne contient pas forcément de données pour tous vos contacts.

{% if contact.FIRSTNAME %}
Bonjour {{ contact.FIRSTNAME }},
{% else %}
Cher client,
{% endif %}

Afficher une civilité en fonction du sexe du contact, et une formule générique dans le cas contraire

En plus d’utiliser des conditions if pour vérifier les valeurs « True » ou simplement les valeurs existantes, vous pouvez aussi vérifier les valeurs « False » ou évaluer plusieurs conditions ou plusieurs branches. 

Comme pour l’exemple de personnalisation des formules de politesse, vous pouvez afficher trois formules différentes selon si l’attribut GENDER de votre contact est défini sur « Male » ou « Female » ou est vide. Dans ce cas, vous pouvez utiliser les balises {% elif %} pour ajouter du contenu alternatif lorsque la valeur de GENDER est « Female » et {% else %} pour ajouter une solution de remplacement dans les autres cas :

Bonjour {% if contact.GENDER == "Male" %} M. {{ contact.LASTNAME }}, 
{% elif contact.GENDER == "Female" %} Mme {{ contact.LASTNAME }},
{% else %}, {% endif %}

⏩ Et après ?

Bien que ces exemples se concentrent sur la structuration des conditions if avec les attributs de contact, vous pouvez également appliquer ces conditions aux attributs de contact, aux paramètres transactionnels et aux blocs répétables dans les éditeurs Drag & Drop (classique et nouveau) :