# Bedingungen nutzen: Inhalte ein- oder ausblenden

> Nutze Liquid if/else-Bedingungen in Betreff und E-Mail, um Inhalte je nach Empfängerdaten aus der Tabelle anzuzeigen, zu verbergen oder zu ändern.

SecureMailMerge personalisiert deine E-Mails mit [Liquid](https://liquidjs.com/) Templates. Neben einfachen Tokens wie `{{FirstName}}` kannst du **Bedingungen** verwenden, um Inhaltsblöcke basierend auf den Daten jedes Empfängers anzuzeigen, auszublenden oder zu ändern.

Bedingungen 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 anhand des Werts in der benannten Spalte für jeden Empfänger geprüft.

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

Der Block wird nur für Empfänger eingeschlossen, 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 geschwungene Anführungszeichen werden gleich behandelt.** Wenn dein Editor deine geraden Anführungszeichen (`"TRUE"`) automatisch in geschwungene „typografische“ Anführungszeichen (`“TRUE”`) umwandelt, funktioniert die Bedingung trotzdem.

```liquid
{% 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.

```liquid
{% 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.

```liquid
{% 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:

| Operator | Bedeutung |
| --- | --- |
| `==` | gleich |
| `!=` | ungleich |
| `>` | größer als |
| `<` | kleiner als |
| `>=` | größer oder gleich |
| `<=` | kleiner oder gleich |

```liquid
{% 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.

```liquid
{% 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 %}` **keine** zuverlässige Methode, um auf einen Wert zu prüfen. Verwende stattdessen `blank`, das sowohl leere Zellen als auch Zellen, die nur Leerzeichen enthalten, erkennt:

```liquid
{% 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:

```liquid
{% 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:

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

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

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

```liquid
{% 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 **falsch** ist.

```liquid
{% unless Country == "USA" %}
  International shipping rates apply.
{% endunless %}
```
## Einen von vielen Werten mit case / when auswählen

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

```liquid
{% 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 umschließen, 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](https://de.securemailmerge.com/help/specify-fallback-default-values-for-mail-merge/) Filter für Ersatztext und mit [date formatting](https://de.securemailmerge.com/help/date-formatting-in-mail-merge/) für Daten kombinieren.
- Schließe immer jeden Tag: `{% if %}` benötigt `{% endif %}`, `{% unless %}` benötigt `{% endunless %}` und `{% case %}` benötigt `{% endcase %}`. Ein fehlender schließender Tag verursacht einen [liquid syntax error](https://de.securemailmerge.com/help/error-liquid-syntax/).
