Liquid verwenden
Dieser Artikel zeigt Ihnen, wie Sie verschiedene Nutzerattribute verwenden können, um persönliche Informationen dynamisch in Ihr Messaging einzufügen.
Liquid ist eine Open-Source-Template-Sprache, die von Shopify entwickelt und in Ruby geschrieben wurde. Sie können sie in Braze nutzen, um Nutzerprofildaten in Ihre Nachrichten einzubinden und diese Daten anzupassen. Beispielsweise können Sie Liquid-Tags verwenden, um bedingte Nachrichten zu erstellen, etwa um verschiedene Angebote basierend auf dem Abo-Jubiläumsdatum einer Nutzerin oder eines Nutzers zu versenden. Darüber hinaus können Filter Daten manipulieren, z. B. das Registrierungsdatum einer Nutzerin oder eines Nutzers von einem Zeitstempel in ein besser lesbares Format umwandeln, wie „15. Januar 2022“. Weitere Details zur Liquid-Syntax und ihren Möglichkeiten finden Sie unter Unterstützte Personalisierungs-Tags.
Funktionsweise
Liquid-Tags fungieren als Platzhalter in Ihren Nachrichten, die genehmigte Informationen aus dem Konto Ihrer Nutzer:innen abrufen und Personalisierung sowie relevante Messaging-Praktiken ermöglichen können.
Im folgenden Block sehen Sie eine doppelte Verwendung eines Liquid-Tags, um den Vornamen der Nutzer:innen abzurufen, sowie einen Standard-Tag für den Fall, dass ein:e Nutzer:in keinen Vornamen hinterlegt hat.
1
Hi {{ ${first_name} | default: 'Valued User' }}, thanks for using the App!
Für eine Nutzerin namens Janet Doe würde die Nachricht folgendermaßen erscheinen:
1
Hi Janet, thanks for using the App!
Oder…
1
Hi Valued User, thanks for using the App!

HTML-Kommentare (<!-- -->) werden entfernt, bevor Liquid gelesen wird. Daher werden Liquid-Tags innerhalb von HTML-Kommentaren in Ihrer Nachricht nicht gerendert. Für eine korrekte Darstellung stellen Sie sicher, dass sich alle Liquid-Tags, die Sie verwenden möchten, außerhalb von HTML-Kommentaren befinden.
Unterstützte Werte zum Einsetzen
Die folgenden Werte können je nach Verfügbarkeit in eine Nachricht eingesetzt werden:
- Grundlegende Nutzerinformationen (zum Beispiel
first_name,last_name,email_address) - Angepasste Attribute
- Angepasste Event-Eigenschaften
- Zuletzt verwendete Geräteinformationen
- Zielgeräteinformationen
Sie können Inhalte auch direkt von einem Webserver über Braze Connected Content abrufen.

Braze unterstützt derzeit Liquid bis einschließlich Liquid 5 von Shopify.
Liquid verwenden
Mit Liquid-Tags können Sie die Qualität Ihrer Nachrichten steigern, indem Sie ihnen eine persönliche Note verleihen.
Liquid-Syntax
Liquid folgt einer bestimmten Struktur bzw. Syntax, die Sie beim Erstellen dynamischer Personalisierung beachten müssen. Hier sind einige grundlegende Regeln, die Sie im Hinterkopf behalten sollten:
- Verwenden Sie gerade Anführungszeichen in Braze: Es gibt einen Unterschied zwischen typografischen Anführungszeichen (’ ‘) und geraden Anführungszeichen (' '). Verwenden Sie gerade Anführungszeichen (' ') in Ihrem Liquid in Braze. Beim Kopieren und Einfügen aus bestimmten Texteditoren können typografische Anführungszeichen erscheinen, die Probleme in Ihrem Liquid verursachen können. Wenn Sie Anführungszeichen direkt im Braze-Dashboard eingeben, sind Sie auf der sicheren Seite.
- Klammern kommen paarweise vor: Jede Klammer muss sowohl geöffnet als auch geschlossen werden { }. Achten Sie darauf, geschweifte Klammern zu verwenden.
- If-Anweisungen kommen paarweise vor: Für jedes
ifbenötigen Sie einendif, um anzuzeigen, dass dieif-Anweisung beendet ist. - Case-Anweisungen kommen paarweise vor: Für jedes
casebenötigen Sie einendcase, um den Block zu schließen. - Variablennamen müssen ASCII-Zeichen verwenden: Liquid-Variablennamen (erstellt mit
assignodercapture) unterstützen nur ASCII-Buchstaben, Ziffern und Unterstriche. Braze-Personalisierungsattributnamen (innerhalb voncustom_attribute.${...}oderevent_properties.${...}) können Nicht-ASCII-Zeichen enthalten. - Braze-Liquid-Variablen in mehrzeiligen
assign-Tags mit doppelten geschweiften Klammern umschließen: Verwenden Sie doppelte geschweifte Klammern ({{ }}) um Braze-Liquid-Variablen, wenn einassignüber mehrere Zeilen geht.
Mehrzeilige assign-Tags
Sie können ein assign über mehrere Zeilen aufteilen (zum Beispiel, indem Sie Filter mit | vor dem schließenden Tag fortsetzen), solange Sie alle Braze-Liquid-Variablen mit doppelten geschweiften Klammern ({{ }}) umschließen. Ohne diese Klammern können mehrzeilige Assign-Anweisungen zu unerwartetem Rendering führen, einschließlich angepasster Attribute, die nicht korrekt als Template eingefügt werden. Das folgende Beispiel zeigt ein funktionierendes mehrzeiliges Assign:
1
2
3
4
{%- assign color = {{custom_attribute.${favorite_color}}}
| default: {{custom_attribute.${fav_color}}}
| default: 'blue'
%}
Sie können das vollständige assign auch in einer Zeile schreiben:
1
{%- assign color = custom_attribute.${favorite_color} | default: custom_attribute.${fav_color} | default: 'blue' %}
Wo Operatoren und Filter verwendet werden können
Operatoren (wie ==, !=, >, and, or) und Filter (wie | size, | plus) können jeweils nur in bestimmten Liquid-Kontexten verwendet werden.
| Kontext | Operatoren | Filter |
|---|---|---|
assign |
Nicht unterstützt | Unterstützt |
if, elsif, unless |
Unterstützt | Nicht unterstützt |
case, when |
Nur Gleichheitsvergleich1 | Nicht unterstützt |
for |
Nicht unterstützt | Nicht unterstützt |
Array-Zugriff ([ ]) |
Nicht unterstützt | Nicht unterstützt |
Wenn Sie einen gefilterten Wert in einem Kontext benötigen, der keine Filter unterstützt, weisen Sie das Ergebnis zuerst einer Variablen zu.
Ein Filterergebnis in einer Bedingung verwenden
Sie können einen Filter nicht direkt in einer bedingten Anweisung verwenden. Dies ist falsch:
1
2
3
{% if my_array | size > 3 %}
You have more than 3 items!
{% endif %}
Weisen Sie stattdessen das Filterergebnis einer Variablen zu:
1
2
3
4
{% assign array_size = my_array | size %}
{% if array_size > 3 %}
You have more than 3 items!
{% endif %}
Ein Filterergebnis in einer For-Schleife verwenden
Sie können keinen Filter auf das Iterable in einer for-Schleife anwenden. Dies ist falsch:
1
2
3
{% for item in my_array | reverse %}
{{ item }}
{% endfor %}
Weisen Sie stattdessen den gefilterten Wert einer Variablen zu:
1
2
3
4
{% assign reversed = my_array | reverse %}
{% for item in reversed %}
{{ item }}
{% endfor %}
Ein Filterergebnis für den Array-Zugriff verwenden
Sie können keinen Filter innerhalb eckiger Klammern verwenden. Dies ist falsch:
1
{{ my_array[my_var | minus: 1] }}
Weisen Sie stattdessen zuerst den gefilterten Wert zu:
1
2
{% assign adjusted_index = my_var | minus: 1 %}
{{ my_array[adjusted_index] }}
Ein Vergleichsergebnis in einer Variablen speichern
Sie können keinen Operator in einer assign-Anweisung verwenden. Dies ist falsch:
1
2
3
4
{% assign is_vip = total_spend > 100 %}
{% if is_vip %}
Welcome to the VIP lounge!
{% endif %}
Verwenden Sie stattdessen eine Bedingung, um die Variable zu setzen:
1
2
3
4
5
6
7
8
{% assign is_vip = false %}
{% if total_spend > 100 %}
{% assign is_vip = true %}
{% endif %}
{% if is_vip %}
Welcome to the VIP lounge!
{% endif %}
Standardattribute und angepasste Attribute
Wenn Sie den folgenden Text in Ihre Nachricht einfügen: {{${first_name}}}, wird der Vorname der Nutzer:in (aus dem Nutzerprofil abgerufen) beim Senden der Nachricht eingesetzt. Sie können dasselbe Format mit anderen Standardattributen verwenden.
Wenn Sie den Wert eines angepassten Attributs verwenden möchten, müssen Sie den Namespace „custom_attribute“ zur Variablen hinzufügen. Um beispielsweise ein angepasstes Attribut namens „zip code“ zu verwenden, würden Sie {{custom_attribute.${zip code}}} in Ihre Nachricht einfügen.
Tags einfügen
Sie können Tags einfügen, indem Sie zwei öffnende geschweifte Klammern {{ in einer beliebigen Nachricht eingeben. Dadurch wird eine Autovervollständigungsfunktion ausgelöst, die sich während der Eingabe weiter aktualisiert. Sie können sogar eine Variable aus den Optionen auswählen, die während der Eingabe erscheinen.
Wenn Sie einen angepassten Tag verwenden, können Sie den Tag kopieren und in die gewünschte Nachricht einfügen.
Ausnahmen für doppelte Klammern
Wenn Sie einen Tag innerhalb eines anderen Liquid-Tags verwenden, wie z. B. {% assign %} oder {% if %}, können Sie entweder doppelte Klammern oder keine Klammern verwenden. Nur wenn der Tag allein steht, muss er in doppelte Klammern eingeschlossen werden. Der Einfachheit halber können Sie immer doppelte Klammern verwenden.
Die folgenden Tags sind alle korrekt:
1
2
3
4
5
{% if custom_attribute.${Number_Game_Attended} == 1 %}
{% if {{custom_attribute.${Number_Game_Attended}}} == 1 %}
{% assign value_one = {{custom_attribute.${one}}} %}
{% assign value_one = custom_attribute.${one} %}

Wenn Sie Liquid in Ihren E-Mail-Nachrichten verwenden, achten Sie darauf:
- Es über den HTML-Editor einzufügen, nicht über den klassischen Editor. Der klassische Editor kann das Liquid als Klartext interpretieren. Zum Beispiel würde das Liquid als
Hi {{ ${first_name} }}, thanks for using our service!dargestellt, anstatt den Vornamen der Nutzer:in einzusetzen. - Liquid-Code nur innerhalb des
<body>-Tags zu platzieren. Eine Platzierung außerhalb dieses Tags kann bei der Zustellung zu inkonsistentem Rendering führen.
Zwischen HTML- und klassischem Editor wechseln
Wenn Sie zwischen dem HTML- und dem klassischen Editor wechseln, können sich Liquid-Snippets und Content Blocks in Ihrer Nachricht verschieben. Überprüfen Sie Ihr Template nach dem Wechsel des Editors. Wenn Sie eine besser vorhersagbare Layout-Kontrolle benötigen, verwenden Sie den Drag-and-Drop-Editor.
Vorformatierte Variablen einfügen
Sie können vorformatierte Variablen mit Standardwerten über das Modal Personalisierung hinzufügen einfügen, das sich in der Nähe jedes Template-Textfelds befindet.

Das Modal fügt Liquid mit Ihrem angegebenen Standardwert an der Stelle ein, an der sich Ihr Cursor befand. Die Einfügeposition wird auch durch das Vorschaufeld angegeben, das den Text davor und danach anzeigt. Wenn ein Textblock markiert ist, wird der markierte Text ersetzt.

-
In
case- undwhen-Tags vergleicht Liquid dencase-Ausdruck mit jedemwhen-Wert mittels Gleichheit (ähnlich wie die Verkettung vonifundelsifmit==). Sie können keine beliebigen Vergleichs- oder logischen Operatoren innerhalb einerwhen-Klausel verwenden, wie Sie es mitifundelsiftun. Beispiele finden Sie unter Bedingte Nachrichtenlogik. ↩