Shopify Email-Kampagnen mit Liquid anpassen
Liquid ist die einfache und leicht zu verwendende Programmiersprache von Shopify, mit der auch Themes aus dem Shopify Theme Store erstellt werden.
Du kannst benutzerdefinierten Liquid-Code verwenden, um deine Shopify Email-Nachrichten zu verbessern, indem du eine vollständig durch benutzerdefinierten Code angepasste E-Mail erstellst oder einen benutzerdefinierten Liquid-Abschnitt zu einer Vorlage hinzufügst. Bei Verwendung dieser Optionen kannst du benutzerdefinierten Liquid- oder HTML-Code eingeben.
Du kannst benutzerdefiniertes Liquid verwenden, um benutzerdefinierte Elemente wie nebeneinander liegende Bilder, benutzerdefinierte Schaltflächen, Bilder mit benutzerdefinierter Größe und benutzerdefinierte Abschnittsgrößen anzuzeigen.
Auf dieser Seite
Überlegungen
Beachte die folgenden Überlegungen, bevor du beginnst, benutzerdefiniertes Liquid zu deinen Shopify Email-Nachrichten hinzuzufügen:
- Die Variablen, die du in deinen Code einfügst, müssen von benutzerdefiniertem Liquid unterstützt werden.
- Du kannst nur ein Desktop-Gerät verwenden, um einen Abschnitt für benutzerdefiniertes Liquid zu erstellen.
- Die Variable
unsubscribe_link
oderunsubscribe_url
ist in benutzerdefinierten Liquid-E-Mails erforderlich. Wenn du die Nachverfolgung von geöffneten E-Mails aktiviert hast, ist auch die Variableopen_tracking
erforderlich. Erfahre mehr über das Hinzufügen von erforderlichen Variablen zu deiner E-Mail. - Der Code, den du eingibst, unterliegt den folgenden Einschränkungen: - Maximal 50 Kilobyte (KB) für benutzerdefinierte Liquid-Abschnitte. - Maximal 500 KB für benutzerdefinierte Liquid-E-Mails.
In benutzerdefiniertem Liquid unterstützte Liquid-Variablen
Du kannst unterstützte Variablen verwenden, um deine Shopify-E-Mail-Nachrichten mit Liquid anzupassen. Du kannst die Listen der unterstützten Liquid-Variablen für die folgenden Vorlagentypen überprüfen:
- Alle E-Mail-Vorlagen
- E-Mail-Vorlagen zu abgebrochenem Checkout
- E-Mail-Vorlagen zu abgebrochenen Suchen und abgebrochenem Warenkorb
Liquid-Variablen, die bei allen E-Mail-Vorlagen unterstützt werden
Mit den folgenden Variablen kannst du beliebige Shopify-E-Mail-Nachrichten mit Liquid anpassen.
Variable | Beschreibung |
---|---|
all_products | Alle Produkte in deinem Shop. |
customer.accepts_marketing | Gibt den Wert true aus, wenn der Kunde Marketing akzeptiert, und false , wenn nicht. |
customer.addresses | Gibt alle Adressen aus, die mit dem Kunden verknüpft sind. |
customer.addresses_count | Gibt die Anzahl der Adressen aus, die mit dem Kunden verknüpft sind. |
customer.b2b? | Gibt den Wert true aus, wenn es sich bei dem Kunden und einen B2B-Kunden handelt, und false , wenn nicht. |
customer.current_location | Gibt den aktuell ausgewählten Unternehmensstandort des Kunden aus. |
customer.default_address | Gibt die Standardadresse des Kunden aus. |
customer.email | Gibt die E-Mail-Adresse der Kunden aus. |
customer.first_name | Gibt den Vornamen des Kunden aus. |
customer.has_account | Gibt den Wert true aus, wenn die E-Mail-Adresse des Kunden mit einem Kundenkonto verknüpft ist, und false , wenn nicht. |
customer.has_avatar? | Gibt den Wert true aus, wenn den Avatar des Kunden mit seinem Konto verknüpft ist, und false , wenn nicht. |
customer.id | Gibt die ID des Kunden aus. |
customer.last_name | Gibt den Nachnamen des Kunden aus. |
customer.last_order | Gibt die letzte vom Kunden aufgegebene Bestellung aus, Testbestellungen ausgenommen. |
customer.name | Gibt den vollen Namen des Kunden aus. |
customer.orders | Gibt alle Bestellungen aus, die der Kunde aufgegeben hat. |
customer.orders_count | Gibt die Gesamtzahl der Bestellungen aus, die ein Kunde aufgegeben hat. |
customer.payment_methods | Gibt die gespeicherte Zahlungsmethode des Kunden zurück. |
customer.phone | Gibt die Telefonnummer des Kunden aus. Die Telefonnummer wird nur dann ausgefüllt, wenn der Kunde beim Checkout eine Telefonnummer verwendet hat, SMS Benachrichtigungen aktiviert hat oder wenn du sie manuell zu seinem Kundenkonto hinzugefügt hast. |
customer.store_credit_account.balance |
Gibt das Shop-Guthaben des Kunden in der mit dem entsprechenden Kontext verknüpften Währung zurück. Zum Beispiel:
|
customer.tags | Gibt die mit dem Kunden verknüpften Tags aus. |
customer.tax_exempt | Gibt den Wert true aus, wenn der Kunde steuerbefreit ist, und false , wenn nicht. |
customer.total_spent | Gibt den Gesamtbetrag aus, den der Kunde für alle Bestellungen über deinen Shop ausgegeben hat. |
email.* |
Diese Variable gewährt 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 gibt Zugriff auf den vorformatierten offenen Tracking-Block . Diese Variable ist erforderlich, wenn du eine benutzerdefinierte E-Mail erstellst und die Nachverfolgung von geöffneten E-Mails aktiviert hast. |
shop.* | Diese Variable gewährt Zugriff auf die folgenden Shop-Eigenschaften:
name zeigt den Shop-Namen an.domain zeigt die primäre Domain des Shops an.url zeigt die Shop-URL 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 benutzerdefinierte E-Mail-Adresse erstellst, musst du dies Variable unsubscribe_url oder unsubscribe_link verwenden. Sowohl unsubscribe_url als auch unsubscribe_link verweisen immer auf die primäre Domäne des Onlineshops und können nicht auf ein anderes Ziel geändert werden. |
Liquid-Variablen, die bei E-Mails zu abgebrochenen Checkouts unterstützt werden
Mit den folgenden Variablen kannst du Shopify-E-Mail-Nachrichten zu abgebrochenen Checkouts mit Liquid anpassen.
Variable | Beschreibung |
---|---|
abandoned_checkout.* |
Diese Variable gewährt Zugriff auf die folgenden Eigenschaften eines abgebrochenen Checkouts:
|
id(checkout ID) | Eine eindeutige Checkout-ID für den internen Gebrauch. |
shop | Der Name deines Shopify-Stores. |
name | Der Name des abgebrochenen Checkouts. Wird auch als Checkout-Nummer bezeichnet. |
total_price | Gesamtsumme der Bestellung (Zwischensumme + Versandkosten - Versandkostenrabatt + Steuern). |
shipping_price |
Der Versandpreis. Beispiel: |
shipping_address | Die Lieferadresse. |
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 vom Kunden verwendeten Landing Page. Dabei handelt es sich um die erste Seite, auf die der Kunde nach dem Aufrufen des Shops zugegriffen hat. Beispiel: |
landing_site_ref |
Extrahiert einen Referenzparameter von der Landing Page.Referenzparameter können sein: Wenn bei {% if landing_site_ref == 'my-tracking-token' %} Meine Aktion... {% endif %} |
referring_site |
Die URL des Empfehlungsgebers, der den Kunden zu deinem Shop geführt hat. Beispiel: |
created_at | Das Datum und die Uhrzeit der Checkout-Erstellung durch den Kunden, den er später abgebrochen hat. |
closed_at | Das Datum und die Uhrzeit der Checkout-Schließung. |
customer_locale | Der zwei- oder dreibuchstabige Sprachcode für das Gebietsschema des Kunden, optional gefolgt von einem Regions-Modifikator. Zum Beispiel: en, en-CA |
item_count | Eine Summe aller Artikelmengen. |
unique_gateways | Eine Liste mit eindeutigen Zahlungsanbietern, die beim Checkout zur Verfügung stehen. |
discount | Der Rabatt, der auf den Warenkorb oder eine Position im abgebrochenen Warenkorb angewendet wurde. |
discounts | Eine Liste von Rabatten, die auf den Checkout angewendet werden. |
successfully_applied_discounts | Die Rabatte, die erfolgreich beim Checkout angewendet wurden. |
discounts_amount |
Der Dollarbetrag des Rabatts, der durch alle Rabatte angewendet wird. Beispiel: +5,00 USD |
discounts_savings |
Der Dollarbetrag aller Einsparungen, die durch alle Rabatte erzielt wurden. Beispiel: -5,00 USD |
buyer_accepts_marketing | Retouren trueOder falseJe nachdem, ob der Kunde während des abgebrochenen Checkouts Marketing akzeptiert hat. |
subtotal_line_items | Die Positionen, die zur Berechnung der Zwischensumme beim Checkout verwendet werden, ohne Trinkgeld-Positionen. |
requires_shipping | Retouren trueWenn mindestens ein Artikel im Checkout vorliegt, der den Versand erfordert. |
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 Steuertyp: {% 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 Attribute, die dem abgebrochenen Checkout beigefügt wurden. Beispiel: |
shipping_method | Informationen zur ersten Versandart, die im Checkout verfügbar ist. |
shipping_methods | Die im Checkout verfügbaren Versandarten. |
free | Retouren true Wenn der Gesamtpreis des Checkouts null beträgt. |
free_shipping | Retouren trueWenn für den Checkout kein Versand erforderlich ist oder der Preis für den Versand null beträgt. |
different_billing_address | Retouren trueOder falseJe nachdem, ob die Lieferadresse mit der Rechnungsadresse identisch ist. |
customer | Das Kundenobjekt, das die Attribute der Kunden-Ausgabe enthält. |
gift_cards | Die beim Checkout angewendeten Geschenkgutscheine. |
gift_cards_amount | Der Betrag des Checkout-Preises, der mit Geschenkgutscheinen bezahlt werden 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 Gesamttrinkgeld, das der Kunde beim Checkout hinzugefügt hat. |
discount_applications | Beschreibt, warum und wie ein Artikel beim Checkout rabattiert wurde. |
cart_level_discount_applications | Die warenkorbspezifischen Rabattanwendungen auf den Warenkorb. |
currency | Die Währung des abgebrochenen Checkouts. |
line_items_subtotal_price | Die Summe der Preise aller Positionen im Checkout, nachdem alle Rabatte auf Positionen angewendet wurden. |
Liquid-Variablen für E-Mails zu abgebrochenen Suchen und abgebrochenen Warenkörben
Die Variable abandoned_visit.*
wird nur ausgefüllt, wenn eine E-Mail ein Bestandteil der Marketingautomatisierung bei abgebrochenen Warenkörben oder abgebrochenen 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:
|
Erforderliche Variablen verwenden
Wenn du eine benutzerdefinierte Liquid-E-Mail erstellst, ist die Variable unsubscribe_link
oder unsubscribe_url
erforderlich. Wenn du die Nachverfolgung von geöffneten E-Mails aktiviert hast, ist auch die Variable open_tracking
erforderlich.
Obwohl diese Variablen an einer beliebigen Stelle im Code deiner E-Mail eingefügt werden können, stellt der Fußzeilenabschnitt einer E-Mail eine häufig verwendete Stelle für das Hinzufügen der Variablen dar. Es folgt ein Beispiel:
<div id="footer">{{ unsubscribe_link }} {{ open_tracking_block }}</div>
Beispiel für benutzerdefinierten Liquid-Code
Du kannst benutzerdefiniertes Liquid und HTML in den Code-Editor eingeben. Der folgende Code ist ein Beispiel, wie du Liquid-Code hinzufügen kannst, um deinen Shop-Namen, eine benutzerdefinierte Schaltfläche und ein Bild mit 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>