Zum Hauptinhalt springen

Use Liquid Templating for Message Personalization

Erfahren Sie, wie Sie die Liquid-Syntax für fortgeschrittene Personalisierung und dynamische Inhalte verwenden

Verfasst von Ira

Liquid-Templating ermöglicht es Ihnen, personalisierte Nachrichten mit fortschrittlicher Logik zu erstellen, wie z. B. das Anzeigen unterschiedlicher Inhalte basierend auf dem Standort des Kunden, die Verwendung von Fallback-Text, wenn Daten fehlen, oder das dynamische Formatieren von Daten und Preisen. Verwenden Sie Liquid in E-Mail-Kampagnen, Die SMS und Push-Benachrichtigungen.


Bevor Sie beginnen

  • Liquid-Templating funktioniert in Kampagnen und Die Automatisierung – Die E-Mail, Die SMS und Push-Benachrichtigungen unterstützen alle Liquid-Objekte und -Filter.

  • Testen Sie die Personalisierung vor dem Versenden – Test-E-Mails zeigen rohe Liquid-Tags ([[ contact.first_name ]]). Verwenden Test & Vorschau im Editor und wählen Sie einen echten Kontakt aus, um die Personalisierung anzuzeigen.

  • Fügen Sie immer Fallback-Werte hinzu – Verwenden Sie | standard: 'text', um leere Räume zu vermeiden, wenn Kontaktdaten fehlen.

  • Omnisend verwendet eine modifizierte Liquid-Syntax – Ersetzen Sie Shopifys geschweifte Klammern {{ }} durch eckige Klammern [[ ]].

🔁 Neu in der Personalisierung? Beginnen Sie mit standardmäßiger Personalisierung, bevor Sie Liquid verwenden. Liquid ist für fortgeschrittene Anwendungsfälle.

Übersicht: Was ist Liquid

Liquid ist eine Open-Source-Template-Sprache, die von Shopify erstellt wurde. Es ermöglicht Ihnen, dynamische Inhalte in Nachrichten mit drei Elementen einzufügen:

  1. Objekte – Variablen, die Kontakt- oder Bestelldaten ausgeben ([[ contact.first_name ]]

  2. Tags – Logik und Kontrollfluss ([% if contact.country == 'Frankreich' %])

  3. Filter – Modifizieren Sie die Ausgabe ([[ contact.first_name | capitalize ]])

Omnisend verwendet eine modifizierte Version von Liquid:

  • Objekte: Verwenden Sie [[ ]] anstelle von {{ }} - Beispiel: [[ contact.first_name ]]

  • Tags: Verwenden Sie [% %] anstelle von {% %} - Beispiel: [% if contact.country == 'Frankreich' %]

💬 Erfahren Sie mehr über Liquid in Shopifys Dokumentation und denken Sie daran, geschweifte Klammern durch eckige Klammern in Omnisend zu ersetzen.

Objekte

Objekte sind Variablen, die dynamische Inhalte aus Kontaktprofilen, Bestellungen oder Ihren Kontoeinstellungen ausgeben. Objekte sind immer in doppelten eckigen Klammern eingeschlossen.

[[ contact.first_name ]]

Verfügbare Objektgruppen:

  • Der Kontakt Eigenschaften: [[ contact.variable ]] (Name, E-Mail, Standort, benutzerdefinierte Eigenschaften)

  • Das Kontoeigenschaften: [[ account.variable ]] (Der Webshop-Name, Webseite, Währung)

  • Bestellmerkmale: [[ order.variable ]] (Bestell-ID, Gesamtbetrag, Artikel) – Die Automatisierung Workflows nur

  • Eigenschaften des Warenkorbs: [[ cart.variable ]] (URL des Warenkorbabbruchs) – Die Automatisierung Workflows nur

  • Datumsattribute: [[ current_date ]] (aktueller Tag, Monat, Jahr)

Siehe die vollständige Objekte Referenztabelle unten.

Filter

Filter ändern die Ausgabe eines Liquid-Objekts. Filter sind durch ein Pipe | Symbol getrennt.


Beispiel:

[[ 'mywebsite.com/orders/' | append: order.order_id ]]

Häufige Filter:

  • default – Fügen Sie Fallback-Text hinzu, wenn Daten fehlen:[[ contact.first_name | default: 'there' ]]

  • capitalize – Machen Sie den ersten Buchstaben groß:[[ contact.city | capitalize ]]

  • upcase – In Großbuchstaben umwandeln:[[ contact.country | upcase ]]

  • anhängen – Fügen Sie Text am Ende hinzu:[[ account.website | append: '/sale' ]]

  • date – Datumsformatierung:[[ current_date | date:'%B %d, %Y' ]] → "13. Mai 2026"

  • vocative – Passen Sie Namen in unterstützten Sprachen an die Vokativform an:[[ contact.first_name | vocative ]]

Erfahren Sie mehr über Liquid-Filter in der Shopify-Dokumentation – denken Sie daran, die [[ ]] Syntax von Omnisend zu verwenden.

Tags (Nur Automatisierung)

Tags erstellen Logik und Steuerfluss in Nachrichten. Tags sind in [% %] Klammern eingeschlossen und erzeugen keinen sichtbaren Text.

Beispiel:

[% if contact.first_name %] Hi [[ contact.first_name ]] [% endif %]

⚠️ Tags funktionieren nur in der Automatisierung – nicht in Kampagnen. Erfahren Sie mehr über Liquid-Tags in der Shopify-Dokumentation.

Häufige Anwendungsfälle

Hier sind mehrere hilfreiche häufige Anwendungsfälle für Liquid-Syntax:

Die Personalisierung

Hi [[ contact.first_name ]], welcome to Omnisend!

Ausgabe: "Hallo Sarah, willkommen bei Omnisend!"

💡 Tipp: Dieser Filter passt den Namen automatisch an seine Vokativform in unterstützten Sprachen an, wodurch Ihre Nachrichten natürlicher und persönlicher klingen. Dies kann erreicht werden durch vokative Personalisierung: [[ contact.first_name | vocative ]]

Personalisierung mit Fallback

Hi [[ contact.first_name | default: 'there' ]], welcome to Omnisend!

Ausgabe (wenn der Vorname fehlt): "Hallo da, willkommen bei Omnisend!"

🔁 Warum Fallbacks verwenden?
Wenn im Profil eines Kontakts Daten fehlen (z. B. kein Vorname), werden die Personalisierungstags leere Felder anzeigen. Fallbacks verhindern dies:

  • Mit Fallback: Hallo [[ contact.first_name | default: 'da' ]] → "Hallo da"

  • Ohne Fallback: Hallo [[ contact.first_name ]] → "Hallo "

Fügen Sie immer Fallbacks hinzu, um peinliche leere Stellen zu vermeiden.

Variableninsertion in Nachrichten

Fügen Sie Liquid-Variablen ein in:

  • Betreffzeilen der E-Mail:Vergiss deinen Warenkorb nicht, [[ contact.first_name ]]!

  • Die E-Mail-Text:Ihr Bestellgesamtbetrag: [[ order.total_price ]] [[ order.currency ]]

  • Die SMS-Nachrichten:Hallo [[ contact.first_name ]], Ihre Bestellung #[[ order.order_number ]] wurde versendet!

  • Push-Benachrichtigungen:[[ contact.first_name ]], 20% Rabatt endet heute

  • Schaltflächenlinks:[[ account.website ]]/orders/[[ order.order_id ]]

Bedingte Logik (nur Automatisierungen)

Verwenden Sie bedingte Anweisungen, um unterschiedliche Inhalte basierend auf Kontaktdaten anzuzeigen.

Sprache Lokalisierung

[% 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 %]

Standortbasierte Inhalte

[% if contact.country == 'UK' or contact.country == 'Ireland' %] Have you visited our newest flagship store in London? [% endif %]

Formatierung

Ersten Buchstaben großschreiben

Hi [[ contact.first_name | capitalize ]]

Ausgabe: "Hallo sarah" → "Hallo Sarah"

Benutzerdefinierten Text anhängen

[% assign campaign_destination = '/landing_page.html' %]  [[ account.website | append: campaign_destination ]]

Datumsformatierung

Omnisend © [[ current_date | date:'%Y' ]]

Ausgabe: "Omnisend © 2026"

Datumsformatoptionen:

  • %d – Tag (13)

  • %A – Tagesname (Mittwoch)

  • %m – Monatsnummer (05)

  • %B – Monatsname (Mai)

  • %Y – Jahr (2026

Objekte Referenztabelle

Der Kontakt Eigenschaften

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Die E-Mail

[[ contact.email ]]

string

Der Kontakt Die E-Mail

Name

[[ contact.first_name ]]

string

Vorname des Kontakts

Nachname

[[ contact.last_name ]]

string

Nachname des Kontakts

Stadt

[[ contact.city ]]

string

Stadt des Kontakts

Land

[[ contact.country ]]

string

Land des Kontakts

Bundesstaat

[[ contact.state ]]

Zeichenfolge

Bundesstaat des Kontakts

Postleitzahl

[[ contact.postal_code ]]

Zeichenfolge

Postleitzahl des Kontakts

Abmeldelink

[[ unsubscribe_link ]]

Link des Kontakts zur Abmeldung

Link zum Präferenzzentrum

[[ preference_link ]]

Link zu den Kontaktpräferenzen

Benutzerdefinierte Eigenschaften

[[ contact.custom_properties.customPropertyName ]]

Objekt

Benutzerdefinierte Eigenschaften des Kontakts

Telefonnummer

[[ contact.phone_number ]]

Zeichenfolge

Telefonnummer des Kontakts

Kontoeigenschaften

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Die E-Mail

[[ contact.email ]]

Zeichenfolge

Der Kontakt Die E-Mail

Name

[[ contact.first_name ]]

Zeichenfolge

Vorname des Kontakts

Nachname

[[ contact.last_name ]]

Zeichenfolge

Nachname des Kontakts

Stadt

[[ contact.city ]]

Zeichenfolge

Stadt des Kontakts

Land

[[ contact.country ]]

Zeichenfolge

Land des Kontakts

Bundesland

[[ contact.state ]]

Zeichenfolge

Bundesland des Kontakts

Postleitzahl

[[ contact.postal_code ]]

Zeichenfolge

Postleitzahl des Kontakts

Abmeldelink

[[ unsubscribe_link ]]

Link des Kontakts zum Abmelden

Link zum Präferenzzentrum

[[ preference_link ]]

Link zu den Kontaktpräferenzen

Benutzerdefinierte Eigenschaften

[[ contact.custom_properties.customPropertyName ]]

Objekt

Benutzerdefinierte Eigenschaften des Kontakts

Telefonnummer

[[ contact.phone_number ]]

Zeichenfolge

Telefonnummer des Kontakts

Kontoeigenschaften

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Name

[[ account.name ]]

Zeichenfolge

Name des Kontos

Adresse

[[ account.address ]]

Zeichenfolge

Adresse des Kontos

Stadt

[[ account.city ]]

string

Stadt des Kontos

PLZ / Postleitzahl

[[ account.zipCode ]]

string

PLZ / Postleitzahl des Kontos

Land

[[ account.country ]]

string

Land des Kontos

Website-URL

[[ account.website ]]

string

Website-URL des Kontos

Zeitzone

[[ account.timezone ]]

string

Zeitzone des Kontos

Währung

[[ account.currency ]]

string

Währung des Kontos

Datumseigenschaften

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Aktueller Tag

[[ current_date | date:'%d' ]]

-

Der Tag, an dem die Aktion durchgeführt wird

Aktueller Wochentag

[[ current_date | date:'%A' ]]

-

Der Tag, an dem die Aktion durchgeführt wird

Aktueller Monat

[[ current_date | date:'%m' ]]

-

Der Monat, in dem die Aktion durchgeführt wird

Aktueller Monatsname

[[ current_date | date:'%B' ]]

-

Der Monatsname, in dem die Aktion durchgeführt wird

Aktuelles Jahr

[[ current_date | date:'%Y' ]]

-

Das aktuelle Jahr, in dem die Aktion durchgeführt wird

Die Bestellungs Eigenschaften (nur Automatisierung)

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Bestell-ID

[[ order.order_id ]]

string

Bestell-ID

Bestellnummer

[[ order.order_number ]]

int64

Bestellnummer

Bestellname

[[ order.order_name ]]

string

Bestellname

Bestelldatum

[[ order.order_date ]]

Datum

Datum, an dem die Bestellung erstellt wird

Währung

[[ order.currency ]]

string

Währung der Bestellung

Gesamtpreis

[[ order.total_price ]]

int64

Gesamtsumme der Bestellung

Zwischensumme

[[ order.subtotal_price ]]

int64

Zwischensumme der Bestellung

Rabatt

[[ order.discount ]]

int64

Rabatt der Bestellung

Versandkosten

[[ order.shipping_price ]]

int64

Versandkosten der Bestellung

URL zur Bestellstatusseite

[[ order.order_url ]]

string

URL, um genaue Bestellinformationen zu erhalten

Bestellnotiz

[[ order.note ]]

string

Zusätzliche Bestellnotizen

Rechnungsadresse (Nur Automatisierung)

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Vorname

[[ order.billing_address.first_name ]]

string

Vorname des Kontakts, der in der Die Abrechnung angegeben ist

Nachname

[[ order.billing_address.last_name ]]

string

Nachname des Kontakts, der in der Die Abrechnung angegeben ist

Land

[[ order.billing_address.country ]]

string

Land des Kontakts, das in der Die Abrechnung angegeben ist

Ländercode

[[ order.billing_address.country_code ]]

string

Ländervorwahl des Kontakts, die in der Die Abrechnung angegeben ist

Bundesland

[[ order.billing_address.state ]]

string

Bundesland des Kontakts, das in der Die Abrechnung angegeben ist

Bundeslandcode

[[ order.billing_address.state_code ]]

string

Bundeslandcode des Kontakts, der in der Die Abrechnung angegeben ist

Stadt

[[ order.billing_address.city ]]

string

Stadt des Kontakts, die in der Die Abrechnung angegeben ist

Address 1 und

[[ order.billing_address.address1 ]]

string

Adresse des Kontakts (1. Zeile), die in der Die Abrechnung angegeben ist

Adresse 2

[[ order.billing_address.address2 ]]

string

Adresse des Kontakts (2. Zeile), die in der Die Abrechnung angegeben ist

PLZ / Postleitzahl

[[ order.billing_address.zip ]]

string

Postleitzahl des Kontakts, die in der Die Abrechnung angegeben ist

Unternehmen

[[ order.billing_address.company ]]

string

Firmenbezeichnung des Kontakts, die in der Die Abrechnung angegeben ist

Telefon

[[ order.billing_address.phone ]]

string

Telefonnummer des Kontakts, die in der Die Abrechnung angegeben ist

Lieferadresse (Nur Automatisierung)

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Vorname

[[ order.shipping_address.first_name ]]

string

Vorname des Kontakts, der in der Versandadresse angegeben ist

Nachname

[[ order.shipping_address.last_name ]]

string

Nachname des Kontakts, der in der Versandadresse angegeben ist

Land

[[ order.shipping_address.country ]]

string

Land des Kontakts, das in der Versandadresse angegeben ist

Ländercode

[[ order.shipping_address.country_code ]]

string

Ländercode des Kontakts, der in der Versandadresse angegeben ist

Bundesland

[[ order.shipping_address.state ]]

string

Bundesland des Kontakts, das in der Versandadresse angegeben ist

Bundeslandcode

[[ order.shipping_address.state_code ]]

string

Bundesstaat-Code des Kontakts, der in der Versandadresse angegeben ist

Stadt

[[ order.shipping_address.city ]]

string

Stadt des Kontakts, die in der Versandadresse angegeben ist

Address 1 und

[[ order.shipping_address.address1 ]]

string

Adresse des Kontakts (1. Zeile), die in der Versandadresse angegeben ist

Adresse 2

[[ order.shipping_address.address2 ]]

string

Adresse des Kontakts (2. Zeile), die in der Versandadresse angegeben ist

PLZ / Postleitzahl

[[ order.shipping_address.zip ]]

string

PLZ / Postleitzahl des Kontakts, die in der Versandadresse angegeben ist

Firma

[[ order.shipping_address.company ]]

string

Firmenname des Kontakts, der in der Versandadresse angegeben ist

Telefon

[[ order.shipping_address.phone ]]

string

Telefonnummer des Kontakts, die in der Versandadresse angegeben ist

Warenkorb-Eigenschaften (Nur Automatisierung)

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

URL für den Warenkorbabbruch

[[ abandoned_cart.recover_url ]]

string

URL, um den abgebrochenen Warenkorb zu erreichen/wiederherzustellen

Fehlerbehebung

Die Personalisierung zeigt rohen Code in E-Mails

Grund: Sie sehen eine Test-E-Mail anstelle einer Live-E-Mail.

Lösung: Test-E-Mails zeigen immer rohe Liquid-Tags ([[ contact.first_name ]]). Um die Personalisierung zu testen:

  • Verwenden Sie Test & Vorschau im Editor und wählen Sie einen echten Kontakt aus.

  • Oder senden Sie die Kampagne/Automatisierung live an Ihre eigene E-Mail (stellen Sie sicher, dass Ihr Kontaktprofil Daten enthält).

Die Personalisierung wird in Live-E-Mails nicht transformiert

Ursache: Die Liquid-Markierung könnte ihre Integrität verloren haben, wenn sie teilweise bearbeitet wurde.

Lösung: Löschen Sie die gesamte Personalisierungsmarkierung und fügen Sie sie erneut ein, indem Sie das Die Personalisierungsmarkierung Menü im Editor.

Fallback-Text funktioniert nicht

Ursache: Falsche Syntax oder fehlende Anführungszeichen.

Lösung: Stellen Sie sicher, dass Fallback-Werte in Anführungszeichen gesetzt sind:

  • [[ contact.first_name | default: 'there' ]]

  • [[ contact.first_name | default: there ]]

Bedingte Logik funktioniert nicht in Kampagnen

Ursache: Tags und bedingte Anweisungen funktionieren nur in Automatisierungs-Workflows.

Lösung: Verwenden Sie bedingte Logik in Automatisierungen – nicht in Kampagnen.

FAQ

Kann ich Liquid in SMS und Push-Benachrichtigungen verwenden?

Ja. Liquid-Objekte und -Filter funktionieren in E-Mail, Die SMS und Push-Benachrichtigungen. Bedingte Logik funktioniert nur in der Automatisierung.

Was ist der Unterschied zwischen {{ }} und [[ ]]?

Shopify verwendet {{ }} für Liquid-Objekte. Omnisend verwendet [[ ]]. Wenn Sie Liquid-Code aus der Shopify-Dokumentation kopieren, ersetzen Sie geschweifte Klammern durch eckige Klammern.

Muss ich Fallback-Werte hinzufügen?

Ja. Fügen Sie immer Fallbacks hinzu, um leere Räume zu vermeiden, wenn Kontaktdaten fehlen:
[[ contact.first_name | default: 'there' ]]

Kann ich mehrere Filter kombinieren?

Ja. Verketten Sie Filter mit |-Symbolen:
[[ contact.first_name | capitalize | default: 'there' ]]

Wo finde ich weitere Liquid-Beispiele?

Erfahren Sie mehr in Shopifys Liquid-Dokumentation – denken Sie daran, {{ }} durch [[ ]] und {% %} durch [% %] in Omnisend zu ersetzen.


Sie können unser preisgekröntes Support-Team für zusätzliche Unterstützung über den In-App-Chat oder unter [email protected] kontaktieren.

Hat dies deine Frage beantwortet?