Ausdrucken

Liquid-Code in E-Mails verwenden für individuelle Personalisierungen

Sie möchten Ihre E-Mail-Empfänger persönlich mit Namen ansprechen? Sie möchten in Ihren E-Mails nicht immer manuell Veranstaltungsname, -adresse und -datum abtippen müssen, sondern die Daten sollen sich automatisch je nach Veranstaltung anpassen? Sie möchten Ihre Rechnungsadresse nicht händisch eintippen, sondern aus den Auszahlungseinstellungen übernehmen, damit sich die Daten automatisch ändern, wenn Sie sie dort anpassen? Hierfür benötigen Sie Personalisierungen. Personalisierungen sind Platzhalter für Werte, die erst beim Versand der Nachricht mit den aktuellen Werten aus der doo Manager App ersetzt werden. Wie Sie Personalisierungen in eine E-Mail einfügen, erfahren Sie im Artikel zum doo E-Mail-Editor.

Manchmal wollen Sie aber nicht nur eins zu eins die hinterlegten Werte übernehmen, sondern diese anpassen. Zum Beispiel möchten Sie ein Datum in einem bestimmten Format ausgeben, einen Fallback-Wert hinterlegen, wenn ein Feld einmal leer sein sollte, oder mithilfe von Wenn-Dann Logiken konditionale Inhalte einfügen. Dies ist bei Auto-E-Mail und E-Mail-Nachrichten möglich, indem Sie die Personalisierungen mit Liquid anpassen.

Liquid ist eine Vorlagensprache, die von Shopify entwickelt wurde. Eine ausführliche Beschreibung aller Möglichkeiten mit Liquid finden sie in der offiziellen Dokumentation. Im Folgenden finden Sie eine kurze Einführung und Übersicht über häufig verwendete Anpassungen mit Liquid:

  1. Werte aus Personalisierungen mit Liquid-Filtern anpassen
  2. Komplexere Logik mit Liquid-Tags umsetzen

1. Werte aus Personalisierungen mit Liquid-Filtern anpassen

Wenn Sie eine Personalisierung in Ihre E-Mail einfügen, wird diese durch zwei geschweifte Klammern als Personalisierung markiert: {{ personalisierung.name }}. Der Text zwischen den Klammern ist der Name der Personalisierung, er ist immer Englisch. Wenn Sie mit der oben verlinkten Gesamtdokumetation von Liquid arbeiten, dann entspricht eine Personalisiung einem Objekt.

Anstatt bei der Personalisierung eins zu eins den Wert ausgeben zu lassen, der in doo hinterlegt ist, können sie die Ausgabe mit sogenannten Filtern verändern.

Nehmen wir beispielsweise den Platzhalter für die Anrede: {{ contact.salutation }}. Fügen Sie | und den gewünschten Filter innerhalb des Platzhalters ein, zum Beispiel {{ contact.salutation | default: “Herr/Frau” }}. In diesem Beispiel wird, falls kein Wert bei “Anrede” für den Kontakt hinterlegt ist, der Fallback-Wert “Herr/Frau” verwendet.

Einige für Sie hilfreiche Filter sind in der nachfolgenden Tabelle gelistet. Ausführlichere Informationen finden Sie in der oben verlinkten Liquid Dokumentation.

{{ … | capitalize }} Der Eingabewert wird groß geschrieben, z. B. hans -> Hans.
{{ … | date: “%d. %B %Y” }} Datum im gewünschten Format anzeigen, z. B. “30. März 2026”. Mithilfe der srftime Dokumetation können Sie sich Ihr Format ausgeben lassen.
{{ … | default: “Herr/Frau” }} Personalisierungen werden mit einem Standardwert belegt, falls keine Daten vorhanden sind.
{{ … | downcase }} Der Eingabewert wird klein geschrieben, z. B. Hans -> hans.
{{ … | first }} Gibt den ersten Wert eines *Arrays zurück, z. B. beim Array “blau, grün, gelb” den Wert “blau”.
{{ … | join: ” und ” }} Verbindet Werte eines *Arrays mithilfe des angegebenen Trennzeichens, z. B. beim Array “blau, grün, gelb” den Wert “blau und grün und gelb”.
{{ … | last }} Gibt den letzten Wert eines *Arrays zurück, z. B. beim Array “blau, grün, gelb” den Wert “gelb”.
{{ … | prepend: “Antwort: ” }} Stetzt den angegebenen Wert (hier “Antwort: “) vor den Wert aus der Personalisierung.
{{ … | replace: “dein”, “Ihr” }} Ersetzt das erste Wort (Hier dein) durch das zweite Wort (Hier Ihr).

*Array: Ein Array ist Sammlung von Werten. Kontaktgruppen werden zum Beispiel als Array ausgegeben, weil ein Kontakt auch zu mehreren Kontaktgruppen gehören kann. Um Arrays aufzulösen und bestimmte Werte daraus zu erhalten, hält Liquid verschiedene Filter und Tags bereit. Insbesondere der Abschnitt “Iteration” der oben verlinkten Dokumentation kann Ihnen beim Auflösen von Arrays helfen. Die Werte in Arrays sind nummeriert, der erste Wert hat die Nummer “0”.

2. Komplexere Logiken mit Liquid-Tags umsetzen

Mit Liquid-Code ist es möglich, auch komplexere Logiken und konditionale Inhalte in E-Mails umzusetzen. So können Sie zum Beispiel Inhalte definieren, die sich anders sind, je nachdem. ob zum Beispiel eine Veranstaltung virtuell ist oder nicht, ein Kontakt aus einem spezifischen Land kommt oder in einer spezifischen Kontaktgruppe ist. So lassen sich Inhalten besser an Ihre Veranstaltung anpassen oder sie können Ihren Empfängern personalisierte Information zukommen lassen.

Um Liquid hierfür richtig zu verwenden, kann es hilfreich sein, wenn Sie grundlegende Erfahrung mit Programmierung haben. Stellen Sie in jedem Fall sicher, Ihre E-Mail ausführlich zu testen, wenn Sie komplexere Logiken mit Liquid umsetzen. Neben den bereits erwähnten Filtern stellt Liquid hierfür sogenannte Tags bereit. Diese erkennen Sie an der Schreibweise {% tag %}. Mithilfe von Tags lassen sich zum Beispiels Arrays auflösen oder Wenn-Dann Logiken abbilden. Wenn Sie tiefer in diese Möglichkeiten einsteigen möchten, nutzen Sie hierfür gerne die oben verlinkte Liquid-Dokumentation. Im Folgenden geben wir Ihnen einige Beispiele, die Ihnen im Kontext von doo nützlich sein können

2.1. Text oder Wert nur in bestimmten Fall anzeigen

Dieser Code zeigt den Text “Für die Teilnahme an dieser Veranstaltung müssen Sie den dazugehörigen Grundlagenkurs absolviert haben.” angezeigt, wenn der Veranstaltungsname das Wort “Aufbaukurs” enthält.

{% if event.name contains "Aufbaukurs" %}Für die Teilnahme an dieser Veranstaltung müssen Sie den dazugehörigen Grundlagenkurs absolviert haben.{% endif %}

Dieser Code zeigt den Text “Diese Veranstaltung ist ein Webinar und wird digital abgehalten.”, wenn die Veranstaltung in doo als virtuelle Veranstaltung hinterlegt ist.

{% if event.is_virtual %}Diese Veranstaltung ist ein Webinar und wird digital abgehalten.{% endif %}

Dieser Code zeigt den Titel eines Kontakts nur an, wenn ein Wert für den Titel hinterlegt ist.

{% if contact.title %}{{contact.title }}{% endif %}

2.2. Ansprache mit Sehr geehrte/Sehr geehrter

Dieser Code gibt Ihnen folgende Texte aus, je nach dem, welche Werte für einen Kontakt hinterlegt sind

  • Wenn kein Nachname für den Kontakt hinterlegt ist: Guten Tag,
  • Wenn ein Nachname für den Kontakt hinterlegt ist
    • und die Anrede Frau ist: Sehr geehrte Frau Müller,
    • und die Anrede Herr ist: Sehr geehrter Herr Müller,
    • und keine Anrede, aber ein Vorname hinterlegt ist: Guten Tag Franz Müller,
    • und keine Anrede und kein Vorname hinterlegt ist: Guten Tag Herr/Frau Müller,
{% if contact.last_name %}{% case contact.salutation %}{% when "Frau" %}Sehr geehrte Frau {{ contact.last_name }}{% when "Herr" %}Sehr geehrter Herr {{ contact.last_name }}
{% else %}Guten Tag {{ contact.first_name | default: "Frau/Herr" }} {{ contact.last_name }}{% endcase %}{% else %}Guten Tag{% endif %},

2.3. Text für Kontakte einer bestimmten Gruppe

Dieser Code zeigt den Text “Nur für unsere VIPs: An der Bar erhalten Sie gegen Vorlage dieser E-Mail einen kostenlosen Cocktail.” an, wenn ein Kontakt in der Kontaktgruppe “VIP” ist.

{% capture grouplist %} {% for group in contact.groups %}{{ group.name | join: " " }}{% endfor %}{% endcapture %}{% if grouplist contains "VIP" %}Nur für unsere VIPs: An der Bar erhalten Sie gegen Vorlage dieser E-Mail einen kostenlosen Cocktail.{% endif %}
Schlagwörter:
Table of Contents

ANTWORT NICHT GEFUNDEN?

Unser Support-Team hilft Ihnen gerne weiter