contenu conditionnel instruction if si condition afficher ou masquer le contenu conditions liquides sinon si sinon sauf cas quand logique de personnalisation texte conditionnel contenu dynamique

Comment utiliser des conditions pour afficher ou masquer du contenu ?

SecureMailMerge utilise la templating Liquid, donc tu peux entourer des blocs de ton sujet ou corps avec les balises {% if %} … {% endif %} pour les afficher ou les cacher en fonction des valeurs des colonnes d’un destinataire. Combine les conditions avec des opérateurs de comparaison, des branches else/elsif, et le mot-clé contains pour un contrôle total.

SecureMailMerge personnalise tes emails avec le templating Liquid. En plus des tokens simples comme {{FirstName}}, tu peux utiliser des conditions pour afficher, cacher ou modifier des blocs de contenu en fonction des données de chaque destinataire.

Les conditions fonctionnent à la fois dans la subject line (ligne d’objet) et dans le email body (corps de l’email).

Basic if / endif

Entoure le contenu que tu veux rendre optionnel entre une balise d’ouverture {% if %} et une balise de fermeture {% endif %}. La condition est vérifiée par rapport à la valeur dans la colonne nommée pour chaque destinataire.

{% if Country == "Germany" %}
  Versand erfolgt aus unserem Lager in Berlin.
{% endif %}

Le bloc est inclus uniquement pour les destinataires dont la colonne Country est égale à Germany. Tous les autres ne voient rien à sa place.

Les valeurs de type chaîne doivent être entourées de guillemets ("Germany" ou 'Germany'). Les nombres s’écrivent sans guillemets.

La casse, les espaces et les guillemets typographiques n’ont pas d’importance

Les conditions sont tolérantes, donc de petites différences entre ton modèle et ta feuille de calcul ne vont pas empêcher une condition de correspondre :

  • Les noms de colonnes ne tiennent pas compte de la casse. {% if new == "TRUE" %} correspond à une colonne intitulée New, NEW ou new. Tu n’as pas besoin de respecter la casse exacte de ton en-tête.
  • Les comparaisons de texte ignorent la casse et les espaces autour. Une condition comme {% if New == "TRUE" %} correspond à une cellule contenant TRUE, true, ou même True. Les valeurs sont comparées sans tenir compte de la casse ni des espaces avant et après.
  • Les guillemets droits et courbes sont traités de la même façon. Si ton éditeur convertit automatiquement tes guillemets droits ("TRUE") en guillemets typographiques “smart” (“TRUE”), la condition fonctionne quand même.
{% if new == "TRUE" %}
  Welcome aboard! Here's what to do first.
{% endif %}

L’exemple ci-dessus correspond que ta colonne s’appelle New ou new, et que la cellule indique TRUE, true ou True.

Ajouter une branche else

Utilise {% else %} pour fournir un contenu alternatif lorsque la condition est fausse.

{% if Plan == "Premium" %}
  Thanks for being a Premium customer, your priority support line is +1 555 0100.
{% else %}
  Need a hand? Reply to this email and we'll help out.
{% endif %}

Plusieurs branches avec elsif

Enchaîne plusieurs conditions avec {% elsif %}. La première branche correspondante gagne.

{% if Tier == "Gold" %}
  You've unlocked our Gold benefits.
{% elsif Tier == "Silver" %}
  You're on the Silver plan.
{% else %}
  Welcome aboard!
{% endif %}

Opérateurs de comparaison

Tu peux comparer les valeurs des colonnes avec n’importe lequel de ces opérateurs :

OperatorSignification
==égal à
!=différent de
>supérieur à
<inférieur à
>=supérieur ou égal à
<=inférieur ou égal à
{% if OrderTotal >= 100 %}
  You qualify for free shipping!
{% endif %}

Combiner des conditions avec and / or

Utilise and et or pour tester plusieurs colonnes en même temps.

{% if Country == "USA" and Plan == "Premium" %}
  Your US Premium perks are active.
{% endif %}

Vérifier si une cellule contient une valeur

En Liquid, une cellule vide est toujours “truthy”, donc {% if Notes %} n’est pas une méthode fiable pour vérifier la présence d’une valeur. Utilise plutôt blank, qui correspond aux cellules vides et aux cellules ne contenant que des espaces :

{% if Notes != blank %}
  A note from your account manager: {{Notes}}
{% endif %}

Pour faire l’inverse, afficher le contenu uniquement quand une cellule est vide, inverse la comparaison :

{% if PhoneNumber == blank %}
  We don't have a phone number on file. Reply to add one.
{% endif %}

Noms de colonnes avec espaces

Si l’en-tête de ta colonne contient des espaces (ou d’autres caractères spéciaux), référence-le avec la notation entre crochets, de la même manière que tu le ferais dans un token normal :

{% if ["Account Status"] == "Active" %}
  Your account is in good standing.
{% endif %}

Pour les tokens de fusion simples (en dehors d’une condition), tu peux maintenant aussi écrire directement un en-tête qui contient des espaces, sans les crochets : {{ First Name }} fonctionne de la même façon que {{ ["First Name"] }}.

Faire correspondre une partie d’une valeur avec contains

contains vérifie si une valeur texte inclut une sous-chaîne.

{% if Email contains "@gmail.com" %}
  Tip: add us to your Gmail contacts so we don't land in Promotions.
{% endif %}

Inverser une condition avec unless

{% unless %} est l’opposé de {% if %}, le bloc s’affiche uniquement lorsque la condition est fausse.

{% unless Country == "USA" %}
  International shipping rates apply.
{% endunless %}

Choisir une valeur parmi plusieurs avec case / when

Quand tu as besoin de basculer entre plusieurs valeurs fixes, {% case %} est plus propre qu’une longue chaîne elsif.

{% case Language %}
  {% when "de" %}
    Vielen Dank für Ihre Bestellung!
  {% when "fr" %}
    Merci pour votre commande !
  {% else %}
    Thank you for your order!
{% endcase %}

Conseils

  • Les conditions peuvent englober n’importe quel contenu, texte, liens, images, ou même d’autres tokens.
  • Les espaces et sauts de ligne à l’intérieur des blocs {% if %} sont conservés, alors place tes balises avec soin pour éviter les lignes vides dans l’email final.
  • Tu peux combiner les conditions avec le filtre default value pour un texte de secours, et avec le filtre date formatting pour les dates.
  • Pense toujours à fermer chaque balise : {% if %} nécessite {% endif %}, {% unless %} nécessite {% endunless %}, et {% case %} nécessite {% endcase %}. Une balise de fermeture manquante provoque une liquid syntax error.

Ready to try SecureMailMerge yourself?

SecureMailMerge for Outlook

Runs inside Outlook, with no external app needed.

Windows Mac Web New Outlook
Try Free in Outlook

Free version, no credit card. A license removes the promotional footer.