Zum Inhalt springen

Kontextvariablen

Kontextvariablen sind temporäre Daten, die Sie innerhalb der Journey von Nutzer:innen durch ein bestimmtes Canvas erstellen und verwenden können. Sie ermöglichen es Ihnen, Verzögerungen zu personalisieren, Nutzer:innen dynamisch zu segmentieren und Nachrichten anzureichern, ohne die Profilinformationen von Nutzer:innen dauerhaft zu verändern. Kontextvariablen existieren nur innerhalb der Canvas-Sitzung und bleiben nicht über verschiedene Canvases hinweg oder außerhalb der Sitzung bestehen.

Funktionsweise von Kontextvariablen

Kontextvariablen können auf zwei Arten festgelegt werden:

  • Beim Canvas-Entry: Wenn Nutzer:innen einen Canvas betreten, können Daten aus dem Event oder dem API-Trigger automatisch Kontextvariablen befüllen.
  • In einem Kontextschritt: Sie können Kontextvariablen manuell innerhalb des Canvas definieren oder aktualisieren, indem Sie einen Kontextschritt hinzufügen.

Jede Kontextvariable umfasst:

  • Einen Namen (z. B. flight_time oder subscription_renewal_date)
  • Einen Datentyp (z. B. 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}}}.

Zum Beispiel könnte {{context.${flight_time}}} die geplante Abflugzeit der Nutzer:innen zurückgeben.

Jedes Mal, wenn Nutzer:innen den Canvas betreten – auch wenn sie ihn bereits zuvor betreten haben – werden die Kontextvariablen basierend auf den neuesten Entry-Daten und der Canvas-Konfiguration neu definiert. Dieser zustandsbehaftete Ansatz ermöglicht es jedem Canvas-Entry, seinen eigenen unabhängigen Kontext beizubehalten, sodass Nutzer:innen mehrere aktive Zustände innerhalb derselben Journey haben können, während der spezifische Kontext für jeden Zustand erhalten bleibt.

Wenn beispielsweise eine Kund:in zwei bevorstehende Flüge hat, laufen zwei separate Journey-Zustände gleichzeitig – jeder mit seinen eigenen flugspezifischen Kontextvariablen wie Abflugzeit und Zielort. So können Sie personalisierte Erinnerungen für den 14-Uhr-Flug nach New York senden und gleichzeitig andere Updates für den 8-Uhr-Flug nach Los Angeles am nächsten Tag verschicken, sodass jede Nachricht für die jeweilige Buchung relevant bleibt.

Überlegungen

Sie können bis zu 10 Kontextvariablen pro Kontextschritt definieren. Jeder Variablenname kann bis zu 100 Zeichen lang sein und darf nur Buchstaben, Zahlen oder Unterstriche enthalten.

Kontextvariablen-Definitionen können bis zu 10.240 Zeichen umfassen. Wenn Sie Kontextvariablen in ein API-getriggertes Canvas übergeben, teilen sie sich denselben Namespace wie Variablen, die in einem Kontextschritt erstellt wurden. Wenn Sie beispielsweise eine Variable purchased_item im Kontextobjekt des /canvas/trigger/send-Endpunkts senden, können Sie darauf als {{context.${purchased_item}}} verweisen. Wenn Sie diese Variable in einem Kontextschritt neu definieren, überschreibt der neue Wert den API-Wert für die Journey dieser Nutzer:innen.

Sie können bis zu 50 KB pro Kontextschritt 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, nicht ausgewertet oder gespeichert. Wenn Sie beispielsweise drei Variablen in einem Kontextschritt haben:

  • Variable 1: 30 KB
  • Variable 2: 19 KB
  • Variable 3: 2 KB

Variable 3 wird nicht ausgewertet oder gespeichert, da die Summe der vorherigen Variablen 50 KB überschreitet.

Datentypen

Kontextvariablen, die im Schritt erstellt oder aktualisiert werden, können die folgenden Datentypen zugewiesen werden.

Datentyp Beispiel-Variablenname Beispielwert
Boolean loyalty_program true
Number credit_score 740
String product_name green_tea
Array favorite_products ["wireless_headphones", "smart_homehub", "fitness_tracker_swatch"]
Array (von Objekten) pet_details [
 { "id": 1, "type": "dog", "breed": "beagle", "name": "Gus" }
 ,
 { "id": 2, "type": "cat", "breed": "calico", "name": "Gerald" }
]
Zeit (in UTC) last_purchase_date 2025-12-25T08:15:30:250-0800
Objekt (flach) user_profile {
 "first_name": "{{user.first_name}}",
 "last_name": "{{user.last_name}}",
 "email": "{{user.email}}",
 "loyalty_points": {{user.loyalty_points}},
 "preferred_categories": {{user.preferred_categories}}
}

Standardmäßig ist der Datentyp „Zeit“ in UTC angegeben. Wenn Sie einen String-Datentyp verwenden, um einen Zeitwert zu speichern, können Sie die Zeit in einer anderen Zeitzone wie PST definieren.

Wenn Sie beispielsweise einem/einer Nutzer:in am Tag vor seinem/ihrem Geburtstag eine Nachricht senden möchten, würden Sie die Kontextvariable als Datentyp „Zeit“ speichern, da mit dem Versand am Vortag Liquid-Logik verknüpft ist. Wenn Sie jedoch eine Feiertagsnachricht am Weihnachtstag (25. Dezember) senden, müssten Sie die Zeit nicht als dynamische Variable referenzieren, sodass die Verwendung eines String-Datentyps vorzuziehen wäre.

Für Objekt-Datentypen können Sie die Punktnotation verwenden, um einen Pfad durch die Daten anzugeben. Wenn Ihr Kontextschritt beispielsweise eine Kontextvariable order_summary mit dieser Struktur definiert:

{
  "shipping": {
    "carrier": "overnight"
  }
}

Geben Sie in einem Zielgruppenpfade- oder Decision-Split-Filter den Pfad als Kontextvariablenname in Punktnotation ein (z. B. order_summary.shipping.carrier). Wenn der Filter ausgewertet wird, löst Braze diesen Pfad zum Wert overnight auf.

Verwenden Sie in Liquid (z. B. in einem Nachrichten-Schritt) stattdessen {{context.${order_summary}.shipping.carrier}}.

Kontextvariablen verwenden

Sie können Kontextvariablen überall dort verwenden, wo Sie Liquid in einem Canvas einsetzen, z. B. in Nachrichten- und Nutzer:innen-Update-Schritten, indem Sie Personalisierung hinzufügen auswählen. Für In-App-Nachrichten und Banner in Nachrichten-Schritten können Sie Kontextvariablen auswählen, um festzulegen, wann die Nachricht ablaufen soll.

Nehmen wir zum Beispiel an, Sie möchten Passagiere über ihren VIP-Lounge-Zugang vor ihrem bevorstehenden Flug benachrichtigen. Diese Nachricht soll nur an Passagiere gesendet werden, die ein First-Class-Ticket gekauft haben. Eine Kontextvariable ist eine flexible Möglichkeit, diese Information zu verfolgen.

Nutzer:innen treten in den Canvas ein, wenn sie ein Flugticket kaufen. Um die Berechtigung für den Lounge-Zugang zu ermitteln, erstellen wir eine Kontextvariable namens lounge_access_granted in einem Kontext-Schritt und referenzieren diese Kontextvariable dann in den nachfolgenden Schritten der User Journey.

Kontextvariable, die eingerichtet wurde, um zu verfolgen, ob ein Passagier für VIP-Lounge-Zugang berechtigt ist.

In diesem Kontext-Schritt verwenden wir {{custom_attribute.${purchased_flight}}}, um festzustellen, ob der gekaufte Flugtyp first_class ist.

Als Nächstes erstellen wir einen Nachrichten-Schritt, der Nutzer:innen anspricht, bei denen {{context.${lounge_access_granted}}} den Wert true hat. Diese Nachricht wird eine Push-Benachrichtigung mit personalisierten Lounge-Informationen sein. Basierend auf dieser Kontextvariable erhalten die berechtigten Passagiere die relevanten Nachrichten vor ihrem Flug.

  • First-Class-Passagiere erhalten: „Genießen Sie exklusiven VIP-Lounge-Zugang!“
  • Business- und Economy-Passagiere erhalten: „Upgraden Sie Ihren Flug für exklusiven VIP-Lounge-Zugang.“

Ein Nachrichten-Schritt mit verschiedenen Nachrichten, die je nach Art des gekauften Flugtickets gesendet werden.

Für Aktionspfade und Exit-Kriterien

Sie können Eigenschaftsfilter-Vergleiche mit Kontextvariablen oder angepassten Attributen in diesen Trigger-Aktionen nutzen: Angepasstes Event ausführen und Kauf tätigen. Diese Aktions-Trigger unterstützen auch Eigenschaftsfilter für einfache und verschachtelte Eigenschaften.

  • Beim Vergleich mit einfachen Eigenschaften stimmen die verfügbaren Vergleiche mit dem Typ der vom angepassten Event definierten Eigenschaft überein. Zum Beispiel haben String-Eigenschaften Vergleiche wie „genau gleich“ oder „Regex stimmt überein“. Boolesche Eigenschaften können wahr oder falsch sein.
  • Beim Vergleich mit verschachtelten Eigenschaften sind die Typen nicht vordefiniert, sodass Sie Vergleiche über mehrere Datentypen hinweg für boolesche Werte, Zahlen, Strings, Zeit und Tag des Jahres auswählen können – ähnlich wie bei den Vergleichen für verschachtelte angepasste Attribute. Wenn Sie einen Datentyp auswählen, der zum Zeitpunkt des Vergleichs nicht mit dem tatsächlichen Datentyp der verschachtelten Eigenschaft übereinstimmt, stimmen die Nutzer:innen nicht mit dem Aktionspfad-Schritt oder den Exit-Kriterien überein.

Beispiele für Aktionspfade

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.

Ein beispielhafter Aktionspfad-Schritt, der eine Kontextvariable beim Ausführen eines angepassten Events referenziert.

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

Ein beispielhafter Aktionspfad-Schritt, der eine Kontextvariable beim Tätigen eines Kaufs referenziert.

Beispiele für Exit-Kriterien

Die Exit-Kriterien besagen, dass Nutzer:innen zu jedem Zeitpunkt ihrer Journey im Canvas den Canvas verlassen, wenn:

  • Sie das angepasste Event Warenkorb verlassen ausführen, und
  • die einfache Eigenschaft Artikel im Warenkorb mit dem String-Wert der Kontextvariable cart_item_threshold übereinstimmt.

Exit-Kriterien, die eingerichtet wurden, um Nutzer:innen aus dem Canvas zu entfernen, wenn sie ein angepasstes Event basierend auf der Kontextvariable ausführen.

Die Exit-Kriterien besagen, dass Nutzer:innen zu jedem Zeitpunkt ihrer Journey im Canvas den Canvas verlassen, wenn:

  • Sie einen spezifischen Kauf für den Produktnamen „book“ tätigen, und
  • die verschachtelte Eigenschaft „loyalty_program“ dieses Kaufs dem angepassten Attribut „VIP“ der Nutzer:innen entspricht.

Exit-Kriterien, die eingerichtet wurden, um Nutzer:innen aus dem Canvas zu entfernen, wenn sie einen Kauf tätigen.

Ablauf festlegen

Für Banner und In-App-Nachrichten in einem Canvas-Nachrichten-Schritt wählen Sie Eine Dauer nach Verfügbarkeit des Schritts als Ablaufoption und aktivieren dann Dauer personalisieren, um das Verfügbarkeitsfenster über eine Kontextvariable zu steuern – zum Beispiel, um es an eine Aktions- oder Buchungsdauer aus einem Kontext-Schritt anzupassen.

Dauer personalisieren gilt für diese dauerbasierte Ablaufoption. Wenn Sie stattdessen Zu einem bestimmten Datum und Zeitpunkt wählen, legen Sie den Ablauf über die Datums- und Uhrzeitsteuerungen fest.

Verzögerungen bei Aktionspfaden

In einem Aktionspfade-Schritt aktivieren Sie unter Evaluierungsfenster die Option Verzögerung personalisieren, um festzulegen, wie lange Nutzer:innen im Schritt gehalten werden – basierend auf einer Kontextvariable. Verwenden Sie dies, wenn die Wartezeit je nach Nutzer:in variieren soll, zum Beispiel basierend auf Details wie Stufe oder Region.

Kontextvariablen-Filter

Sie können Filter erstellen, die zuvor deklarierte Kontextvariablen in Zielgruppenpfade- und Decision-Split-Schritten verwenden.

Kontextvariablen werden deklariert und sind nur im Rahmen eines Canvas zugänglich, d. h. sie können nicht in Segments referenziert werden. Kontextvariablen-Filter funktionieren in Zielgruppenpfade- und Decision-Split-Schritten ähnlich – Zielgruppenpfade-Schritte repräsentieren mehrere Gruppen, während Decision-Split-Schritte binäre Entscheidungen darstellen.

Beispiel eines Decision-Split-Schritts mit der Option, einen Filter mit einer Kontextvariable zu erstellen.

Ähnlich wie Canvas-Kontextvariablen vordefinierte Typen haben, müssen die Vergleiche zwischen Kontextvariablen und statischen Werten übereinstimmende Datentypen aufweisen. Der Kontextvariablen-Filter ermöglicht Vergleiche über mehrere Datentypen hinweg für boolesche Werte, Zahlen, Strings, Zeit und Tag des Jahres – ähnlich wie bei den Vergleichen für verschachtelte angepasste Attribute.

Hier ist ein Beispiel eines Kontextvariablen-Filters, der die Kontextvariable product_name mit dem Regex /braze/ vergleicht.

Ein Filter-Setup für die Kontextvariable „product_name“, die mit dem Regex „/braze/“ abgeglichen wird.

Tag-des-Jahres- und Zeit-Filter für Datums-Kontextvariablen

So verwenden Sie Tag des Jahres- oder Zeit-Vergleichsfilter mit einer Kontextvariable:

  1. Fügen Sie einen Kontext-Schritt hinzu, der eine Kontextvariable auf ein Kalenderdatum setzt (z. B. 23. Oktober 2025).
  2. Fügen Sie nach dem Kontext-Schritt einen Zielgruppenpfade-Schritt hinzu.
  3. Fügen Sie im Zielgruppenpfade-Schritt einen Filter hinzu, der Nutzer:innen basierend auf dieser Kontextvariable aufteilt.
  4. Wählen Sie einen Vergleich aus der Kategorie Tag des Jahres oder Zeit.

Wenn eine Kontextvariable keinen deklarierten Typ hat, zeigt Braze alle verfügbaren Vergleichstypen im Dropdown an, einschließlich Tag des Jahres und Zeit. Wenn die Variable im Kontext-Schritt als Zeit-Typ deklariert ist, werden nur Tag des Jahres- und Zeit-Vergleiche angezeigt. Für andere Datentypen mit bekanntem Typ (z. B. ein verschachteltes angepasstes Attribut mit einem Zeit-Typ) werden nur die für diesen Typ geltenden Vergleiche angezeigt.

Vergleich mit Kontextvariablen oder angepassten Attributen

Durch Aktivieren des Umschalters Mit einer Kontextvariable oder einem angepassten Attribut vergleichen können Sie Kontextvariablen-Filter erstellen, die mit zuvor definierten Kontextvariablen oder angepassten Nutzer:innen-Attributen verglichen werden. Dies kann nützlich sein, um Vergleiche durchzuführen, die pro Nutzer:in dynamisch sind, wie z. B. API-getriggerter context, oder um komplexe Vergleichslogik zu vereinfachen, die über mehrere Kontextvariablen definiert ist.

Nehmen wir an, Sie möchten Nutzer:innen nach einer dynamischen Inaktivitätsperiode eine personalisierte Erinnerung senden – einschließlich aller, die sich in den letzten drei Tagen nicht in Ihrer App angemeldet haben.

Sie haben eine Kontextvariable re_engagement_date, die als {{now | minus: 3 | append: ' days'}} definiert ist. Beachten Sie, dass 3 days ein variabler Betrag sein kann, der ebenfalls als angepasstes Attribut der Nutzer:innen gespeichert ist. Wenn also das re_engagement_date nach dem last_login_date (als angepasstes Attribut im Nutzerprofil gespeichert) liegt, erhalten sie eine Nachricht.

Ein Filter-Setup mit angepassten Attributen als Personalisierungstyp für die Kontextvariable „re_engagement_date“ nach dem angepassten Attribut „last_login_date“.

Der folgende Filter vergleicht die Kontextvariable reminder_date darauf, ob sie vor der Kontextvariable appointment_deadline liegt. Dies kann dabei helfen, Nutzer:innen in einem Zielgruppenpfade-Schritt zu gruppieren, um festzustellen, ob sie zusätzliche Erinnerungen vor ihrer Terminfrist erhalten sollen.

Ein Filter-Setup mit Kontextvariablen als Personalisierungstyp für die Kontextvariable „reminder_date“ basierend auf der Kontextvariable „appointment_deadline“.

Standardisierung der Zeitzonenkonsistenz

Obwohl die meisten Event-Eigenschaften, die den Timestamp-Typ verwenden, in Canvas bereits in UTC vorliegen, gibt es einige Ausnahmen. Mit der Einführung von Canvas Context werden alle Standard-Timestamp-Event-Eigenschaften in aktionsbasierten Canvases einheitlich in UTC angegeben. Diese Änderung ist Teil einer umfassenderen Maßnahme, um ein vorhersehbareres und konsistenteres Erlebnis beim Bearbeiten von Canvas-Schritten und Nachrichten zu gewährleisten. Beachten Sie, dass diese Änderung alle aktionsbasierten Canvases betrifft, unabhängig davon, ob das jeweilige Canvas einen Context-Schritt verwendet oder nicht.

New Stuff!