Le templating Liquid vous permet de créer des messages personnalisés avec une logique avancée, comme afficher un contenu différent en fonction de la localisation du client (e), utiliser un texte de secours lorsque des données sont manquantes, ou formater des dates et des prix de manière dynamique. Utilisez Liquid dans les campagnes Email, SMS et notifications push.
Avant de commencer
Le templating Liquid fonctionne dans les Campagnes et l'Automatisation – Email, SMS et Notifications Push prennent tous en charge les objets et filtres Liquid.
Tester la personnalisation avant l'envoi – Les e-mails de test affichent les balises Liquid brutes (
[[ contact.first_name ]]). UtiliserTest & Prévisualisation dans l'éditeur et sélectionnez un vrai contact pour voir la personnalisation se remplir.Ajoutez toujours des valeurs de fallback – Utilisez
| par défaut : 'texte' pour éviter les espaces vides lorsque les données de contact sont manquantes.Omnisend utilise une syntaxe Liquid modifiée – Remplacez les accolades de Shopify
{{ }} par des crochets carrés[[ ]].
💡Nouveau dans la personnalisation ? Commencez par la personnalisation standard avant d'utiliser Liquid. Liquid est destiné à des cas d'utilisation avancés.
Aperçu : Qu'est-ce que Liquid
Liquid est un langage de template open-source créé par Shopify. Il vous permet d'insérer du contenu dynamique dans les messages à l'aide de trois éléments :
Objets – Variables qui renvoient des données de contact (e) ou de commande (
[[ contact.first_name ]])Balises – Logique et flux de contrôle (
[% if contact.country == 'France' %])Filtres – Modifier la sortie (
[[ contact.first_name | capitalize ]])
Omnisend utilise une version modifiée de Liquid:
Objets : Utilisez
[[ ]] au lieu de{{ }} - Exemple :[[ contact.first_name ]]Balises : Utilisez
[% %] au lieu de{% %} - Exemple :[% if contact.country == 'France' %]
💬 En savoir plus sur Liquid dans la documentation de Shopify et n'oubliez pas de remplacer les accolades par des crochets dans Omnisend.
Objets
Les objets sont des variables qui produisent du contenu dynamique à partir des profils de contact, des commandes ou de vos paramètres de compte. Les objets sont toujours entourés de doubles crochets carrés.
[[ contact.first_name ]]
Groupes d'objets disponibles :
Propriétés de contact :
[[ contact.variable ]] (nom, email, emplacement, propriétés personnalisées)Propriétés du Compte:
[[ account.variable ]] (nom de la boutique, site web, devise)Propriétés de la commande :
[[ order.variable ]] (ID de commande, total, articles) – Flux de travail d'automatisation uniquementPropriétés du panier :
[[ cart.variable ]] (URL du panier abandonné) – Automatisation des workflows uniquementPropriétés de date :
[[ current_date ]] (jour, mois, année)
Voir le Tableau de référence des objets complet ci-dessous.
Filtres
Les filtres modifient la sortie d'un objet Liquid. Les filtres sont séparés par un symbole pipe |.
Exemple :
[[ 'mywebsite.com/orders/' | append: order.order_id ]]
Filtres courants :
default – Ajouter un texte de fallback lorsque les données sont manquantes :
[[ contact.first_name | default: 'there' ]]capitalize – Mettre en majuscule la première lettre :
[[ contact.city | capitalize ]]upcase – Convertir en majuscules :
[[ contact.country | upcase ]]ajouter – Ajouter du texte à la fin :
[[ account.website | append: '/sale' ]]date – Formater les dates :
[[ current_date | date:'%B %d, %Y' ]] → "13 mai 2026"vocative – Ajuster les noms à la forme vocative dans les langues prises en charge :
[[ contact.first_name | vocative ]]
En savoir plus sur les filtres Liquid dans la documentation de Shopify – n'oubliez pas d'utiliser la syntaxe [[ ]] d'Omnisend.
Tags (Automatisation uniquement)
Les balises créent une logique et contrôlent le flux dans les messages. Les balises sont entourées d'accolades [% %] et ne produisent aucun texte visible.
Exemple :
[% if contact.first_name %] Hi [[ contact.first_name ]] [% endif %]
⚠️ Les tags ne fonctionnent que dans l'Automatisation – pas dans les Campagnes. En savoir plus sur les balises Liquid dans la documentation de Shopify.
Cas d'utilisation courants
Voici plusieurs cas d'utilisation courants utiles pour la syntaxe Liquid :
Personnalisation
Hi [[ contact.first_name ]], welcome to Omnisend!
Sortie : "Salut Sarah, bienvenue chez Omnisend !"
💡 Conseil : Ce filtre ajuste automatiquement le nom à sa forme vocative dans les langues prises en charge, rendant vos messages plus naturels et personnels. Cela peut être réalisé en utilisant personnalisation vocative: [[ contact.first_name | vocative ]]
Personnalisation avec fallback
Hi [[ contact.first_name | default: 'there' ]], welcome to Omnisend!
Sortie (si le prénom est manquant) : "Salut là-bas, bienvenue chez Omnisend !"
🔁 Pourquoi utiliser des fallbacks ?
Si le profil d'un contact manque de données (par exemple, pas de prénom), les balises de personnalisation afficheront des espaces vides. Les fallbacks empêchent cela :
Avec secours :
Salut [[ contact.first_name | default: 'là' ]] → "Salut là"Sans fallback:
Salut [[ contact.first_name ]] → "Salut "
Ajoutez toujours des fallback pour éviter des espaces vides gênants.
Insertion de variables dans les messages
Insérer des variables Liquid dans :
Lignes de sujet de l'Email :
N'oubliez pas votre panier, [[ contact.first_name ]] !Texte du corps de l'Email :
Votre commande totale : [[ order.total_price ]] [[ order.currency ]]Messages SMS :
Salut [[ contact.first_name ]], votre commande #[[ order.order_number ]] a été expédiée !Notifications push :
[[ contact.first_name ]], 20 % de réduction se termine aujourd'huiLiens de bouton :
[[ account.website ]]/orders/[[ order.order_id ]]
Logique conditionnelle (Automatisations uniquement)
Utilisez des instructions conditionnelles pour afficher un contenu différent en fonction des données de contact.
Localisation de la langue
[% if contact.custom_properties.language == 'Spanish' %] Hola [[ contact.first_name ]]! [% elsif contact.custom_properties.language == 'French' %] Bonjour [[ contact.first_name ]]! [% else %] Hi [[ contact.first_name ]]! [% endif %]
Contenu basé sur la localisation
[% if contact.country == 'UK' or contact.country == 'Ireland' %] Have you visited our newest flagship store in London? [% endif %]
Mise en forme
Mettre en majuscule la première lettre
Hi [[ contact.first_name | capitalize ]]
Sortie : "Salut sarah" → "Salut Sarah"
Ajouter du texte personnalisé
[% assign campaign_destination = '/landing_page.html' %] [[ account.website | append: campaign_destination ]]
Sortie : "www.yourstore.com/landing_page.html
Format des dates
Omnisend © [[ current_date | date:'%Y' ]]
Sortie : "Omnisend © 2026"
Options de format de date :
%d – Jour (13)%A – Nom du jour (mercredi)%m – Numéro du mois (05)%B – Nom du mois (Mai)%Y – Année (2026
Tableau de référence des objets
Propriétés de contact
Titre du menu déroulant | Tag | Type de valeur | Description |
| chaîne | Email de contact | |
Nom |
| chaîne | Prénom du contact |
Nom de famille |
| chaîne | Nom de famille du contact |
Ville |
| chaîne | Ville du contact |
Pays |
| chaîne | Pays du contact |
État | [[ contact.state ]] | chaîne | État du contact |
Code postal | [[ contact.postal_code ]] | chaîne | Code postal du contact |
Lien de désinscription | [[ unsubscribe_link ]] | – | Lien du contact pour se désinscrire |
Lien vers le centre de préférences |
| – | Lien de préférence de contact |
Propriétés personnalisées |
| objet | Propriétés personnalisées du contact |
Numéro de téléphone |
| chaîne | Numéro de téléphone du contact |
Propriétés du Compte
Titre du menu déroulant | Tag | Type de valeur | Description |
| chaîne | Email de contact | |
Nom |
| chaîne | Prénom du contact |
Nom de famille |
| chaîne | Nom de famille du contact |
Ville |
| chaîne | Ville du contact |
Pays |
| chaîne | Pays du contact |
État | [[ contact.state ]] | chaîne | État du contact |
Code postal | [[ contact.postal_code ]] | chaîne | Code postal du contact |
Lien de désinscription | [[ unsubscribe_link ]] | – | Lien de désinscription du contact |
Lien du centre de préférences |
| – | Lien de préférence de contact |
Propriétés personnalisées |
| objet | Propriétés personnalisées du contact |
Numéro de téléphone |
| chaîne | Numéro de téléphone du contact |
Propriétés du Compte
Titre du menu déroulant | Tag | Type de valeur | Description |
Nom |
| chaîne | Nom du compte |
Adresse |
| chaîne | Adresse du compte |
Ville |
| string | Ville du compte |
Code postal |
| string | Code postal du compte |
Pays |
| string | Pays du compte |
URL du site web |
| string | URL du site web du compte |
Fuseau horaire |
| string | Fuseau horaire du compte |
Devise |
| string | Devise du compte |
Propriétés de date
Titre du menu déroulant | Tag | Type de valeur | Description |
Jour actuel |
| - | Le jour où l'action est effectuée |
Nom du jour actuel |
| - | Le jour où l'action est effectuée |
Mois actuel |
| - | Le mois où l'action est effectuée |
Nom du mois actuel |
| - | Le nom du mois où l'action est effectuée |
Année actuelle |
| - | L'année actuelle où l'action est effectuée |
Propriétés de la commande (Automatisation uniquement)
Titre du menu déroulant | Tag | Type de valeur | Description |
ID de la commande |
| string | ID de la commande |
Numéro de commande |
| int64 | Numéro de la commande |
Nom de la commande |
| string | Nom de la commande |
Date de la commande |
| Date | Date de création de la commande |
Devise |
| chaîne | Devise de la commande |
Prix total |
| int64 | Somme totale de la commande |
Prix du sous-total |
| int64 | Somme du sous-total de la commande |
Remise |
| int64 | Remise de la commande |
Prix d'expédition |
| int64 | Prix d'expédition de la commande |
URL de la page d'état de la commande |
| chaîne | URL pour accéder aux informations exactes de la commande |
Note de la commande |
| chaîne | Notes supplémentaires sur la commande |
Adresse de facturation (Automatisation uniquement)
Titre du menu déroulant | Tag | Type de valeur | Description |
Prénom |
| chaîne | Prénom du contact fourni dans l'adresse de facturation |
Nom de famille |
| chaîne | Nom de famille du contact fourni dans l'adresse de facturation |
Pays |
| chaîne | Pays du contact fourni dans l'adresse de facturation |
Code du pays |
| chaîne | Code du pays du contact fourni dans l'adresse de facturation |
État |
| chaîne | État du contact fourni dans l'adresse de facturation |
Code de l'état |
| chaîne | Code de l'état du contact fourni dans l'adresse de facturation |
Ville |
| chaîne | Ville du contact fournie dans l'adresse de facturation |
Address 1 et |
| chaîne | Adresse du contact (1ère ligne) fournie dans l'adresse de facturation |
Adresse 2 |
| chaîne | Adresse du contact (2ème ligne) fournie dans l'adresse de facturation |
Code postal |
| chaîne | Code postal du contact fourni dans l'adresse de facturation |
Société |
| chaîne | Titre de l'entreprise du contact fourni dans l'adresse de facturation |
Téléphone |
| chaîne | Numéro de téléphone du contact fourni dans l'adresse de facturation |
Adresse de livraison (Automatisation uniquement)
Titre du menu déroulant | Tag | Type de valeur | Description |
Prénom |
| chaîne | Prénom du contact fourni dans l'adresse de livraison |
Nom de famille |
| chaîne | Nom de famille du contact fourni dans l'adresse de livraison |
Pays |
| chaîne | Pays du contact fourni dans l'adresse de livraison |
Code pays |
| chaîne | Code pays du contact fourni dans l'adresse de livraison |
État |
| chaîne | État du contact fourni dans l'adresse de livraison |
Code de l'état |
| chaîne | Code de l'état du contact fourni dans l'adresse de livraison |
Ville |
| chaîne | Ville du contact fournie dans l'adresse de livraison |
Address 1 et |
| chaîne | Adresse du contact (1ère ligne) fournie dans l'adresse de livraison |
Adresse 2 |
| chaîne | Adresse du contact (2ème ligne) fournie dans l'adresse de livraison |
Code ZIP / Postal |
| chaîne | Code ZIP / Postal du contact fourni dans l'adresse de livraison |
Société |
| chaîne | Titre de la société du contact fourni dans l'adresse de livraison |
Téléphone |
| chaîne | Numéro de téléphone du contact fourni dans l'adresse de livraison |
Propriétés du Panier (Automatisation uniquement)
Titre du menu déroulant | Tag | Type de valeur | Description |
URL du panier abandonné |
| chaîne | URL pour accéder/récupérer le panier abandonné |
Dépannage
La personnalisation affiche du code brut dans les e-mails
Cause : Vous visualisez un email de test au lieu d'un email en direct.
Solution : Les e-mails de test affichent toujours les balises Liquid brutes ([[ contact.first_name ]]). Pour tester la personnalisation :
Utilisez Test & Aperçu dans l'éditeur et sélectionnez un contact réel.
Ou envoyez la campagne/l'automatisation en direct à votre propre email (assurez-vous que votre profil de contact contient des données).
La personnalisation ne se transforme pas dans les e-mails en direct
Cause : Le tag Liquid peut avoir perdu son intégrité s'il a été partiellement modifié.
Solution : Supprimez l'ensemble de la balise de personnalisation et réinsérez-la en utilisant le menu de balise de personnalisation dans l'éditeur.
Le texte de secours ne fonctionne pas
Cause : Syntaxe incorrecte ou guillemets manquants.
Solution : Assurez-vous que les valeurs de secours sont entourées de guillemets :
✅
[[ contact.first_name | default: 'there' ]]❌
[[ contact.first_name | default: there ]]
La logique conditionnelle ne fonctionne pas dans les Campagnes
Cause : Les tags et les déclarations conditionnelles ne fonctionnent que dans les Flux de travail d'Automatisation.
Solution : Utilisez la logique conditionnelle dans les automatisations – pas dans les Campagnes.
FAQ
Puis-je utiliser Liquid dans les SMS et les notifications push ?
Oui. Les objets et filtres Liquid fonctionnent dans les Email, SMS et notifications push. La logique conditionnelle ne fonctionne que dans l'Automatisation.
Quelle est la différence entre {{ }} et [[ ]] ?
Shopify utilise {{ }} pour les objets Liquid. Omnisend utilise [[ ]]. Si vous copiez du code Liquid à partir de la documentation Shopify, remplacez les accolades par des crochets.
Dois-je ajouter des valeurs de secours ?
Oui. Ajoutez toujours des solutions de secours pour éviter les espaces vides lorsque les données de contact sont manquantes :
[[ contact.first_name | default: 'there' ]]
Puis-je combiner plusieurs filtres ?
Oui. Chaînez les filtres avec des symboles | :
[[ contact.first_name | capitalize | default: 'there' ]]
Où puis-je trouver plus d'exemples Liquid ?
En savoir plus dans la documentation Liquid de Shopify – n'oubliez pas de remplacer {{ }} par [[ ]] et {% %} par [% %] dans Omnisend.
Vous êtes le bienvenu pour contacter notre équipe d'assistance primée pour toute assistance supplémentaire via le chat intégré ou à [email protected].
