
Personnaliser vos designs avec la nouvelle syntaxe Liquid
-
#1 - Ajouter des liens de miroir et de désabonnement
Lien miroir = {{ mirror_page_url }}
Exemple : Voir ici la version en ligne (derrière ici, il faut placer la variable {{ mirror_page_url }} )
Lien de désabonnement = {{ unsubscription_form_url }}
Exemple : Si vous ne souhaitez plus recevoir nos emails, vous pouvez vous désabonner ici (derrière ici, il faut placer la variable {{ unsubscription_form_url }} )
-
#2 - Utiliser un bloc conditionnel et reformater le contenu
Inclure un message de bienvenue personnalisé avec le prénom du contact
{% if contact.firstname != "" %}
Bonjour {{ contact.firstname }},
Bienvenue parmi nous ! Nous sommes ravis de vous avoir.
{% else %}Bonjour,
Bienvenue parmi nous !
{% endif %}
Mettre en capitales une variable de personnalisation. Ci-dessous un exemple avec le prénom :
{% if contact.firstname != "" %}
Bonjour {{ contact.firstname | capitalize }},
Bienvenue parmi nous ! Nous sommes ravis de vous avoir.
{% else %}
Bonjour,
Bienvenue parmi nous !
{% endif %}
Mettre au format noms propres une variable de personnalisation. Ci-dessous un exemple avec le prénom :
{% if contact.firstname != "" %}
Bonjour {{ contact.firstname | downcase | capitalize }},
Bienvenue parmi nous ! Nous sommes ravis de vous avoir.
{% else %}
Bonjour,
Bienvenue parmi nous !
{% endif %}
-
#3 - Adapter le message en fonction de la langue du contact
Créer un bloc personnalisé différent selon la langue du contact
{% if contact.language == "fr" %}
Profitez de nos offres spéciales en France !
{% elsif contact.language == "es" %}
¡Disfruta de nuestras ofertas especiales en España!
{% else %}
Discover our special offers worldwide!
{% endif %}
Distinguer les contacts vivant à Paris et celles résidant dans le reste de la France
Option 1
{% if contact.language == "fr" %}
{% if contact.custom_fields["city"] == "Paris" %}
Profitez de nos offres spéciales à Paris !
{% else %}
Profitez de nos offres spéciales en France !
{% endif %}
{% elsif contact.language == "es" %}
¡Disfruta de nuestras ofertas especiales en España!
{% else %}
Discover our special offers worldwide!
{% endif %}
Option 2
{% if contact.language == "fr" and contact.custom_fields["city"] == "Paris" %}
Profitez de nos offres spéciales à Paris !
{% elsif contact.language == "fr" and contact.custom_fields["city"] != "Paris" %}
Profitez de nos offres spéciales en France !
{% elsif contact.language == "es" %}
¡Disfruta de nuestras ofertas especiales en España!
{% else %}
Discover our special offers worldwide!
{% endif %}
-
#4 - Adapter le message en fonction du genre du contact
Créer une personnalisation basée sur le genre et personnaliser avec le prénom du contact
{% if contact.custom_fields["gender"] == "female" %}
Chère {{ contact.firstname }}, profitez de nos offres exclusives pour vous !
{% elsif contact.custom_fields["gender"] == "male" %}
Cher {{ contact.firstname }}, voici des promotions qui pourraient vous intéresser !
{% else %}
Bonjour {{ contact.firstname }}, découvrez nos dernières nouveautés !
{% endif %}
Reformater tous ces prénoms au format majuscules
{% if contact.custom_fields["gender"] == "female" %}
Chère {{ contact.firstname | upcase }}, profitez de nos offres exclusives pour vous !
{% elsif contact.custom_fields["gender"] == "male" %}
Cher {{ contact.firstname | upcase }}, voici des promotions qui pourraient vous intéresser !
{% else %}
Bonjour {{ contact.firstname | upcase }}, découvrez nos dernières nouveautés !
{% endif %}
-
#5 - Afficher des dates
Date complète d’aujourd’hui : {{ "now" | date: "%Y-%m-%d" }}
Afficher le jour en premier, puis le mois, et enfin l'année
Date complète d’aujourd’hui au format DD-MM-YYYY : {{ "now" | date: "%d-%m-%Y" }}
Ajouter le jour de la semaine et le mois en cours de manière dynamique
Jour de la semaine : {{ "now" | date: "%A" }}
Mois en cours : {{ "now" | date: "%B" }}
Date complète d’aujourd’hui au format DD-MM-YYYY avec le jour de la semaine et le mois en cours à la place du MM : {{ "now" | date: "%A %d-%B-%Y" }}
Supprimer les traits d'union et afficher les jours, mois et année dans la langue de mes contacts
Exemple pour les clients français
Date complète d’aujourd’hui au format DD-MM-YYYY avec le jour de la semaine et le mois en cours à la place du MM en français : {{ "now" | date: "%A %d %B %Y" | replace: "Monday", "Lundi" | replace: "Tuesday", "Mardi" | replace: "Wednesday", "Mercredi" | replace: "Thursday", "Jeudi" | replace: "Friday", "Vendredi" | replace: "Saturday", "Samedi" | replace: "Sunday", "Dimanche" | replace: "January", "janvier" | replace: "February", "février" | replace: "March", "mars" | replace: "April", "avril" | replace: "May", "mai" | replace: "June", "juin" | replace: "July", "juillet" | replace: "August", "août" | replace: "September", "septembre" | replace: "October", "octobre" | replace: "November", "novembre" | replace: "December", "décembre" }}
Exemple pour les clients espagnols
Date complète d’aujourd’hui au format DD-MM-YYYY avec le jour de la semaine et le mois en cours à la place du MM en espagnol : {{ "now" | date: "%A %d %B %Y" | replace: "Monday", "Lunes" | replace: "Tuesday", "Martes" | replace: "Wednesday", "Miércoles" | replace: "Thursday", "Jueves" | replace: "Friday", "Viernes" | replace: "Saturday", "Sábado" | replace: "Sunday", "Domingo" | replace: "January", "enero" | replace: "February", "febrero" | replace: "March", "marzo" | replace: "April", "abril" | replace: "May", "mayo" | replace: "June", "junio" | replace: "July", "julio" | replace: "August", "agosto" | replace: "September", "septiembre" | replace: "October", "octubre" | replace: "November", "noviembre" | replace: "December", "diciembre" }}
Exemple pour les clients italiens
Date complète d’aujourd’hui au format DD-MM-YYYY avec le jour de la semaine et le mois en cours à la place du MM en italien : {{ "now" | date: "%A %d %B %Y" | replace: "Monday", "Lunedì" | replace: "Tuesday", "Martedì" | replace: "Wednesday", "Mercoledì" | replace: "Thursday", "Giovedì" | replace: "Friday", "Venerdì" | replace: "Saturday", "Sabato" | replace: "Sunday", "Domenica" | replace: "January", "gennaio" | replace: "February", "febbraio" | replace: "March", "marzo" | replace: "April", "aprile" | replace: "May", "maggio" | replace: "June", "giugno" | replace: "July", "luglio" | replace: "August", "agosto" | replace: "September", "settembre" | replace: "October", "ottobre" | replace: "November", "novembre" | replace: "December", "dicembre" }}
Afficher uniquement le jour de la semaine (et non le mois)
Date complète d’aujourd’hui au format DD-MM-YYYY avec le jour de la semaine en français : {{ "now" | date: "%A, %d-%m-%Y" | replace: "Monday", "Lundi" | replace: "Tuesday", "Mardi" | replace: "Wednesday", "Mercredi" | replace: "Thursday", "Jeudi" | replace: "Friday", "Vendredi" | replace: "Saturday", "Samedi" | replace: "Sunday", "Dimanche" }}
Afficher une date au format JJ-MM-YYY même si celle-ci a été stockée sous un autre format
{{contact.custom_fields['champs'] | date: "%d-%m-%Y" }}
Attention : cette transformation de format fonctionne aussi bien si le champs est au format date que texte.
-
#6 - Intégrer des variables calculées automatiquement
Exemple 1 : le montant restant à atteindre pour bénéficier d'une livraison offerte dans le cadre d'un panier abandonné
Hello {{ contact.firstname }}, tu y es presque ;) Encore {{ 20 | minus: order.total_price }} euros pour profiter de la livraison gratuite.
Arrondir un nombre à l’excès : {{ 123.4567 | ceil }}r
Arrondir un nombre à l’inférieur : {{ 123.4567 | floor }}
Arrondir au nombre le plus proche : {{ 123.4567 | round }}
Attention : 123.5 est toujours arrondi à l’excès
Exemple 2 : vous souhaitez formater le prix d’une commande en remplaçant le "." par une "," et en affichant toujours deux chiffres après la virgule
{% assign parts = order.total_price | split: "." %}{% assign decimal = parts[1] | append: "00" | slice: 0, 2 %}{{ parts[0] }},{{ decimal }} €
-
#7 - Ajouter une boucle post-achat (ou panier abandonné) avec l'image et les informations du produit
Créer une boucle pour afficher tous les produits du panier ou de l'achat avec les informations de son choix (prix, image, nom...). Exemple en utilisant le Message Builder :

Syntaxe à utiliser en utilisant directement Liquid :
{% for orderline in order.orderlines %}
Product : {{orderline.product.name}}
Product : {{orderline.product.external_id}}
Quantity : {{orderline.quantity}}
{% endfor %}
Attention : les boucles sont basées sur les lignes de ticket, donc la variable à utiliser n'est pas celle du tableau des produits, à savoir {{orderline.product.name}} et non {{product.name}}.
NB : la variable à placer derrière l’image pour faire apparaître l’image dynamique de chaque produit est : {{orderline.product.img_url}}
-
#8 - Modifier l'affichage d'une boucle de personnalisation
Afficher par exemple les produits en mode horizontal et non vertical
Pour cela, il suffit de créer 3 colonnes :

Première colonne = {% for orderline in order.orderlines limit:3 %} + Image + Product name : {{orderline.product.name}} + Product price : {{orderline.product.price}} €
Deuxième colonne = {% endfor %}
Troisième colonne = laisser vide

Attention : Pour éviter tout décalage dans l'affichage des noms de produits, il est essentiel de définir une limite maximale de caractères pour le nom des champs à afficher et d’utiliser toujours des images avec la même taille.
-
#9 - Créer une boucle de produits à partir d'un champs personnalisé de la table contacts
Par exemple pour une campagne de back in stock pour personnaliser le design en fonction des préférences de chaque contact
{% create_products_list products_list=contact.custom_fields['city'] %}{% for product in products_list %}
{{product.name}}
{{product.price}} €
{% endfor %}
Attention : dans ce cas, c'est la table des produits qu'il faut utiliser après avoir créé la liste. Toutes les variables feront donc référence à cette table.
NB : la variable à placer derrière l’image pour faire apparaître l’image dynamique de chaque produit est : {{product.img_url}}
-
#10 - Créer une boucle de produits recommandés à partir d'un champs personnalisé de la table produits
Par exemple, afficher une liste de produits recommandés depuis un champs personnalisé de la table produit pour les afficher dans une campagne post-achat.

{% for orderline in order.orderlines limit:1 %}
{% create_products_list products_list=orderline.product.custom_fields['splio_product_recommendation_1'] %}{% for product in products_list %}
{{product.name}}
{{product.price}} €
{% endfor %}
{% endfor %}
-
#11 - Créer une boucle produits à partir des external IDs de certains articles
Personnaliser un design en affichant des produits par défaut dans une campagne

{% create_products_list products_list='splio01,splio02,splio03' %}
{% for product in products_list %}
{{product.name}} {{product.price}} €
{% endfor %}
-
#12 - Ajouter la personnalisation magasin
Personnaliser une campagne post-achat en fonction du magasin où l'achat a été effectué pour rappeler par exemple ses horaires d'ouverture
{% if order.store.external_id == "physique" %}
Merci de votre achat dans le magasin {{order.store.name}}.
Voici les horaires d'ouverture de votre magasin préféré : {{order.store.custom_fields['horaires']}}
{% endif %}

-
#13 - Personnaliser automatiquement vos variables UTM
Pour personnaliser dynamiquement vos variables UTM, vous pouvez utiliser les variables suivantes :
{{campaign_name}} pour afficher le nom de la campagne
{{campaign_id}} pour afficher l'ID de la campagne
-

