Warum sehe ich "Error in liquid syntax"?
Wie man den TokenizationError behebt, der durch Sonderzeichen wie Klammern, Schrägstriche oder Doppelpunkte in Personalisierungstokens verursacht wird.
Was dieser Fehler bedeutet
SecureMailMerge verwendet die Liquid template language, um deine Personalisierungs-Tokens zu verarbeiten. Liquid behandelt alles innerhalb von geschweiften Klammern (z. B. {{…}}) als Code, nicht als normalen Text. Wenn ein Spaltenname Sonderzeichen enthält, versucht Liquid, diese als Programmieroperatoren zu interpretieren und schlägt fehl.
Zum Beispiel, wenn deine Tabelle eine Spalte namens Date(s) hat und du {{Date(s)}} in deine E-Mail eingibst, sieht Liquid:
Date, einen Variablennamen(s), was wie ein Funktionsaufruf oder ein Bereichsausdruck aussieht
Das löst den Fehler aus:
TokenizationError: invalid range syntax
Zeichen, die diesen Fehler verursachen
Die folgenden Zeichen haben in Liquid eine besondere Bedeutung und verursachen Fehler, wenn sie innerhalb von geschweiften Klammern verwendet werden:
| Zeichen | Was Liquid denkt, dass es bedeutet |
|---|---|
( ) | Bereichsausdruck oder Gruppierung |
/ | Divisionsoperator |
: | Filter-Argument-Trenner |
+ - * | Arithmetische Operatoren |
Eine Spalte mit dem Namen Date(s) oder Day(s)/Date(s): führt also zu einem Fehler, weil Liquid versucht, diese Zeichen als Code zu interpretieren.
Wie man es behebt
Option 1: Verwende das Dropdown-Menü der Spalte (empfohlen)
Die einfachste Lösung ist, das personalization token dropdown (Dropdown-Menü für Personalisierungstoken) in SecureMailMerge zu verwenden, anstatt das Token manuell einzugeben. Das Dropdown-Menü umschließt automatisch Spaltennamen, die Sonderzeichen enthalten, mit der richtigen Escape-Syntax:
{{ ["Date(s)"] }}
Die eckigen Klammern und Anführungszeichen weisen Liquid an, den gesamten String als Spaltennamen und nicht als Code zu behandeln. Wähle einfach die Spalte aus dem Dropdown-Menü aus und klicke auf den Button, um sie in dein Betreff oder den Textkörper einzufügen.
Option 2: Syntax manuell korrigieren
Wenn du Tokens lieber selbst eintippst, umschließe Spaltennamen, die Sonderzeichen enthalten, mit ["..."]:
| Falsch | Richtig |
|---|---|
{{Date(s)}} | {{ ["Date(s)"] }} |
{{Day(s)/Date(s):}} | {{ ["Day(s)/Date(s):"] }} |
{{Time(s):}} | {{ ["Time(s):"] }} |
Option 3: Benenne deine Tabellen-Spalten um
Du kannst dieses Problem ganz vermeiden, indem du deine Spalten so umbenennst, dass sie nur Buchstaben, Zahlen und Unterstriche enthalten:
| Vorher | Nachher |
|---|---|
Date(s) | Dates |
Day(s)/Date(s): | Day_Dates |
Time(s): | Times |
Nach dem Umbenennen funktionieren einfache Tokens wie {{Dates}} ohne spezielle Syntax.
Verwandt
- Why am I seeing “ParseError: unexpected token”?
- Creating your mail merge template
- Why does my spreadsheet show an “illegal characters” error?
Ready to try SecureMailMerge yourself?
SecureMailMerge for Outlook
Runs inside Outlook, with no external app needed.
Free version, no credit card. A license removes the promotional footer.