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.

Ü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_link oder unsubscribe_url ist in benutzerdefinierten Liquid-E-Mails erforderlich. Wenn du das Tracking der Öffnungsrate aktiviert hast, ist auch die Variable open_tracking erforderlich. 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:

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.

Beschreibung der von Shopify Messaging unterstützten Liquid-Variablen
VariableBeschreibung
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.store_credit_account.balance | money_with_currency}}
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.
    • Adresse zeigt die Shop-Adresse an, die Zugriff auf die folgenden Adress-Eigenschaften gibt:
      • address1
      • address2
      • city
      • country
      • phone
      • province
      • zip
    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.

    Beschreibung der von Shopify Messaging unterstützten Liquid-Variablen für abgebrochene Suchen, Warenkörbe und Checkouts
    VariableBeschreibung
    abandoned_checkout.*

    Diese Variable ermöglicht den Zugriff auf die folgenden Eigenschaften eines abgebrochenen Checkouts:

    • url zeigt die URL des abgebrochenen Checkouts an.
    • line_items zeigt die ersten fünf Positionen des abgebrochenen Checkouts an. Darüber hinaus enthält jedes line_items -Objekt die folgenden Eigenschaften zu jedem Produkt:
      • components
      • image_url
      • product_title
      • variant_title
      • quantity
    • line_items.components zeigt die Komponenten des abgebrochenen Checkouts an. Darüber hinaus enthält jedes components -Objekt die folgenden Eigenschaften zu jeder Komponente:
      • image_url
      • quantity
      • product_title
      • variant_title
    • remaining_products_count zeigt die Anzahl der verbleibenden Positionen an, wenn der abgebrochene Checkout mehr als fünf Positionen enthält.
    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_price | money }}

    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: /products/great-product?ref=my-tracking-token

    landing_site_ref

    Extrahiert einen Referenzparameter von der Landing-Seite. Referenzparameter können sein: ref, source, r.

    Wenn die landing_site /products/great-product?ref=my-tracking-token ist, dann ist der landing_site_ref my-tracking-token. Du kannst eine bestimmte Aktion ausführen, wenn dein Referenzparameter einem bestimmten Wert entspricht:

    {% 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: https://www.google.com/?s=great+products

    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
    true
    oder
    false
    zurü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.
    email
    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: {{ attributes.gift-note }}

    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
    true
    oder
    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.

    Beschreibung der von Shopify Messaging unterstützten Liquid-Variablen
    VariableBeschreibung
    abandoned_visit.*

    Diese Variable gewährt Zugriff auf die folgenden Eigenschaften eines abgebrochenen Warenkorbs oder einer abgebrochenen Suche:

    • url zeigt die URL des abgebrochenen Warenkorbs oder der abgebrochenen Suche an.
    • products_added_to_cart zeigt die ersten fünf Produktpositionen an, die dem Warenkorb des abgebrochenen Besuchs hinzugefügt wurden. Darüber hinaus enthält jedes products_added_to_cart -Objekt die folgenden Eigenschaften zu jedem Produkt:
      • title
      • image_url
      • variant_title
      • quantity
    • products_viewed zeigt die ersten fünf Produkte an, die während des abgebrochenen Besuchs angesehen wurden. Darüber hinaus enthält jedes products_viewed -Objekt die folgenden Eigenschaften zu jedem Produkt:
      • title
      • description
      • image_url
      • url
      • image_alt_text
    • remaining_cart_products_count zeigt die Anzahl der verbleibenden Positionen an, wenn der abgebrochene Checkout mehr als fünf Positionen enthält.

    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>