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 Senden – Test-E-Mails enthalten keine echten Kontaktdaten. Fallback-Werte werden angezeigt, wenn einStandard: Filter wird verwendet.Verwenden Sie die dynamische Vorschau oder einen Testkontakt, um echte Kontaktdaten zu sehen.

  • Fügen Sie immer Fallback-Werte hinzu – Verwenden Sie | Standard: 'text', um Leerstellen 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 == 'France' %])

  3. Filter – Ändern 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 == 'France' %]

📝 Erfahren Sie mehr über Liquid in der Shopify-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 doppelte eckige Klammern eingeschlossen.

[[ contact.first_name ]]

Verfügbare Objektgruppen:

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

  • Konto-Eigenschaften: [[ account.variable ]] (Shopname, Website, Währung)

  • Bestell-Eigenschaften: [[ order.variable ]] (Bestell-ID, Gesamt, Artikel) – Automatisierungs-Workflows nur

  • Warenkorb-Eigenschaften: [[ cart.variable ]] (URL des abgebrochenen Warenkorbs) – Automatisierungs-Workflows nur

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

Sehen Sie sich die vollständige Objekte Referenztabelle unten an.

Filter

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


Beispiel:

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

Häufige Filter:

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

  • großschreiben – Den ersten Buchstaben großschreiben:[[ contact.city | capitalize ]]

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

  • append – Text am Ende hinzufügen:[[ account.website | append: '/sale' ]]

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

  • vokativ – Namen in die Vokativform in unterstützten Sprachen anpassen:[[ 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 [% %] geschweifte 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 die Liquid-Syntax:

Die Personalisierung

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

Ausgabe: "Hi 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): "Hi there, willkommen bei Omnisend!"

4a1 Warum Fallbacks verwenden?
Wenn das Profil eines Kontakts Daten vermisst (z. B. keinen Vornamen), zeigen Personalisierungstags leere Stellen an. Fallbacks verhindern dies:

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

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

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

Variableninsertion in Nachrichten

Fügen Sie Liquid-Variablen ein in:

  • Betreffzeilen von E-Mails:Vergessen Sie Ihren Warenkorb nicht, [[ contact.first_name ]]!

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

  • 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.

Sprachlokalisierung

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

Standortbasierter Inhalt

[% 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: "Hi sarah" 8594 "Hi Sarah"

Benutzerdefinierten Text anhängen

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

Datumsformatierung

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

Ausgabe: "Omnisend 9 2026"

Datumsformatoptionen:

  • %d – Tag (13)

  • %A – Wochentag (Mittwoch)

  • %m – Monatsnummer (05)

  • %B – Monatsname (Mai)

  • %Y – Jahr (2026

Objekte Referenztabelle

Kontakt-Eigenschaften

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Die E-Mail

[[ contact.email ]]

string

E-Mail des Kontakts

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

Bundesland

[[ contact.state ]]

Zeichenfolge

Bundesland des Kontakts

Postleitzahl

[[ contact.postal_code ]]

Zeichenfolge

Postleitzahl des Kontakts

Abmeldelink

[[ unsubscribe_link ]]

Link des Kontakts zur Abmeldung

Link zum Präferenzzentrum

[[ preference_link ]]

Der Kontaktpräferenzlink

Benutzerdefinierte Eigenschaften

[[ contact.custom_properties.customPropertyName ]]

object

Die benutzerdefinierten Eigenschaften des Kontakts

Telefonnummer

[[ contact.phone_number ]]

string

Die Telefonnummer des Kontakts

Kontoeigenschaften

Dropdown-Titel

Die Markierung

Werttyp

Beschreibung

Name

[[ account.name ]]

string

Name des Kontos

Adresse

[[ account.address ]]

string

Die Adresse des Kontos

Stadt

[[ account.city ]]

string

Die Stadt des Kontos

PLZ / Postleitzahl

[[ account.zipCode ]]

string

Die PLZ / Postleitzahl des Kontos

Land

[[ account.country ]]

string

Das Land des Kontos

Website-URL

[[ account.website ]]

string

Die Website-URL des Kontos

Zeitzone

[[ account.timezone ]]

string

Die Zeitzone des Kontos

Währung

[[ account.currency ]]

string

Die 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 Tagesname

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

Bestelleigenschaften (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 wurde

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 der Bestellstatusseite

[[ order.order_url ]]

string

URL, um genaue Bestellinformationen zu erhalten

Bestellnotiz

[[ order.note ]]

string

Zusätzliche Bestellnotizen

Rechnungsadresse (nur Automatisierung)

Dropdown-Titel

Tag

Werttyp

Beschreibung

Vorname

[[ order.billing_address.first_name ]]

string

Vorname des Kontakts, der in der Rechnungsadresse angegeben ist

Nachname

[[ order.billing_address.last_name ]]

string

Nachname des Kontakts, der in der Rechnungsadresse angegeben ist

Land

[[ order.billing_address.country ]]

string

Land des Kontakts, das in der Rechnungsadresse angegeben ist

Ländercode

[[ order.billing_address.country_code ]]

string

Ländervorwahl des Kontakts, die in der Rechnungsadresse angegeben ist

Bundesland

[[ order.billing_address.state ]]

string

Bundesland des Kontakts, das in der Rechnungsadresse angegeben ist

Bundeslandcode

[[ order.billing_address.state_code ]]

string

Bundeslandcode des Kontakts, der in der Rechnungsadresse angegeben ist

Stadt

[[ order.billing_address.city ]]

string

Stadt des Kontakts, die in der Rechnungsadresse angegeben ist

Address 1 und

[[ order.billing_address.address1 ]]

string

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

Adresse 2

[[ order.billing_address.address2 ]]

string

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

PLZ / Postleitzahl

[[ order.billing_address.zip ]]

string

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

Firma

[[ order.billing_address.company ]]

string

Firmenname des Kontakts, der in der Rechnungsadresse angegeben ist

Telefon

[[ order.billing_address.phone ]]

string

Telefonnummer des Kontakts, die in der Rechnungsadresse angegeben ist

Versandadresse (nur Automatisierung)

Dropdown-Titel

Tag

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 Lieferadresse angegeben ist

Ländercode

[[ order.shipping_address.country_code ]]

string

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

Bundesland

[[ order.shipping_address.state ]]

string

Bundesland des Kontakts, das in der Lieferadresse angegeben ist

Bundeslandcode

[[ order.shipping_address.state_code ]]

string

Bundeslandcode des Kontakts, der in der Lieferadresse angegeben ist

Stadt

[[ order.shipping_address.city ]]

string

Stadt des Kontakts, die in der Lieferadresse angegeben ist

Address 1 und

[[ order.shipping_address.address1 ]]

string

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

Adresse 2

[[ order.shipping_address.address2 ]]

string

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

PLZ / Postleitzahl

[[ order.shipping_address.zip ]]

string

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

Firma

[[ order.shipping_address.company ]]

string

Titel des Unternehmens 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

Markierung

Werttyp

Beschreibung

URL für den Warenkorbabbruch

[[ abandoned_cart.recover_url ]]

string

URL zum Erreichen/Wiederherstellen des Warenkorbabbruchs

Fehlerbehebung

Die Personalisierung zeigt Rohcode in E-Mails

Ursache: 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: Das Liquid-Tag könnte seine Integrität verloren haben, wenn es teilweise bearbeitet wurde.

Lösung: Löschen Sie die gesamte Personalisierungsmarkierung und fügen Sie sie erneut ein, indem Sie das Die Personalisierung Markierungssymbol in der Symbolleiste, oder tippe @ im Textblock. Dies stellt sicher, dass das Tag korrekt formatiert ist.

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 Stellen zu vermeiden, wenn Kontaktdaten fehlen:
[[ contact.first_name | default: 'there' ]]

Kann ich mehrere Filter kombinieren?

Ja. Kettenfilter 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?