Shopify Messaging-Kampagnen mit Liquid anpassen
Liquid ist die einfache und benutzerfreundliche Programmiersprache von Shopify und dieselbe Programmiersprache, mit der Themes aus dem Shopify Theme Store erstellt werden.
Du kannst benutzerdefiniertes Liquid verwenden, um deine Shopify Messaging-Nachrichten zu erweitern, indem du eine vollständig benutzerdefiniert codierte E-Mail erstellst oder einen benutzerdefinierten Liquid-Abschnitt zu einer Vorlage hinzufügst. Mit diesen Optionen kannst du benutzerdefiniertes Liquid oder HTML eingeben.
Du kannst benutzerdefiniertes Liquid verwenden, um benutzerdefinierte Assets wie nebeneinander angeordnete Bilder, benutzerdefinierte Schaltflächen, Bilder in benutzerdefinierter Größe und Abschnitte in benutzerdefinierter Größe anzuzeigen.
Auf dieser Seite
Überlegungen
Beachte die folgenden Überlegungen, bevor du beginnst, benutzerdefiniertes Liquid zu deinen Shopify Messaging-Nachrichten hinzuzufügen:
- Die Variablen, die du in deinen Code aufnimmst, müssen von benutzerdefiniertem Liquid unterstützt werden.
- Du kannst einen benutzerdefinierten Liquid-Abschnitt nur auf einem Desktop-Gerät erstellen.
- Die Variable
unsubscribe_linkoderunsubscribe_urlist in benutzerdefinierten Liquid-E-Mails erforderlich. Wenn du das Tracking der Öffnungsrate aktiviert hast, ist auch die Variableopen_trackingerforderlich. Erfahre mehr über das Hinzufügen erforderlicher Variablen zu deiner E-Mail. - Für den von dir eingegebenen Code gelten die folgenden Beschränkungen:
- Maximal 50 Kilobyte (KB) für benutzerdefinierte Liquid-Abschnitte.
- Maximal 500 KB für benutzerdefiniert codierte Liquid-E-Mails.
Eine benutzerdefiniert codierte E-Mail mit Liquid erstellen
Wenn du beim Erstellen einer E-Mail benutzerdefinierten Liquid-Code verwenden möchtest, kannst du entweder einen benutzerdefinierten Liquid-Abschnitt hinzufügen oder eine E-Mail vollständig aus benutzerdefiniertem Liquid-Code erstellen, indem du Eigenen Code schreiben auswählst, wenn du eine Shopify Messaging-Kampagne erstellst.
In benutzerdefiniertem Liquid unterstützte Liquid-Variablen
Du kannst unterstützte Variablen verwenden, um deine Shopify Messaging-E-Mail-Nachrichten mit Liquid anzupassen. Du kannst die Listen der unterstützten Liquid-Variablen für die folgenden Arten von Vorlagen einsehen:
- Alle E-Mail-Vorlagen
- E-Mail-Vorlagen für abgebrochene Checkouts
- E-Mail-Vorlagen für Produktansichten ohne Kauf und abgebrochene Warenkörbe
Unterstützte Liquid-Variablen für alle E-Mail-Vorlagen
Du kannst die folgenden Variablen verwenden, um beliebige deiner Shopify Messaging-E-Mail-Nachrichten mit Liquid anzupassen.
| Variable | Beschreibung |
|---|---|
all_products | Alle Produkte in deinem Shop. |
customer.accepts_marketing | Gibt true zurück, wenn der/die Kund:in Marketing akzeptiert, andernfalls false. |
customer.addresses | Gibt alle Adressen zurück, die dem/der Kund:in zugeordnet sind. |
customer.addresses_count | Gibt die Anzahl der Adressen zurück, die dem/der Kund:in zugeordnet sind. |
customer.b2b? | Gibt true zurück, wenn es sich um eine:n B2B-Kund:in handelt, andernfalls false. |
customer.current_location | Gibt den aktuell für den/die Kund:in ausgewählten Unternehmensstandort zurück. |
customer.default_address | Gibt die Standardadresse des/der Kund:in zurück. |
customer.email | Gibt die E-Mail-Adresse des/der Kund:in zurück. |
customer.first_name | Gibt den Vornamen des/der Kund:in zurück. |
customer.has_account | Gibt true zurück, wenn die E-Mail-Adresse des/der Kund:in mit einem Kundenkonto verknüpft ist, andernfalls false. |
customer.has_avatar? | Gibt true zurück, wenn die Kund:in einen Avatar für ihr Konto hat, und false, falls nicht. |
customer.id | Gibt die ID des:der Kund:in zurück. |
customer.last_name | Gibt den Nachnamen des:der Kund:in zurück. |
customer.last_order | Gibt die letzte Bestellung des:der Kund:in zurück, ausgenommen Testbestellungen. |
customer.name | Gibt den vollständigen Namen des:der Kund:in zurück. |
customer.orders | Gibt alle Bestellungen des:der Kund:in zurück. |
customer.orders_count | Gibt die Gesamtanzahl der Bestellungen des:der Kund:in zurück. |
customer.payment_methods | Gibt die gespeicherten Zahlungsmethoden des:der Kund:in zurück. |
customer.phone | Gibt die Telefonnummer des:der Kund:in zurück. Die Telefonnummer wird nur dann ausgefüllt, wenn der:die Kund:in beim Checkout eine Telefonnummer verwendet, sich für SMS-Benachrichtigungen angemeldet hat oder wenn du sie manuell zum Kundenkonto hinzugefügt hast. |
customer.store_credit_account.balance | Gibt das Shop-Guthaben des:der Kund:in in der mit dem jeweiligen Kontext verknüpften Währung zurück. Zum Beispiel: |
customer.tags | Gibt die mit dem:der Kund:in verknüpften Tags zurück. |
customer.tax_exempt | Gibt true zurück, wenn die Kund:in steuerbefreit ist, und false, falls nicht. |
customer.total_spent | Gibt den Gesamtbetrag zurück, den der:die Kund:in für alle Bestellungen in deinem Shop ausgegeben hat. |
email.* | Diese Variable ermöglicht den Zugriff auf die folgenden E-Mail-Eigenschaften: subject zeigt die Betreffzeile der E-Mail an.preview_text zeigt den Vorschautext der E-Mail an. |
open_tracking | Diese Variable ermöglicht den Zugriff auf den vorformatierten Block für das Tracking der Öffnungsrate. Diese Variable ist erforderlich, wenn du eine benutzerdefiniert codierte E-Mail erstellst und das Tracking der Öffnungsrate aktiviert hast. |
shop.* | Diese Variable ermöglicht den Zugriff auf die folgenden Shop-Eigenschaften:
name zeigt den Shop-Namen an.domain zeigt die primäre Domain des Shops an.url zeigt die URL des Shops an.shopify_domain zeigt die Shopify-Domain des Shops an.
|
unsubscribe_url | Diese Variable ermöglicht den Zugriff auf die unformatierte Abmelde-URL und kann angepasst werden. Wenn du eine benutzerdefiniert codierte E-Mail erstellst, musst du die Variable unsubscribe_url oder unsubscribe_link einfügen. Sowohl unsubscribe_url als auch unsubscribe_link verweisen immer auf die primäre Domain des Onlineshops und können nicht auf andere Ziele verweisen. |
Unterstützte Liquid-Variablen für E-Mails zu abgebrochenen Checkouts
Du kannst die folgenden Variablen verwenden, um deine Shopify Messaging-E-Mail-Nachrichten für abgebrochene Checkouts mit Liquid anzupassen.
Die Variable abandoned_checkout wird nur ausgefüllt, wenn eine E-Mail Teil einer Marketing-Automatisierung für abgebrochene Checkouts ist. Andernfalls ist die Variable null.
| Variable | Beschreibung |
|---|---|
abandoned_checkout.* | Diese Variable ermöglicht den Zugriff auf die folgenden Eigenschaften eines abgebrochenen Checkouts:
|
id(checkout ID) | Eine eindeutige ID des Checkouts für den internen Gebrauch. |
shop | Name deines Shopify-Shops. |
name | Der Name des abgebrochenen Checkouts, auch als Checkout-Nummer bezeichnet. |
total_price | Der Gesamtpreis der Bestellung (Zwischensumme + Versandkosten - Versandrabatt + Steuer). |
shipping_price |
Die Versandkosten. Beispiel: |
shipping_address | Die Versandadresse. |
billing_address | Die Rechnungsadresse. |
line_items | Eine Liste aller Positionen im abgebrochenen Checkout. |
unavailable_line_items | Eine Liste aller Positionen im abgebrochenen Checkout, die nicht verfügbar sind. |
note | Die Anmerkung, die dem abgebrochenen Checkout beigefügt ist. |
landing_site |
Der Pfad der Landing-Seite, die von dem:der Kund:in verwendet wurde. Dies ist die erste Seite, die der:die Kund:in beim Aufrufen des Shops geöffnet hat. Beispiel: |
landing_site_ref |
Extrahiert einen Referenzparameter von der Landing-Seite. Referenzparameter können sein: Wenn die {% if landing_site_ref == 'my-tracking-token' %}
My action...
{% endif %}
|
referring_site |
Die Referrer-URL, über die der:die Kund:in zu deinem Shop gelangt ist. Beispiel: |
created_at | Das Datum und die Uhrzeit, zu der/dem der:die Kund:in den Checkout erstellt hat, der abgebrochen wurde. |
closed_at | Das Datum und die Uhrzeit, wann der Checkout geschlossen wurde. |
customer_locale | Der zwei- oder dreistellige Sprachcode für das Gebietsschema des:der Kund:in, optional gefolgt von einem Regionsmodifikator. Zum Beispiel en, en-CA |
item_count | Eine Summe der Mengen aller Artikel. |
unique_gateways | Eine Liste der einzigartigen Zahlungsanbieter, die beim Checkout verfügbar sind. |
discount | Der Rabatt, der auf den Warenkorb oder eine Position im abgebrochenen Checkout angewendet wurde. |
discounts | Eine Liste der auf den Checkout angewendeten Rabatte. |
successfully_applied_discounts | Die Rabatte, die erfolgreich auf den Checkout angewendet wurden. |
discounts_amount | Der Dollarbetrag des Rabatts, der durch alle Rabatte angewendet wird. Beispiel: +5,00 $ |
discounts_savings | Der Dollarbetrag der durch alle Rabatte erzielten Ersparnis. Beispiel: -5,00 $ |
buyer_accepts_marketing | Gibt trueoder falsezurück, je nachdem, ob Kund:innen während des abgebrochenen Checkouts dem Marketing zugestimmt haben. |
subtotal_line_items | Die Positionen, die zur Berechnung der Zwischensumme beim Checkout verwendet werden, ausgenommen Trinkgeld-Positionen. |
requires_shipping | Gibt true, wenn sich im Checkout mindestens ein Artikel befindet, der versendet werden muss. |
subtotal_price | Die Zwischensumme der Positionen beim Checkout. |
| Die mit dem abgebrochenen Checkout verknüpfte E-Mail. | |
shop_name | Der Name deines Shops. |
tax_lines |
Die Steuern, aufgeschlüsselt nach Steuerart: {% for tax_line in tax_lines %}
{{ tax_line.title }} ({{ tax_line.rate_percentage }}%) : {{ tax_line.price | money_with_currency }}
{% endfor %}
|
tax_price | Die kombinierten Steuern aller Artikel im Checkout. |
attributes |
Alle Produktattribute, die dem abgebrochenen Checkout angehängt wurden. Beispiel: |
shipping_method | Informationen über die erste verfügbare Versandart beim Checkout. |
shipping_methods | Die beim Checkout verfügbaren Versandarten. |
free | Gibt true if the total price of the checkout is zero. |
free_shipping | Gibt true, wenn der Checkout keinen Versand erfordert oder wenn der Preis für den Versand null ist. |
different_billing_address | Gibt trueoder false, je nachdem, ob die Lieferadresse mit der Rechnungsadresse übereinstimmt. |
customer | Das Kundenobjekt, das die Attribute der Kund:innen-Ausgabe enthält. |
gift_cards | Die auf den Checkout angewendeten Gutscheine. |
gift_cards_amount | Der Betrag des Checkout-Preises, der mit Gutscheinen bezahlt würde. |
transactions | Die Transaktionen des Checkouts. |
shareable_url | Die URL des ersten Produkts in den Positionen. |
shareable_title | Der Produkttitel der ersten Position. |
total_tip | Das gesamte Trinkgeld, das Kund:innen beim Checkout hinzugefügt haben. |
discount_applications | Beschreibt, warum und wie ein Artikel im Checkout rabattiert wurde. |
cart_level_discount_applications | Die warenkorbspezifischen Rabattanwendungen für den Warenkorb. |
currency | Die Währung des abgebrochenen Checkouts. |
line_items_subtotal_price | Die Summe der Preise aller Positionen des Checkouts, nachdem alle Positionsrabatte angewendet wurden. |
Liquid-Variablen für E-Mails zu abgebrochenen Suchen und abgebrochenen Warenkörben
Die Variable abandoned_visit.* wird nur dann ausgefüllt, wenn eine E-Mail Teil einer Marketingautomatisierung für abgebrochene Warenkörbe oder abgebrochene Produktsuchen ist. Überprüfe die folgenden Eigenschaften, auf die diese Variable Zugriff gewährt.
| Variable | Beschreibung |
|---|---|
abandoned_visit.* | Diese Variable gewährt Zugriff auf die folgenden Eigenschaften eines abgebrochenen Warenkorbs oder einer abgebrochenen Suche:
|
Verwendung der erforderlichen Variablen
Wenn du eine benutzerdefinierte Liquid-E-Mail erstellst, ist die Variable unsubscribe_link oder unsubscribe_url erforderlich. Wenn du das Tracking der Öffnungsrate aktiviert hast, ist auch die Variable open_tracking erforderlich.
Obwohl diese Variablen an einer beliebigen Stelle im Code für deine E-Mail eingefügt werden können, ist der gängigste Ort, um sie hinzuzufügen, der Fußzeilenbereich einer E-Mail, wie im folgenden Beispiel:
<div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>Beispiel für benutzerdefinierten Liquid-Code
Du kannst deinen benutzerdefinierten Liquid- oder HTML-Code im Code-Editor hinzufügen. Der folgende Code ist ein Beispiel dafür, wie du Liquid-Code hinzufügen kannst, um deinen Shop-Namen, eine benutzerdefinierte Schaltfläche und ein Bild in benutzerdefinierter Größe in einer E-Mail-Nachricht anzuzeigen.
<!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>