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.
Testez la personnalisation avant d'envoyer Les emails de test n'incluent pas de données de contact réelles. Les valeurs de secours sont affichées lorsqu'un
par défaut : le filtre est utilisé.Utilisez l'aperçu dynamique ou un contact de test pour voir les valeurs de contact réelles.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 en utilisant trois éléments :
Objets Variables qui affichent des données de contact ou de commande (
[[ contact.first_name ]]).Tags – 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.
[[ 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 commande :
[[ order.variable ]] (ID de commande, total, articles) – Automatisation uniquementPropriétés du panier :
[[ cart.variable ]] (URL du panier abandonné) – Automatisation uniquementPropriétés de date :
[[ current_date ]] (jour actuel, 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 secours lorsque les données sont manquantes :
[[ contact.first_name | default: 'there' ]]capitaliser – Mettre en majuscule la première lettre :
[[ contact.city | capitalize ]]upcase – Convertir en majuscules :
[[ contact.country | upcase ]]append – Ajouter du texte à la fin :
[[ account.website | append: '/sale' ]]date – Formater les dates :
[[ current_date | date:'%B %d, %Y' ]] → "13 mai 2026"vocatif – 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 tags sont entourés de [% %] 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 secours
Hi [[ contact.first_name | default: 'there' ]], welcome to Omnisend!
Sortie (si le prénom est manquant) : "Bonjour, bienvenue chez Omnisend !"
4a1 Pourquoi utiliser des secours ?
Si le profil d'un contact manque de données (par exemple, pas de prénom), les tags de personnalisation afficheront des espaces vides. Les secours préviennent cela :
Avec un fallback :
Salut [[ contact.first_name | default: 'there' ]] "Salut là-bas"Sans fallback :
Salut [[ contact.first_name ]] "Salut "
Ajoutez toujours des valeurs de secours pour éviter les espaces vides gênants.
Insertion de variables dans les messages
Insérer des variables Liquid dans :
Lignes de sujet des emails :
N'oubliez pas votre panier, [[ contact.first_name ]] !Texte du corps de l'email :
Le total de votre commande : [[ 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 (e).
Localisation linguistique
[% 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
Table de référence des objets
Propriétés de Contact
Titre du menu déroulant | Tag | Type de valeur | Description |
| string | Email de contact | |
Nom |
| string | Prénom du contact |
Nom de famille |
| string | Nom de famille du contact |
Ville |
| string | Ville du contact |
Pays |
| string | 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 |
| object | Propriétés personnalisées du contact |
Numéro de téléphone |
| string | Numéro de téléphone du contact |
Propriétés du compte
Titre du menu déroulant | Tag | Type de valeur | Description |
Nom |
| string | Nom du compte |
Adresse |
| string | Adresse du compte |
Ville |
| chaîne | Ville du compte |
Code postal / ZIP |
| 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 en cours |
| - | L'année en cours lorsque 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 |
| chaîne | ID de la commande |
Numéro de commande |
| int64 | Numéro de la commande |
Nom de la commande |
| chaîne | Nom de la commande |
Date de la commande |
| Date | Date à laquelle la commande est créée |
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 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 |
| string | Nom de famille du contact fourni dans l'adresse de facturation |
Pays |
| string | Pays du contact fourni dans l'adresse de facturation |
Code pays |
| string | Code pays du contact fourni dans l'adresse de facturation |
État |
| string | État du contact fourni dans l'adresse de facturation |
Code d'état |
| string | Code d'état du contact fourni dans l'adresse de facturation |
Ville |
| string | Ville du contact fournie dans l'adresse de facturation |
Address 1 et |
| string | Adresse du contact (1ère ligne) fournie dans l'adresse de facturation |
Adresse 2 |
| string | Adresse du contact (2ème ligne) fournie dans l'adresse de facturation |
Code postal |
| string | Code postal du contact fourni dans l'adresse de facturation |
Société |
| string | Titre de la société du contact fourni dans l'adresse de facturation |
Téléphone |
| string | 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 postal / ZIP |
| chaîne | Code postal / ZIP 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 atteindre/récupérer le panier abandonné |
Dépannage
La personnalisation affiche le code brut dans les e-mails
Cause : Vous visualisez un e-mail de test au lieu d'un e-mail en direct.
Solution : Les e-mails de test affichent toujours les balises Liquid brutes ([[ contact.first_name ]]). Pour tester la personnalisation :
Utilisez Test & Preview dans l'éditeur et sélectionnez un vrai contact.
Ou envoyez la campagne/l'automatisation en direct à votre propre email (assurez-vous que le profil de votre 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 Icône de tag de personnalisation dans la barre d'outils, ou tapez@ dans le bloc de texte. Cela garantit que la balise est correctement formatée.
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 le code Liquid de la documentation de Shopify, remplacez les accolades par des crochets.
Oui. Ajoutez toujours des valeurs 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 de support primée pour toute assistance supplémentaire via le chat intégré ou à [email protected].
