bedingter Inhalt wenn-Anweisung wenn Bedingung Inhalt anzeigen oder ausblenden liquid Bedingungen ansonsten wenn sonst es sei denn case when Personalisierungslogik bedingter Text dynamischer Inhalt

Wie verwende ich Bedingungen, um Inhalte anzuzeigen oder zu verbergen?

SecureMailMerge verwendet Liquid-Templating, sodass du Blöcke deines Betreffs oder Texts in {% if %} … {% endif %}-Tags einschließen kannst, um sie basierend auf den Spaltenwerten eines Empfängers anzuzeigen oder zu verbergen. Kombiniere Bedingungen mit Vergleichsoperatoren, else/elsif-Zweigen und dem Schlüsselwort contains für volle Kontrolle.

SecureMailMerge personalisiert deine E-Mails mit Liquid Templating. Neben einfachen Tokens wie {{FirstName}} kannst du conditions (Bedingungen) verwenden, um Inhaltsblöcke basierend auf den Daten jedes Empfängers anzuzeigen, zu verbergen oder zu ändern.

Conditions funktionieren sowohl in der subject line (Betreffzeile) als auch im email body (E-Mail-Text).

Basic if / endif

Wickle den Inhalt, den du optional machen möchtest, zwischen einen öffnenden {% if %}-Tag und einen schließenden {% endif %}-Tag ein. Die Bedingung wird für jeden Empfänger anhand des Werts in der benannten Spalte geprüft.

{% if Country == "Germany" %}
  Versand erfolgt aus unserem Lager in Berlin.
{% endif %}

Der Block wird nur für Empfänger eingefügt, deren Country-Spalte Germany entspricht. Alle anderen sehen an seiner Stelle nichts.

String-Werte müssen in Anführungszeichen ("Germany" oder 'Germany') gesetzt werden. Zahlen werden ohne Anführungszeichen geschrieben.

Groß- und Kleinschreibung, Leerzeichen und typografische Anführungszeichen sind egal

Die Bedingungen sind nachsichtig, sodass kleine Unterschiede zwischen deiner Vorlage und deiner Tabelle nicht verhindern, dass eine Bedingung übereinstimmt:

  • Spaltennamen sind nicht case-sensitiv. {% if new == "TRUE" %} entspricht einer Spalte mit der Überschrift New, NEW oder new. Du musst die genaue Groß- und Kleinschreibung deiner Überschrift nicht beachten.
  • Textvergleiche ignorieren Groß- und Kleinschreibung sowie umgebende Leerzeichen. Eine Bedingung wie {% if New == "TRUE" %} entspricht einer Zelle, die TRUE, true oder sogar True enthält. Werte werden ohne Berücksichtigung von Groß-/Kleinschreibung oder führenden und abschließenden Leerzeichen verglichen.
  • Gerade und typografische Anführungszeichen werden gleich behandelt. Wenn dein Editor deine geraden Anführungszeichen ("TRUE") automatisch in typografische „smart“ Anführungszeichen (“TRUE”) umwandelt, funktioniert die Bedingung trotzdem.
{% if new == "TRUE" %}
  Welcome aboard! Here's what to do first.
{% endif %}

Das obige Beispiel stimmt überein, egal ob deine Spalte New oder new heißt und ob die Zelle TRUE, true oder True enthält.

Hinzufügen eines else-Zweigs

Verwende {% else %}, um alternativen Inhalt bereitzustellen, wenn die Bedingung falsch ist.

{% if Plan == "Premium" %}
  Thanks for being a Premium customer, your priority support line is +1 555 0100.
{% else %}
  Need a hand? Reply to this email and we'll help out.
{% endif %}

Mehrere Zweige mit elsif

Verknüpfe mehrere Bedingungen mit {% elsif %}. Der erste passende Zweig gewinnt.

{% if Tier == "Gold" %}
  You've unlocked our Gold benefits.
{% elsif Tier == "Silver" %}
  You're on the Silver plan.
{% else %}
  Welcome aboard!
{% endif %}

Vergleichsoperatoren

Du kannst Spaltenwerte mit einem dieser Operatoren vergleichen:

OperatorBedeutung
==gleich
!=ungleich
>größer als
<kleiner als
>=größer oder gleich
<=kleiner oder gleich
{% if OrderTotal >= 100 %}
  You qualify for free shipping!
{% endif %}

Bedingungen mit and / or kombinieren

Verwende and und or, um mehr als eine Spalte gleichzeitig zu testen.

{% if Country == "USA" and Plan == "Premium" %}
  Your US Premium perks are active.
{% endif %}

Überprüfen, ob eine Zelle einen Wert hat

In Liquid ist eine leere Zelle immer noch “truthy”, daher ist {% if Notes %} nicht eine zuverlässige Methode, um auf einen Wert zu prüfen. Verwende stattdessen blank, es erkennt leere Zellen und Zellen, die nur Leerzeichen enthalten:

{% if Notes != blank %}
  A note from your account manager: {{Notes}}
{% endif %}

Um das Gegenteil zu tun, also Inhalt nur anzuzeigen, wenn eine Zelle leer ist, kehre den Vergleich um:

{% if PhoneNumber == blank %}
  We don't have a phone number on file. Reply to add one.
{% endif %}

Spaltennamen mit Leerzeichen

Wenn dein Spaltenkopf Leerzeichen (oder andere Sonderzeichen) enthält, beziehe dich darauf mit der Klammernotation, genauso wie du es bei einem normalen Token tun würdest:

{% if ["Account Status"] == "Active" %}
  Your account is in good standing.
{% endif %}

Für einfache Merge-Tokens (außerhalb einer Bedingung) kannst du jetzt auch direkt einen Kopf mit Leerzeichen schreiben, ohne die Klammern: {{ First Name }} funktioniert genauso wie {{ ["First Name"] }}.

Teil eines Werts mit contains abgleichen

contains prüft, ob ein Textwert eine Teilzeichenfolge enthält.

{% if Email contains "@gmail.com" %}
  Tip: add us to your Gmail contacts so we don't land in Promotions.
{% endif %}

Eine Bedingung mit unless umkehren

{% unless %} ist das Gegenteil von {% if %}, der Block wird nur angezeigt, wenn die Bedingung false ist.

{% unless Country == "USA" %}
  International shipping rates apply.
{% endunless %}

Auswahl eines von vielen Werten mit case / when

Wenn Du zwischen mehreren festen Werten wechseln musst, ist {% case %} sauberer als eine lange elsif-Kette.

{% case Language %}
  {% when "de" %}
    Vielen Dank für Ihre Bestellung!
  {% when "fr" %}
    Merci pour votre commande !
  {% else %}
    Thank you for your order!
{% endcase %}

Tipps

  • Bedingungen können jeden Inhalt umfassen, Text, Links, Bilder oder sogar andere Tokens.
  • Leerzeichen und Zeilenumbrüche innerhalb von {% if %}-Blöcken bleiben erhalten, also platziere deine Tags sorgfältig, um leere Zeilen in der finalen E-Mail zu vermeiden.
  • Du kannst Bedingungen mit dem default value Filter für Ersatztext und mit date formatting für Daten kombinieren.
  • Schließe immer jeden Tag: {% if %} benötigt {% endif %}, {% unless %} benötigt {% endunless %} und {% case %} benötigt {% endcase %}. Ein fehlender Schlusstag verursacht einen liquid syntax error.
  • Wende keine Fettschrift, Schriftart oder Farbe auf einen Teil eines Bedingungstags an. Das Formatieren des Textes innerhalb des Blocks ist in Ordnung, aber das Formatieren eines Teils des {% ... %}-Tags selbst kann es beschädigen. Siehe how to style personalization tokens.

Brauchst du mehr Hilfe?

E-Mail-Support mit einer Beschreibung dessen, was du versucht hast zu tun, was passiert ist und der genauen Fehlermeldung. Füge keine echten Empfängerdaten bei.