Ändern der Ausgabe einer Variablen mithilfe von Filtern

Mit Variablen, auch bekannt als Personalisierungs- oder Merge-Tags, kannst du personalisierte Daten für alle Empfänger:innen einfügen, z. B. den Vornamen oder den zuletzt getätigten Einkauf. Filter ermöglichen es dir, die Darstellung dieser Daten zu steuern, indem du ihr Format oder ihren Inhalt anpasst.

Was sind Filter?

Filter verändern die Ausgabe von Variablen. Sie werden innerhalb von doppelten geschweiften Klammern {{ }} verwendet und sind durch einen senkrechten Strich | von der Variable getrennt. Beispielsweise wird mit {{ contact.FIRSTNAME|upper }} der Name des Kontakts in Großbuchstaben angezeigt.

Du kannst auch mehrere Filter verketten, d. h. die Ausgabe eines Filters wird an den nächsten weitergegeben.

Um einen Filter in einer E-Mail-Kampagne oder einem Template zu verwenden, musst du ihn manuell zu der Variablen hinzufügen. Das bedeutet, dass du die gesamte Variable selbst erstellen musst.

Im Drag & Drop-Editor erscheint die Variable dann als Tag, ohne den Filter.

email_filters_example.gif
💡 Gut zu wissen
Du kannst keinen Filter auf eine Variable anwenden, die über das Menü Add variable (Variable hinzufügen) hinzugefügt wurde. Um Filter zu verwenden, solltest du die Variable stattdessen manuell eingeben.

💬 Einen Standardwert einfügen

default

Fügt einen Standard-Fallback-Wert ein, wenn der Variablenwert leer ist.

Eingabe Ausgabe
Hallo {{ contact.FIRSTNAME|default:'there' }}, Guten Tag lieber Kunde,

🔠 Groß- und Kleinschreibung

capfirst

Der erste Buchstabe eines Variablenwerts wird groß geschrieben.

Eingabe Ausgabe
{{ contact.MESSAGE|capfirst }} Mein rotes Auto

title

Gibt eine titelgebende Version eines Variablenwerts zurück. Die Wörter beginnen mit Großbuchstaben, alle anderen Zeichen werden klein geschrieben.

Eingabe Ausgabe
{{ contact.NAME|title }} John Doe

upper

Jedes Zeichen eines Variablenwerts wird großgeschrieben.

Eingabe Ausgabe
{{ contact.NAME|upper }} JOHN DOE

lower

Jedes Zeichen eines Variablenwerts wird kleingeschrieben.

Eingabe Ausgabe
{{ contact.NAME|lower }} john doe

truncatechars

Kürzt einen Variablenwert, wenn er länger als die angegebene Anzahl von Zeichen ist. Verkürzte Werte enden mit einem Auslassungszeichen (...), das in der Zeichenzählung enthalten ist.

Eingabe Ausgabe
{{ contact.MANAGER|truncatechars:7 }} Elisab…

🔢 Zahlen formatieren

floatformat

Rundet die Ausgabe der Float-Werte deiner Variablen auf die angegebene Nachkommastelle.

Damit sie richtig funktionieren, sollten die Werte als Zahl und nicht als Zeichenkette weitergeben werden, und sie sollten nicht in Anführungszeichen als „Wert“ weitergeben werden.

Eingabe Ausgabe
{{ params.total|floatformat:2 }} 40.32
{{ params.total|floatformat:0 }} 40

integer

Konvertiert eine Zahl im String- oder Gleitkommaformat in eine Ganzzahl.

Eingabe Ausgabe
{{ 10.578|integer }} 10
{{ "16.765"|integer }} 16

float

Konvertiert eine Zahl im String- oder Integer-Format in eine Gleitkommazahl.

Eingabe Ausgabe
{{ 10|float }} 10.000000
{{ "16.765"|float }} 16.765000

lang_format

Formatiert Zahlen abhängig von der Sprache des Empfängers.

Eingabe Ausgabe
{{ params.number|lang_format:"fr" }} 123 456,789
{{ params.number|lang_format:"en" }} 123,456.789
{{ params.number|lang_format:"hi" }} 1,23,456.789
{{ params.number|lang_format:"bn" }} ১,২৩,৪৫৬.৭৮৯
{{ params.number|lang_format:"fr,%.2f" }} 123 456,79
💡 Gut zu wissen
  • Um 2 Dezimalstellen zu erzwingen, füge ,%.2f nach dem Sprachfilter hinzu.
  • Für Französisch ist das Tausender-Trennzeichen ein geschütztes Leerzeichen.

📅 Datum und Uhrzeit formatieren

❗️ Wichtig
  • Abkürzungen für Tag und Monat sowie vollständige Namen werden nur auf Englisch unterstützt.
  • Die Referenzzeit ist „Monday January 2 15:04:05 -0700 MST 2006“ (Montag, 2. Januar 15:04:05 -0700 MST 2006).
  • Wenn kein Wert festgelegt wird, gilt er als 0.
  • Die voreingestellte Zeitzone (falls nicht festgelegt) ist UTC.
  • Du kannst die Schlüsselwörter am/pm verwenden.
  • Die gebräuchlichsten Möglichkeiten, die Zeitzone zu definieren, sind die entsprechenden Schlüsselwörter (MST, CET, UTC, Asia/Kolkata usw.) oder als numerische Angabe, +0100 oder -0100, in Bezug auf UTC.

time_parse

Wandelt Ihr Datumsformat (als String übermittelt) in ein Standarddatumsformat um, das mit anderen Filtern verwendet werden kann.

Um Ihr aktuelles Datumsformat als Argument zu übermitteln, formatieren Sie das genaue Datum / die genaue Uhrzeit so, wie die Referenzzeit angezeigt würde, wenn sie der Wert wäre.

Eingabe Ausgabe
{{ params.MY_DATE|time_parse:"Monday 02 January 2006" }} Tuesday 11 March 2021
💡 Gut zu wissen

Wenn deine Zeichenkette mit RFC3339 formatiert ist, kannst du den speziellen Parser time_parse_rfc3339 ohne Argument verwenden.

date

Konvertiert ein Datum in ein angegebenes Format.

Du erhältst ein Datum aus einer Zeichenkette, indem du den time_parse-Filter verwendest oder die aktuelle Zeit, indem du das Filterdatum an die Variable time_now übergibst.

Eingabe Ausgabe
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|date:"Mon Jan 2 15:04:05 2006" }} Fri Jun 1 14:01:00 2018
{{ time_now|date:"Monday, Jan 2, 2006" }} Druckt den aktuellen Tag und das Datum im angegebenen Format
{{ time_now|date:"02/01/2006" }} Druckt den aktuellen Tag und das Datum im angegebenen Format
{{ time_now|date:"01" }}

 Gibt den aktuellen Monat aus

{{ time_now|date:"02" }}

 Druck den aktuellen Tag

{{ time_now|date:"2006" }}

Gibt das aktuelle Jahr aus

date_i18n

Konvertiert ein Datum in ein bestimmtes Format, die Ausgabe erfolgt jedoch in anderen Sprachen.

Derzeit werden folgende Sprachen unterstützt: en, fr, it, es, de und pt. Dieser Filter ähnelt dem Datumsfilter. Der einzige Unterschied besteht darin, dass zuerst die Sprache und dann das Format im Filter angegeben werden muss.

Eingabe Ausgabe
{{ "14:01 01/06/2018" | time_parse:"15:04 02/01/2006"|date_i18n:"en,Monday" }} Friday
{{ "14:01 01/06/2018" | time_parse:"15:04 02/01/2006"|date_i18n:"de,Monday" }} Freitag

time_add_date

Fügt eine Anzahl von Tagen zu einem Zeitstempel oder einer Datumszeichenfolge hinzu. Es ist zwingend erforderlich, alle Werte in der folgenden Reihenfolge an diesen Filter zu übergeben: „Jahr, Monat, Tag“.

Eingabe Ausgabe
{{ time_now|time_add_date:"1,2,3" }} Druckt den Zeitstempel, nachdem 1 Jahr, 2 Monate und 3 Tage zum aktuellen Zeitstempel hinzugefügt wurden
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|time_add_date: "1,2,3" }} 2019-08-04 14:01:00 +0000 UTC

time_in_location

Konvertiert einen Zeitstempel oder eine Datumszeichenfolge entsprechend der dem Filter übermittelten Zeitzone. Es ist zwingend erforderlich, dem Filter eine Zeitzone im folgenden Format zu übergeben: „Ort/Zeitzone“.

Eingabe Ausgabe
{{ time_now|time_in_location:"Europe/Berlin" }} Druckt den aktuellen Zeitstempel in CEST
{{ "14:01 01/06/2018"|time_parse:"15:04 02/01/2006"|time_in_location: "Europe/Berlin" }} 2018-06-01 16:01:00 +0200 CEST

time_add_duration

Fügt die Zeitdauer zu einem Zeitstempel oder einer Datumszeichenfolge hinzu. Es ist zwingend erforderlich, dass du mindestens einen Wert (Stunde, Minute oder Sekunde) in dem Filter angibst.

Eingabe Ausgabe
{{ time_now|time_add_duration:"1h2m3s" }} Druckt den Zeitstempel, nachdem 1 Stunde, 2 Minuten und 3 Sekunden zum Zeitwert im aktuellen Zeitstempel hinzugefügt wurden
{{ time_now|time_add_duration:"30m" }} Druckt den Zeitstempel, nachdem 30 Minuten zum Zeitwert hinzugefügt wurden

time_unix

Konvertiert einen Zeitstempel zum Unix Timestamp in Sekunden.

Eingabe Ausgabe
{{ time_now|time_unix }} Druckt den aktuellen Unix Timestamp in Sekunden

time_unix_nano

Konvertiert einen Zeitwert in den Unix Timestamp in Nanosekunden.

Eingabe Ausgabe
{{ time_now|time_unix_nano }} Druckt den aktuellen Unix Timestamp in Nanosekunden

🧑‍💻 Daten codieren oder verschlüsseln

base64_encode oder decode

Codiert oder decodiert base 64:

  • base64_decode decodiert einen String zu einem []Byte
  • base64_decode codiert ein Byte zu einem []String
Eingabe Ausgabe
https://example.com/test?name={{ contact.FIRSTNAME|base64_encode }} https://example.com/test?name=RW56bw== (instead of https://example.com/test?name=Enzo)

Die Filter base64_encode und base64_decode können einen optionalen Codierungsparameter verwenden:

  • std: normale base64-Codierung,
  • raw_std: normale base64-Codierung ohne die Füllzeichen =,
  • url: sichere Version der base64-Codierung für URL, + und / werden mit - und _ ersetzt,
  • raw_url: eine Kombination aus raw und url.

aes_128, 192, oder 256

Verschlüsselt einen Wert. Sie können diesen Filter verwenden, um verschlüsselte Kontaktinformationen wie beispielsweise eine E-Mail-Adresse oder eine ID in einer URL zu versenden.

Die verwendete AES-Variante hängt von der Länge des bereitgestellten Schlüssels ab:

Länge des Geheimschlüssels AES-Variante
16 Byte (128 Bit) AES-128
24 Byte (192 Bit) AES-192
32 Byte (256 Bit) AES-256

Beispielsweise muss die Variable für die AES-256-Variante als {{ contact.ATTRIBUTE | aes_256:"key" }} formatiert werden. Dabei ist der Schlüssel:

  • Aus 32 Zahlen bestehen
  • Zufällig generiert werden
  • Auf Ihrer Seite fortbestehen, damit der Originalwert entschlüsselt werden kann

Wenn kein Codierungsparameter definiert wird, wird standardmäßig base64 std verwendet. Andernfalls wird Folgendes unterstützt:

  • raw_std: normale base64-Codierung ohne die Füllzeichen =,
  • url: sichere Version der base64-Codierung für URL, + und / werden mit - und _ ersetzt,
  • raw_url: eine Kombination aus raw und url.
💡 Gut zu wissen

In den nachstehenden Beispielen verschlüsseln wir die E-Mail-Adressen unserer Kontakte mit dem folgenden Key: e5a34a481274c776856d04119bed8188. Bitte beachten Sie, dass Sie nicht denselben Key verwenden dürfen, generieren Sie stattdessen gemäß den vorstehenden Anforderungen Ihren eigenen Key.

Codierung Eingabe Ausgabe

Keine Codierung (standardmäßig Codierung base64 std)

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188" }}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

Codierung Base64 raw_std

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
raw_std" }}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

Codierung Base64 url

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
url" }}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

Codierung Base64 raw_url

{{ contact.EMAIL | aes_256:
"e5a34a481274c776856d04119bed8188,
raw_url" }}
Druckt eine zufällige Zeichenfolge, die entschlüsselt werden muss, um den Originalwert zu lesen

🔎 Andere Filter

first

Gibt das erste Element einer Sequenz, einer Zuordnung oder einer Zeichenkette zurück.

Eingabe API-Anfrage Ausgabe
{{ params.array|first }} "params" :
{
"array" : [ 1,2,3,4 ]
}
1

join

Kombiniert die Elemente in einem Datenfeld zu einem einzigen String, wobei das Argument als Trennzeichen verwendet wird.

Das Trennzeichen zwischen den Elementen ist standardmäßig leer. Du kannst es mit dem optionalen ersten Parameter definieren.

Eingabe Ausgabe
{{ [1, 2, 3]|join }} 123
{{ [1, 2, 3]|join: '|' }} 1|2|3

last

Gibt das letzte Element einer Sequenz, eines Mappings oder eines Strings wieder.

Eingabe Ausgabe
{{ [1, 2, 3, 4]|last }} 4

length

Gibt die Anzahl der Elemente einer Sequenz, eines Mappings oder die Länge eines Strings wieder.

Eingabe Ausgabe
{{ ['a', 'b', 'c', 'd']|length }} 4

safe

Kennzeichnet eine Zeichenfolge so, dass kein weiteres HTML-Escaping vor der Ausgabe erforderlich ist.

A

API-Anfrage

Eingabe Ausgabe
"params" :{HtmlTest: "<p>This is my test sentence.</p>"} {{ params.htmltest|safe }} This is my test sentence

B

Kontaktattribut

Platzhalter

Eingabe Ausgabe
EMAIL_SALUTATION Welcome to <b>Brevo</b>, we're glad to have you here {{ contact.EMAIL_SALUTATION
|safe }}
Welcome to Brevo, we're glad to have you here

Ohne den Filter "safe" würde das HTML-Tag in der E-Mail des Empfängers als normaler String angezeigt: "<p>This is my test sentence</p>" oder "Welcome to <b>Brevo</b>, we're glad to have you here".

Slice (Ausschnitt)

Extrahiert ein Stück aus einer Sequenz, eines Mappings oder eines Strings.

Dieser Filter kann konfiguriert werden, um:

A Nur durch die erste Zahl "n" von Elementen in einem Array zu iterieren. Denken Sie in beiden Fällen daran, dass Elemente in einem Array einer einmaligen Positionsnummer zugewiesen sind, die erste Position ist "0" (sie sind "nullbasiert").
B Durch Elemente zwischen zwei angegebenen Positionen ("n" und "m") in einem Array zu iterieren.
C Durch Elemente zwischen zwei angegebenen Elementen in einem Array zu iterieren.  

Denken Sie in jedem Beispiel daran, dass Ihr Array Folgendes enthält: ["a","b","c","d","e","f","g","h"...].

 

Eingabe Ausgabe

A

{% for product in params.products|slice:':5' %}
{{ product.name }} - {{ product.price }}
{% endfor %}
Iteriert über die ersten 5 Positionen (0-4), nämlich: ["a","b","c","d","e"}
B {% for product in params.products|slice:'2:3' %}
{{ product.name }} - {{ product.price }}
{% endfor %}
Iteriert über die Positionen (2-3), nämlich ["c","d"]
C {% for product in params.products|slice:'b:d' %}
{{ product.name }} - {{ product.price }}
{% endfor %}
Iteriert über die angegebenen Elemente, nämlich: ["b","c","d"]

verbatim

In Brevo werden Variablen mit doppelten geschweiften Klammern wie {{ params.property }} geschrieben. Wenn du doppelte geschweifte Klammern wie {{ this }} in deine E-Mail einfügst, behandelt Brevo sie als Template-Element.

Um {{ }} als reinen Text in deiner E-Mail anzuzeigen, gibst du den Inhalt in einen {% verbatim %} Block ein:

Eingabe Ausgabe
{% verbatim %}
{{ Print variable }}
{% endverbatim %}
{{ Print variable }}

autoescape

Standardmäßig bricht Brevo alle variablen Inhalte, einschließlich HTML und JavaScript, ab. Das bedeutet, dass, wenn deine Variable HTML enthält (z.B. <h1>Mein Titel</h1>), wird sie als reiner Text angezeigt und nicht als HTML gerendert.

Um das Rendering von HTML zu ermöglichen, musst du das Auto-Escaping mit dem {% autoescape off %}-Tag deaktivieren. Umfasse die Variable in diesem Block und schließe sie mit {% endautoescape %} ab:

{% autoescape off %}{{ params.my_html }}{% endautoescape %}

  Eingabe Ausgabe
Ohne das Autoescape-Tag {{ params.my_html }} <h1>Mein Titel</h1>
Mit dem Autoescape-Tag

{% autoescape off %}
{{ params.my_html }}
{% endautoescape %}

Mein Titel

📖 Zusätzliche Ressourcen

Die Brevo Template Language basiert auf Pongo2, einer Re-Implementierung von Django in Go (einer Programmiersprache).

Alle unterstützten Tags

autoescape, comment, cycle, filter, firstof, for, if, ifchanged, now, set, spaceless, templatetag, with.

Alle unterstützten Filter

escape, safe, escapejs, add, addslashes, capfirst, center, cut, date, default, default_if_none, divisibleby, first, floatformat, get_digit, iriencode, join, last, length, length_is, linebreaks, linebreaksbr, linenumbers, ljust, lower, make_list, phone2numeric, pluralize, random, removetags, rjust, slice, stringformat, striptags, time, title, truncatechars, truncatechars_html, truncatewords, truncatewords_html, upper, urlencode, urlize, urlizetrunc, wordcount, wordwrap, yesno.

Alle unterstützten Filter für Hash-Funktionen

hash_md5, hash_sha256, hash_sha256_224, hash_sha512, hash_sha512_224, hash_sha512_256, hash_sha512_384, hash_sha3_224, hash_sha3_256, hash_sha3_384, hash_sha3_512.

💡 Gut zu wissen
Wenn du einen Filter findest, der noch nicht unterstützt wird, kontaktiere unser Support-Team , indem du ein Ticket in deinem Konto erstellst. Solltest du noch kein Konto haben, kannst du uns hier kontaktieren.

🤔 Sie haben eine Frage?

Wenden Sie sich bei Fragen an unser Support-Team: Erstellen Sie einfach ein Ticket über Ihr Konto. Wenn Sie noch kein Konto haben, können Sie uns hier kontaktieren.

Wenn Sie Unterstützung bei einem Projekt mit Brevo suchen, können wir Sie mit der richtigen zertifizierten Brevo-Partneragentur verbinden.

💬 War dieser Beitrag hilfreich?

15 von 43 fanden dies hilfreich