Personnaliser vos campagnes Shopify Messaging à l’aide de Liquid
Liquid est le langage de programmation simple et facile à utiliser de Shopify. C’est le même langage de programmation que celui avec lequel sont conçus les thèmes du Shopify Theme Store.
Vous pouvez utiliser du Liquid personnalisé pour améliorer vos messages Shopify Messaging en créant un e-mail entièrement codé sur mesure ou en ajoutant une section Liquid personnalisée à un modèle. Ces options vous permettent de saisir du code Liquid ou HTML personnalisé.
Vous pouvez utiliser le code Liquid personnalisé pour afficher des ressources personnalisées telles que des images côte à côte, des boutons personnalisés, des images de taille personnalisée et des sections de taille personnalisée.
Sur cette page
Points à prendre en compte
Examinez les points suivants avant de commencer à ajouter du code Liquid personnalisé à vos messages Shopify Messaging :
- Les variables que vous incluez dans votre code doivent être prises en charge par le code Liquid personnalisé.
- Vous ne pouvez utiliser qu’un ordinateur de bureau pour créer une section Liquid personnalisée.
- La variable
unsubscribe_linkouunsubscribe_urlest obligatoire dans les e-mails Liquid personnalisés. Si vous avez activé le suivi des ouvertures, la variableopen_trackingest également obligatoire. En savoir plus sur l’ajout de variables obligatoires à votre e-mail. - Le code que vous saisissez est soumis aux limites suivantes :
- 50 kilo-octets (Ko) maximum pour les sections Liquid personnalisées.
- 500 Ko maximum pour les e-mails codés sur mesure en Liquid.
Création d’un e-mail codé sur mesure avec Liquid
Si vous souhaitez utiliser un code Liquid personnalisé lorsque vous créez un e-mail, vous pouvez ajouter une section Liquid personnalisée ou créer un e-mail entièrement à partir d’un code Liquid personnalisé en sélectionnant Coder vous-même lorsque vous créez une campagne Shopify Messaging.
Variables Liquid prises en charge dans le code Liquid personnalisé
Vous pouvez utiliser les variables prises en charge pour personnaliser vos e-mails Shopify Messaging avec Liquid. Vous pouvez consulter les listes des variables Liquid prises en charge pour les types de modèles suivants :
- Tous les modèles d’e-mail
- Modèles d’e-mails de paiement abandonné
- Modèles d’e-mail de navigation abandonnée et de panier abandonné
Variables Liquid prises en charge pour tous les modèles d’e-mail
Vous pouvez utiliser les variables suivantes pour personnaliser n’importe lequel de vos e-mails Shopify Messaging avec Liquid.
| Variable | Description |
|---|---|
all_products | Tous les produits de votre boutique. |
customer.accepts_marketing | Renvoie true si le client accepte le marketing, et false dans le cas contraire. |
customer.addresses | Renvoie toutes les adresses associées au client. |
customer.addresses_count | Renvoie le nombre d’adresses associées au client. |
customer.b2b? | Renvoie true si le client est un client B2B, et false dans le cas contraire. |
customer.current_location | Renvoie l’emplacement d’entreprise actuellement sélectionné pour le client. |
customer.default_address | Renvoie l’adresse par défaut du client. |
customer.email | Renvoie l’adresse e-mail du client. |
customer.first_name | Renvoie le prénom du client. |
customer.has_account | Renvoie true si l’e-mail du client est associé à un compte client, et false dans le cas contraire. |
customer.has_avatar? | Renvoie true si le client a un avatar associé à son compte, et false dans le cas contraire. |
customer.id | Renvoie l’ID du client. |
customer.last_name | Renvoie le nom de famille du client. |
customer.last_order | Renvoie la dernière commande passée par le client, à l’exclusion des commandes de test. |
customer.name | Renvoie le nom complet du client. |
customer.orders | Renvoie toutes les commandes que le client a passées. |
customer.orders_count | Renvoie le nombre total de commandes que le client a passées. |
customer.payment_methods | Renvoie les moyens de paiement enregistrés du client. |
customer.phone | Renvoie le numéro de téléphone du client. Le numéro de téléphone s’affiche uniquement si le client a utilisé un numéro de téléphone au moment du paiement, s’il a accepté de recevoir des notifications par SMS ou si vous l’avez ajouté manuellement à son compte client. |
customer.store_credit_account.balance | Renvoie le solde du crédit en magasin du client dans la devise associée au contexte pertinent. Par exemple : |
customer.tags | Renvoie les balises associées au client. |
customer.tax_exempt | Renvoie true si le client est exonéré de taxes, et false dans le cas contraire. |
customer.total_spent | Renvoie le montant total que le client a dépensé pour toutes les commandes de votre boutique. |
email.* | Cette variable donne accès aux propriétés d’e-mail suivantes : subject affiche la ligne d’objet de l’e-mail.preview_text affiche le texte d’aperçu de l’e-mail. |
open_tracking | Cette variable donne accès au bloc de suivi des ouvertures préformaté. Elle est obligatoire si vous créez un e-mail à codage personnalisé et que vous avez activé le suivi des ouvertures. |
shop.* | Cette variable donne accès aux propriétés de boutique suivantes :
name affiche le nom de la boutique.domain affiche le domaine principal de la boutique.url affiche l’URL de la boutique.shopify_domain affiche le domaine Shopify de la boutique.
|
unsubscribe_url | Cette variable donne accès à l’URL de désabonnement brute et peut être personnalisée. Si vous créez un e-mail à codage personnalisé, vous devez inclure la variable unsubscribe_url ou unsubscribe_link. Les variables unsubscribe_url et unsubscribe_link pointeront toujours vers le domaine principal de la boutique en ligne et ne peuvent pas être modifiées pour rediriger ailleurs. |
Variables Liquid prises en charge pour les e-mails de relance de paiement abandonné
Vous pouvez utiliser les variables suivantes pour personnaliser vos e-mails de relance de paiement abandonné Shopify Messaging avec Liquid.
La variable abandoned_checkout se remplit uniquement si un e-mail fait partie d’une automatisation du marketing de paiement abandonné. Sinon, la variable est null.
| Variable | Description |
|---|---|
abandoned_checkout.* | Cette variable donne accès aux propriétés suivantes d’un paiement abandonné :
|
id(checkout ID) | Un ID de paiement unique pour usage interne. |
shop | Le nom de votre boutique Shopify. |
name | Le nom du paiement abandonné, également connu sous le nom de numéro de paiement. |
total_price | Le prix total de la commande (sous-total + coûts d’expédition – réduction sur l’expédition + taxe). |
shipping_price |
Les frais d’expédition. Exemple : |
shipping_address | L’adresse d’expédition. |
billing_address | L’adresse de facturation. |
line_items | Une liste de tous les articles du panier dans le paiement abandonné. |
unavailable_line_items | Une liste de tous les articles du panier non disponibles dans le paiement abandonné. |
note | La note jointe au paiement abandonné. |
landing_site |
Le chemin du site de destination que le client a utilisé. Il s’agit de la première page à laquelle le client a accédé lorsqu’il est arrivé sur la boutique. Exemple : |
landing_site_ref |
Extrait un paramètre de référence du site de destination. Les paramètres de référence peuvent être : Si {% if landing_site_ref == 'my-tracking-token' %}
My action...
{% endif %}
|
referring_site |
L’URL du référent qui a redirigé le client vers votre boutique. Exemple : |
created_at | La date et l’heure auxquelles le client a créé le paiement qu’il a abandonné. |
closed_at | La date et l’heure de clôture du paiement. |
customer_locale | Le code de langue à deux ou trois lettres pour les paramètres régionaux du client, éventuellement suivi d’un modificateur de région. Par exemple, en, en-CA |
item_count | La somme des quantités de tous les articles. |
unique_gateways | Une liste des fournisseurs de services de paiement uniques disponibles lors du paiement. |
discount | La réduction appliquée au panier ou à un article du panier dans le paiement abandonné. |
discounts | Une liste des réductions appliquées au paiement. |
successfully_applied_discounts | Les réductions qui ont été appliquées avec succès au paiement. |
discounts_amount | Le montant de la réduction appliquée par l’ensemble des réductions. Exemple : +5,00 $ |
discounts_savings | Le montant des économies réalisées grâce à toutes les réductions. Exemple : -5,00 $ |
buyer_accepts_marketing | Renvoie trueou falseselon que le client a accepté ou non le marketing lors du paiement abandonné. |
subtotal_line_items | Les articles du panier qui sont utilisés pour calculer le sous-total au moment du paiement, à l’exclusion de tout article de pourboire. |
requires_shipping | Renvoie trues’il y a au moins un article dans le paiement qui nécessite une expédition. |
subtotal_price | Le sous-total des articles du panier au moment du paiement. |
| L’e-mail associé au paiement abandonné. | |
shop_name | Le nom de votre boutique. |
tax_lines |
Les taxes ventilées par type de taxe : {% for tax_line in tax_lines %}
{{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency }}
{% endfor %}
|
tax_price | Les taxes combinées de tous les articles du paiement. |
attributes |
Tous les attributs qui ont été associés au paiement abandonné. Exemple : |
shipping_method | Informations sur le premier mode d’expédition disponible au moment du paiement. |
shipping_methods | Les modes d’expédition disponibles au moment du paiement. |
free | Renvoie true if the total price of the checkout is zero. |
free_shipping | Renvoie truesi le paiement ne nécessite pas d’expédition ou si les frais d’expédition sont nuls. |
different_billing_address | Renvoie trueou falseselon que l’adresse de livraison est identique à l’adresse de facturation. |
customer | L’objet client contenant les attributs de la sortie client. |
gift_cards | Les cartes-cadeaux appliquées au paiement. |
gift_cards_amount | Le montant du prix de la commande qui serait payé par cartes-cadeaux. |
transactions | Les transactions du paiement. |
shareable_url | L’URL du premier produit dans les articles du panier. |
shareable_title | Le titre de produit du premier article du panier. |
total_tip | Le pourboire total que le client a ajouté au moment du paiement. |
discount_applications | Décrit pourquoi et comment un article a bénéficié d’une réduction lors du paiement. |
cart_level_discount_applications | Les applications de réduction spécifiques au panier. |
currency | La devise du paiement abandonné. |
line_items_subtotal_price | La somme des prix de tous les articles du panier, après application des réductions par article du panier. |
Variables Liquid pour les e-mails de navigation abandonnée et de panier abandonné
La variable abandoned_visit.* n’est remplie que si un e-mail fait partie d’une automatisation marketing de panier abandonné ou de navigation sur un produit abandonnée. Examinez les propriétés suivantes auxquelles cette variable donne accès.
| Variable | Description |
|---|---|
abandoned_visit.* | Cette variable donne accès aux propriétés suivantes d’un panier ou d’une navigation abandonnés :
|
Utilisation des variables obligatoires
Lorsque vous créez un e-mail Liquid personnalisé, la variable unsubscribe_link ou unsubscribe_url est obligatoire. Si vous avez activé le suivi des ouvertures, la variable open_tracking est également obligatoire.
Bien que ces variables puissent être insérées n’importe où dans le code de votre e-mail, l’endroit le plus courant pour les ajouter est la section de pied de page d’un e-mail, comme dans l’exemple suivant :
<div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>Exemple de code Liquid personnalisé
Vous pouvez ajouter votre code Liquid ou HTML personnalisé dans l’éditeur de code. Le code suivant est un exemple de la façon dont vous pouvez ajouter du code Liquid pour afficher le nom de votre boutique, un bouton personnalisé et une image de taille personnalisée dans un e-mail.
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<title>{{ shop.name }} Newsletter</title>
</head>
<body style="margin: 0; padding: 0; font-family: Arial, sans-serif; line-height: 1.5; color: #333333; background-color: #f5f5f5;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: #f5f5f5;">
<tr>
<td align="center" style="padding: 20px;">
<table cellpadding="0" cellspacing="0" border="0" width="600" style="background-color: #ffffff; border-radius: 4px; box-shadow: 0 2px 4px rgba(0,0,0,0.1);">
<!-- Header -->
<tr>
<td align="center" style="background-color: #4a6de5; padding: 30px 20px; color: #ffffff;">
<h1 style="margin: 0; font-size: 28px; font-weight: bold;">{{ shop.name }}</h1>
<p style="margin: 10px 0 0; font-size: 16px;">Your Book Journey with Us</p>
</td>
</tr>
<!-- Content -->
<tr>
<td style="padding: 30px 20px;">
<!-- Greeting Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td>
<h2 style="margin: 0 0 15px; font-size: 22px; color: #222222;">Hello {{ customer.name }}!</h2>
<p style="margin: 0 0 15px; font-size: 15px;">We hope this email finds you well. We noticed you're from {{ customer.default_address.city }}.</p>
{% if customer.email %}
<p style="margin: 0 0 15px; font-size: 15px;">Your registered email is: {{ customer.email }}</p>
{% endif %}
</td>
</tr>
</table>
<!-- Reading Journey Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td>
<h2 style="margin: 0 0 15px; font-size: 20px; color: #4a6de5;">Your Reading Journey</h2>
<p style="margin: 0 0 15px; font-size: 15px;">Thank you for being a loyal customer! Here's a snapshot of your journey:</p>
<p style="margin: 0 0 15px; font-size: 15px;">You purchased {{ customer.orders_count }} books with us.</p>
{% if customer.last_order %}
<p style="margin: 0 0 15px; font-size: 15px;"> You last read {{customer.last_order.line_items[0].title}}. Great choice! </p>
{% endif %}
</td>
</tr>
</table>
<!-- Recommended Books Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td>
<h2 style="margin: 0 0 15px; font-size: 20px; color: #4a6de5;">Books You Might Love</h2>
<p style="margin: 0 0 15px; font-size: 15px;">Based on your reading preferences, we've handpicked these titles just for you:</p>
<table cellpadding="0" cellspacing="0" border="0" width="100%">
<tr>
<td width="50%" style="padding-right: 10px;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: #f9f9f9; border-radius: 4px; padding: 15px;">
<tr>
<td align="center">
<!-- Image with proper email attributes -->
<img src="https:{{ all_products['product-1-handle'] | image_url: width: 200 }}"
alt="Product 1"
width="200"
height="200"
style="display: block; border: 0; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;"
title="Product 1"
border="0">
<h3 style="margin: 0 0 10px; font-size: 16px; color: #333333;">{{ all_products['product-1-handle'].title }}</h3>
<p style="margin: 0 0 10px; font-size: 15px; color: #4a6de5;">${{ all_products['product-1-handle'].price }}</p>
<a href="{{shop.domain}}{{ all_products['product-1-handle'].url }}" style="display: inline-block; background-color: #4a6de5; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 4px; font-size: 14px;">View Book</a>
</td>
</tr>
</table>
</td>
<td width="50%" style="padding-left: 10px;">
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="background-color: #f9f9f9; border-radius: 4px; padding: 15px;">
<tr>
<td align="center">
<!-- Image with proper email attributes -->
<img src="https:{{ all_products['product-2-handle'] | image_url: width: 200 }}"
alt="Product 2"
width="200"
height="200"
style="display: block; border: 0; outline: none; text-decoration: none; -ms-interpolation-mode: bicubic;"
title="Product 2"
border="0">
<h3 style="margin: 0 0 10px; font-size: 16px; color: #333333;">{{ all_products['product-2-handle'].title }}</h3>
<p style="margin: 0 0 10px; font-size: 15px; color: #4a6de5;">${{ all_products['product-2-handle'].price }}</p>
<a href="{{shop.domain}}{{ all_products['product-2-handle'].url }}" style="display: inline-block; background-color: #4a6de5; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 4px; font-size: 14px;">View Book</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</td>
</tr>
</table>
<!-- Book Club Section -->
<table cellpadding="0" cellspacing="0" border="0" width="100%" style="margin-bottom: 30px;">
<tr>
<td style="background-color: #f5f7ff; border-radius: 4px; padding: 25px; text-align: center;">
<h2 style="margin: 0 0 15px; font-size: 18px; color: #333333;">This Month's Top Picks</h2>
<p style="margin: 0 0 20px; font-size: 15px;">Discover what other readers are loving this month:</p>
<a href="{{ shop.url }}/pages/book-club" style="display: inline-block; background-color: #4a6de5; color: #ffffff; padding: 10px 20px; text-decoration: none; border-radius: 4px; font-size: 14px;">Join Our Book Club</a>
</td>
</tr>
</table>
</td>
</tr>
<!-- Footer -->
<tr>
<td style="background-color: #f2f2f2; padding: 30px 20px; text-align: center;">
<p style="margin: 0 0 15px; font-size: 15px;">Best regards,<br><strong>{{ shop.name }} Team</strong></p>
<p style="margin: 0 0 15px; font-size: 12px; color: #999999;">© {{ 'now' | date: '%Y' }} {{ shop.name }}. All rights reserved.</p>
<p style="margin: 0 0 15px; font-size: 12px;">{{ open_tracking_block }}</p>
<a href="{{ unsubscribe_url }}" style="color: #999999; font-size: 12px; text-decoration: underline;">{{ unsubscribe_link }}</a>
</td>
</tr>
</table>
</td>
</tr>
</table>
</body>
</html>