Kontextvariablen
Kontextvariablen sind temporäre Daten, die Sie innerhalb der Journey von Nutzer:innen durch ein bestimmtes Canvas erstellen und verwenden können. Mit ihnen können Sie Verzögerungen personalisieren, Nutzer:innen dynamisch segmentieren und Nachrichten anreichern, ohne die Profilinformationen von Nutzer:innen dauerhaft zu verändern. Kontextvariablen existieren nur innerhalb der Canvas-Sitzung und bleiben weder über verschiedene Canvases hinweg noch außerhalb der Sitzung bestehen.
Funktionsweise von Kontextvariablen
Kontextvariablen können auf zwei Arten festgelegt werden:
- Beim Canvas-Entry: Wenn Nutzer:innen in ein Canvas eintreten, können Daten aus dem Event- oder API-Trigger automatisch Kontextvariablen befüllen.
- In einem Kontext-Schritt: Sie können Kontextvariablen innerhalb des Canvas manuell definieren oder aktualisieren, indem Sie einen Kontext-Schritt hinzufügen.
Jede Kontextvariable umfasst:
- Einen Namen (etwa
flight_timeodersubscription_renewal_date) - Einen Datentyp (etwa Zahl, String, Zeit oder Array)
- Einen Wert, den Sie mit Liquid oder über das Tool Personalisierung hinzufügen zuweisen.
Nach der Definition können Sie eine Kontextvariable im gesamten Canvas verwenden, indem Sie sie in diesem Format referenzieren: {{context.${example_variable_name}}}.
So könnte beispielsweise {{context.${flight_time}}} die geplante Flugzeit der Nutzer:innen zurückgeben.
Jedes Mal, wenn Nutzer:innen in das Canvas eintreten – auch wenn sie es bereits zuvor betreten haben –, werden die Kontextvariablen auf Basis der neuesten Entry-Daten und der Canvas-Konfiguration neu definiert. Dank dieses zustandsbehafteten Ansatzes behält jeder Canvas-Entry seinen eigenen unabhängigen Kontext. So können Nutzer:innen mehrere aktive Zustände innerhalb derselben Journey haben, wobei der spezifische Kontext für jeden Zustand erhalten bleibt.
Hat eine Kund:in beispielsweise zwei bevorstehende Flüge, laufen zwei separate Journey-Zustände gleichzeitig – jeweils mit eigenen flugspezifischen Kontextvariablen wie Abflugzeit und Ziel. So können Sie personalisierte Erinnerungen an den Flug um 14 Uhr nach New York senden und gleichzeitig andere Updates zum Flug morgen um 8 Uhr nach Los Angeles verschicken, damit jede Nachricht für die jeweilige Buchung relevant bleibt.
Wichtige Hinweise
Sie können bis zu 10 Kontextvariablen pro Kontext-Schritt definieren. Jeder Variablenname darf bis zu 100 Zeichen lang sein und nur Buchstaben, Zahlen oder Unterstriche enthalten.
Die Definition einer Kontextvariablen darf bis zu 10.240 Zeichen lang sein. Wenn Sie Kontextvariablen an ein API-getriggertes Canvas übergeben, teilen sich diese denselben Namespace mit den Variablen aus einem Kontext-Schritt. Wenn Sie beispielsweise eine Variable purchased_item im Kontextobjekt des Endpunkts /canvas/trigger/send senden, können Sie sie als {{context.${purchased_item}}} referenzieren. Wenn Sie diese Variable in einem Kontext-Schritt neu definieren, überschreibt der neue Wert den API-Wert für die Journey dieser Nutzer:innen.
Sie können bis zu 50 KB pro Kontext-Schritt speichern, verteilt auf bis zu 10 Variablen. Wenn die Gesamtgröße aller Variablen in einem Schritt 50 KB überschreitet, werden alle Variablen, die das Limit überschreiten, weder ausgewertet noch gespeichert. Angenommen, Sie haben drei Variablen in einem Kontext-Schritt:
- Variable 1: 30 KB
- Variable 2: 19 KB
- Variable 3: 2 KB
Variable 3 wird weder ausgewertet noch gespeichert, da die Summe der vorherigen Variablen 50 KB überschreitet.
Datentypen
Kontextvariablen, die in dem Schritt erstellt oder aktualisiert werden, können die folgenden Datentypen erhalten.

Für Kontextvariablen gelten dieselben erwarteten Formate für Datentypen wie für Event-Eigenschaften.
Wenn Sie den Array-Typ verwenden, versucht Braze, den Wert als JSON zu parsen. So lassen sich auch Arrays aus Objekten erfolgreich erstellen. Wenn die Objekte in Ihren Arrays kein gültiges JSON sind, ist das Ergebnis ein einfaches String-Array.
Für verschachtelte Objekte und Arrays aus Objekten verwenden Sie den Liquid-Filter as_json_string. Wenn Sie dasselbe Objekt in einem Kontext-Schritt erstellen, müssen Sie das Objekt mit as_json_string rendern, zum Beispiel {{context.${object_array} | as_json_string }}
| Datentyp | Beispiel für Variablennamen | Beispielwert |
|---|---|---|
| Boolean | loyalty_program | true |
| Zahl | credit_score | 740 |
| String | product_name | green_tea |
| Array | favorite_products | ["wireless_headphones", "smart_homehub", "fitness_tracker_swatch"] |
| Array (aus Objekten) | pet_details | [ |
| Zeit (in UTC) | last_purchase_date | 2025-12-25T08:15:30:250-0800 |
| Objekt (abgeflacht) | user_profile | { |
Standardmäßig ist der Datentyp „Zeit“ in UTC angegeben. Wenn Sie einen Zeitwert mit dem Datentyp „String“ speichern, können Sie die Zeit in einer anderen Zeitzone wie PST definieren.
Wenn Sie beispielsweise Nutzer:innen am Tag vor ihrem Geburtstag eine Nachricht senden, speichern Sie die Kontextvariable als Datentyp „Zeit“, da mit dem Versand am Vortag eine Liquid-Logik verknüpft ist. Wenn Sie dagegen am ersten Weihnachtstag (25. Dezember) eine Feiertagsnachricht senden, müssen Sie die Zeit nicht als dynamische Variable referenzieren. In diesem Fall ist der Datentyp „String“ die bessere Wahl.
Bei Objekt-Datentypen können Sie mit der Punktnotation einen Pfad durch die Daten angeben. Angenommen, Ihr Kontext-Schritt definiert eine Kontextvariable order_summary mit dieser Struktur:
{
"shipping": {
"carrier": "overnight"
}
}
Geben Sie in einem Filter für Zielgruppenpfade oder Decision-Split den Pfad als Namen der Kontextvariable in Punktnotation ein (zum Beispiel order_summary.shipping.carrier). Bei der Auswertung des Filters löst Braze diesen Pfad zum Wert overnight auf.
Verwenden Sie in Liquid (etwa in einem Nachricht-Schritt) stattdessen {{context.${order_summary}.shipping.carrier}}.
Kontextvariablen verwenden
Sie können Kontextvariablen überall dort verwenden, wo Sie Liquid in einem Canvas nutzen, etwa in Nachrichten- und Nutzer-Update-Schritten. Wählen Sie dazu Personalisierung hinzufügen aus. Bei In-App-Nachrichten und Bannern in Nachrichten-Schritten können Sie Kontextvariablen auswählen, um festzulegen, wann die Nachricht abläuft.
Angenommen, Sie möchten Passagier:innen vor ihrem bevorstehenden Flug über ihren Zugang zur VIP-Lounge informieren. Diese Nachricht soll nur an Passagier:innen gesendet werden, die ein Ticket der ersten Klasse gekauft haben. Eine Kontextvariable ist eine flexible Möglichkeit, diese Information zu tracken.
Nutzer:innen treten in das Canvas ein, wenn sie ein Flugticket kaufen. Um die Berechtigung für den Lounge-Zugang zu ermitteln, erstellen wir in einem Kontext-Schritt eine Kontextvariable namens lounge_access_granted und referenzieren diese Kontextvariable dann in den nachfolgenden Schritten der User Journey.

In diesem Kontext-Schritt verwenden wir {{custom_attribute.${purchased_flight}}}, um zu ermitteln, ob die gekaufte Flugart first_class ist.
Als Nächstes erstellen wir einen Nachrichten-Schritt, der Nutzer:innen anspricht, bei denen {{context.${lounge_access_granted}}} true ist. Diese Nachricht ist eine Push-Benachrichtigung mit personalisierten Informationen zur Lounge. Basierend auf dieser Kontextvariable erhalten die berechtigten Passagier:innen vor ihrem Flug die passenden Nachrichten.
- Passagier:innen mit einem Ticket der ersten Klasse erhalten: „Genießen Sie exklusiven Zugang zur VIP-Lounge!“
- Passagier:innen mit einem Business- oder Economy-Ticket erhalten: „Upgraden Sie Ihren Flug für exklusiven Zugang zur VIP-Lounge.“


Sie können mit den Informationen aus dem Kontext-Schritt personalisierte Verzögerungsoptionen hinzufügen. Das bedeutet, Sie können die Variable auswählen, die Nutzer:innen verzögert.
Für Aktionspfade und Exit-Kriterien
Sie können vergleichende Eigenschaftsfilter entweder mit Kontextvariablen oder mit angepassten Attributen in diesen Trigger-Aktionen nutzen: Angepasstes Event ausführen und Kauf tätigen. Diese Aktions-Trigger unterstützen außerdem Eigenschaftsfilter sowohl für einfache als auch für verschachtelte Eigenschaften.
- Beim Vergleich mit einfachen Eigenschaften entsprechen die verfügbaren Vergleiche dem Typ der Eigenschaft, der durch das angepasste Event definiert ist. String-Eigenschaften bieten beispielsweise „ist genau gleich“ und Regex-Übereinstimmungen. Boolesche Eigenschaften sind „true“ oder „false“.
- Beim Vergleich mit verschachtelten Eigenschaften sind die Typen nicht vordefiniert. Sie können daher Vergleiche über mehrere Datentypen hinweg auswählen – für boolesche Werte, Zahlen, Strings, Zeit und Tag des Jahres –, ähnlich wie bei den Vergleichen für verschachtelte angepasste Attribute. Wenn Sie einen Datentyp auswählen, der zum Zeitpunkt des Vergleichs nicht dem tatsächlichen Datentyp der verschachtelten Eigenschaft entspricht, erfüllen Nutzer:innen den Aktionspfad-Schritt oder die Exit-Kriterien nicht.
Beispiele für Aktionspfade

Bei Vergleichen mit angepassten Attributen verwenden wir den Wert des angepassten Attributs zum Zeitpunkt der Ausführung der Aktion. Das bedeutet, dass Nutzer:innen die Aktionsgruppe nicht erfüllen, wenn dieses angepasste Attribut zum Zeitpunkt des Vergleichs nicht befüllt ist oder wenn der Wert des angepassten Attributs nicht den definierten Eigenschaftsvergleichen entspricht. Das gilt auch dann, wenn die Nutzer:innen beim Eintritt in den Aktionspfad-Schritt die Bedingungen erfüllt hätten.
Der folgende Aktionspfad-Schritt ist so eingerichtet, dass Nutzer:innen, die das angepasste Event Account_Created mit der einfachen Eigenschaft source ausgeführt haben, der Kontextvariable app_source_variable zugeordnet werden.

Der folgende Aktionspfad-Schritt ist so eingerichtet, dass die einfache Eigenschaft brand für den spezifischen Produktnamen shoes mit der Kontextvariable promoted_shoe_brand abgeglichen wird.

Beispiele für Exit-Kriterien
Die Exit-Kriterien legen fest, dass Nutzer:innen das Canvas an jedem Punkt ihrer Journey verlassen, wenn:
- sie das angepasste Event Abandon Cart ausführen und
- die einfache Eigenschaft Item in Cart dem String-Wert der Kontextvariable
cart_item_thresholdentspricht.

Die Exit-Kriterien legen fest, dass Nutzer:innen das Canvas an jedem Punkt ihrer Journey verlassen, wenn:
- sie einen bestimmten Kauf für den Produktnamen „book“ tätigen und
- die verschachtelte Eigenschaft „loyalty_program“ dieses Kaufs dem angepassten Attribut „VIP“ der Nutzer:innen entspricht.

Ablauf festlegen
Wählen Sie für Banner und In-App-Nachrichten in einem Canvas-Nachrichten-Schritt als Ablauf Eine Dauer, nachdem der Schritt verfügbar ist aus und aktivieren Sie dann Dauer personalisieren, um das Verfügbarkeitsfenster über eine Kontextvariable zu steuern – zum Beispiel, um es an die Dauer einer Aktion oder einer Buchung aus einem Kontext-Schritt anzupassen.
Dauer personalisieren gilt für diese dauerbasierte Ablaufoption. Wenn Sie stattdessen An einem bestimmten Datum und zu einer bestimmten Uhrzeit wählen, legen Sie den Ablauf über die Datums- und Uhrzeitsteuerung fest.
Verzögerungen in Aktionspfaden
Aktivieren Sie in einem Aktionspfad-Schritt unter Bewertungszeitraum die Option Verzögerung personalisieren, um über eine Kontextvariable festzulegen, wie lange Nutzer:innen in dem Schritt gehalten werden. Nutzen Sie dies, wenn die Wartezeit je nach Nutzer:in variieren soll, etwa basierend auf Details wie Stufe oder Region.
Filter für Kontextvariablen
Sie können Filter mit Kontextvariablen in Zielgruppenpfad- und Decision-Split-Schritten erstellen.
Die Liste Name der Kontextvariable enthält Variablen aus Kontext-Schritten und Agenten-Schritten. Für eine Canvas-Entry-Eigenschaft geben Sie deren Namen ein und wählen „ENTRY_PROPERTY_NAME“ verwenden aus. Ersetzen Sie ENTRY_PROPERTY_NAME durch den Namen der eingegebenen Entry-Eigenschaft. Verwenden Sie für eine verschachtelte Eigenschaft die Punktnotation, zum Beispiel order.total.

Filter für Kontextvariablen sind nur für Zielgruppenpfad- und Decision-Split-Schritte verfügbar.
Kontextvariablen werden im Geltungsbereich eines Canvas deklariert und sind nur dort zugänglich. Sie können daher nicht in Segmenten referenziert werden. Filter für Kontextvariablen funktionieren in Zielgruppenpfad- und Decision-Split-Schritten ähnlich: Zielgruppenpfad-Schritte stellen mehrere Gruppen dar, Decision-Split-Schritte dagegen binäre Entscheidungen.

Ähnlich wie Canvas-Kontextvariablen vordefinierte Typen haben, müssen die Vergleiche zwischen Kontextvariablen und statischen Werten übereinstimmende Datentypen aufweisen. Der Filter für Kontextvariablen ermöglicht Vergleiche über mehrere Datentypen hinweg – für boolesche Werte, Zahlen, Strings, Zeit und Tag des Jahres –, ähnlich wie die Vergleiche für verschachtelte angepasste Attribute.
Hier ist ein Beispiel für einen Filter, der die Kontextvariable product_name mit dem Regex /braze/ vergleicht.

Filter für „Tag des Jahres“ und „Zeit“ bei Datums-Kontextvariablen
So verwenden Sie Vergleichsfilter für Tag des Jahres oder Zeit mit einer Kontextvariable:
- Fügen Sie einen Kontext-Schritt hinzu, der eine Kontextvariable auf ein Kalenderdatum setzt (zum Beispiel den 23. Oktober 2025).
- Fügen Sie nach dem Kontext-Schritt einen Zielgruppenpfad-Schritt hinzu.
- Fügen Sie im Zielgruppenpfad-Schritt einen Filter hinzu, der Nutzer:innen anhand dieser Kontextvariable aufteilt.
- Wählen Sie einen Vergleich aus der Kategorie Tag des Jahres oder Zeit aus.
Wenn eine Kontextvariable keinen deklarierten Typ hat, zeigt Braze alle verfügbaren Vergleichstypen im Dropdown-Menü an, einschließlich Tag des Jahres und Zeit. Wenn die Variable im Kontext-Schritt als Typ Zeit deklariert ist, werden nur Vergleiche für Tag des Jahres und Zeit angezeigt. Bei anderen Datentypen mit bekanntem Typ (zum Beispiel einem verschachtelten angepassten Attribut vom Typ Zeit) werden nur die Vergleiche angezeigt, die für diesen Typ gelten.

Verwenden Sie für Ihre Kontextvariable und den Vergleich denselben Datentyp. Wenn Ihre Kontextvariable zum Beispiel vom Datentyp Zeit ist, verwenden Sie Zeitvergleiche (etwa „vor“ oder „nach“). Nicht übereinstimmende Datentypen (etwa String-Vergleiche mit einer Zeit-Kontextvariable) können zu unerwartetem Verhalten führen.

Auswahl zwischen den Filtertypen „Tag des Jahres“ und „Zeit“: Wenn Sie Kontextvariablen filtern, die Datumsangaben enthalten, wählen Sie den korrekten Vergleichstyp, je nachdem, ob sich das Datum jedes Jahr wiederholt. Verwenden Sie „Tag des Jahres“ nur, wenn der Wert, den die Kontextvariable erzeugt, kein Jahr enthält.
- Verwenden Sie „Tag des Jahres“, wenn sich das Datum jedes Jahr wiederholt (z. B. Geburtstage, Jahrestage oder Feiertage wie Weihnachten). Dieser Vergleichstyp berechnet auf Grundlage des Tages im Jahr (1–365/366) und ignoriert die Jahreskomponente.
- Verwenden Sie „Zeit“, wenn es sich um ein absolutes Datum handelt, das sich nicht wiederholt (z. B. Vertragsende, Terminvereinbarungen oder Abo-Verlängerungsdaten). Dieser Vergleichstyp berechnet auf Grundlage des vollständigen Zeitstempels einschließlich des Jahres.
Die Verwendung von „Tag des Jahres“ für absolute Datumsangaben kann zu falschen oder unerwarteten Ergebnissen führen, da die Berechnung die Jahreskomponente nicht berücksichtigt. Wenn Sie beispielsweise ein zukünftiges Vertragsenddatum im April vergleichen, um festzustellen, ob es innerhalb von 63 Tagen liegt, kann „Tag des Jahres“ zu falschen Übereinstimmungen führen, da nur die Tageszahlen (119 gegenüber 359) verglichen werden, ohne zu berücksichtigen, dass der April tatsächlich 188 Tage entfernt ist.
Mit Kontextvariablen oder angepassten Attributen vergleichen
Wenn Sie den Schalter Mit einer Kontextvariable oder einem angepassten Attribut vergleichen aktivieren, können Sie Filter für Kontextvariablen erstellen, die mit zuvor definierten Kontextvariablen oder angepassten Attributen der Nutzer:innen vergleichen. Das ist hilfreich für Vergleiche, die je Nutzer:in dynamisch sind, etwa API-getriggerter context, oder um komplexe Vergleichslogik zusammenzufassen, die über mehrere Kontextvariablen hinweg definiert ist.
Angenommen, Sie möchten Nutzer:innen nach einem dynamischen Inaktivitätszeitraum eine personalisierte Erinnerung senden: Alle, die sich in den letzten drei Tagen nicht in Ihrer App angemeldet haben, sollen eine Nachricht erhalten.
Sie haben eine Kontextvariable re_engagement_date, die als {{now | minus: 3 | append: ' days'}} definiert ist. Beachten Sie, dass 3 days ein variabler Wert sein kann, der ebenfalls als angepasstes Attribut der Nutzer:innen gespeichert ist. Liegt re_engagement_date also nach last_login_date (als angepasstes Attribut im Nutzerprofil gespeichert), wird den Nutzer:innen eine Nachricht gesendet.

Der folgende Filter prüft, ob die Kontextvariable reminder_date vor der Kontextvariable appointment_deadline liegt. So können Sie Nutzer:innen in einem Zielgruppenpfad-Schritt gruppieren, um zu ermitteln, ob sie vor ihrer Terminfrist zusätzliche Erinnerungen erhalten sollen.

Standardisierung der Zeitzonen-Konsistenz
Die meisten Event-Eigenschaften vom Typ Zeitstempel liegen in Canvas bereits in UTC vor, es gibt jedoch einige Ausnahmen. Mit der Einführung von Canvas Context werden alle standardmäßigen Zeitstempel-Event-Eigenschaften in aktionsbasierten Canvases einheitlich in UTC angegeben. Diese Änderung ist Teil umfassender Bemühungen, beim Bearbeiten von Canvas-Schritten und Nachrichten für ein vorhersehbareres und konsistenteres Erlebnis zu sorgen. Beachten Sie, dass sich diese Änderung auf alle aktionsbasierten Canvases auswirkt, unabhängig davon, ob das jeweilige Canvas einen Kontext-Schritt verwendet oder nicht.

Wir empfehlen in jedem Fall dringend, für Zeitstempel die Liquid-Filter time_zone zu verwenden, damit diese in der gewünschten Zeitzone dargestellt werden. Ein Beispiel finden Sie in dieser häufig gestellten Frage im Artikel zum Kontext-Schritt.