Katalogartikel nach Datumsbereich filtern
Dieses Beispiel zeigt, wie ein fiktiver Ticketmarktplatz Katalogselektionen und Liquid-Datumsausdrücke nutzt, um Verbraucher:innen per E-Mail nur über Ereignisse zu informieren, die innerhalb der nächsten sieben Tage ab dem Sendezeitpunkt stattfinden. Sie erstellen eine Selektion mit rollierenden Zeitfiltern und rendern die passenden Katalogartikel dann in einer Campaign- oder Canvas-Nachricht.
Über dieses Beispiel
MovieCanon, ein fiktiver Ticketmarktplatz, verwendet dieses Muster, um sicherzustellen, dass E-Mail-Campaigns nur zeitlich relevante Konzerte und Shows auflisten.
Das Muster verwendet zwei Braze-Features zusammen:
- Eine Katalogauswahl mit
time-Feld-Filtern, deren Werte Liquid-Snippets sind, die zum Sendezeitpunkt ein rollierendes Zeitfenster berechnen - Den
{% catalog_selection_items %}Liquid-Tag im Nachrichtentext, um passende Katalogzeilen zu rendern
Hinweise
- Erstellen Sie für die Datums-/Zeitspalte, nach der Sie filtern, ein
time-Feld im Katalog – kein String-Feld. Speichern Sie Werte im ISO 8601-Format, z. B.2026-06-20T19:30:00Z. Informationen zu unterstützten Typen finden Sie unter Unterstützte Datentypen. - Die Operatoren
beforeundafterverwenden strikte Vergleiche. Ereignisse, die exakt einem Grenz-Zeitstempel entsprechen, können ausgeschlossen werden. Verwenden Sie vollständige Zeitstempel, wenn das Zeitfenster zum Sendezeitpunkt beginnen soll. Reine Datumswerte im FormatYYYY-MM-DDwerden auf Mitternacht UTC des jeweiligen Tages gesetzt. - Liquid in Auswahlfiltern wird zum Sendezeitpunkt ausgewertet. Die Variable
'now'spiegelt den Zeitpunkt wider, zu dem die Nachricht gerendert wird – in der Regel in UTC. Stellen Sie sicher, dass das resultierende Zeitfenster über alle Zeitzonen hinweg Ihrer Absicht entspricht. - Connected-Content, Content Blocks, Katalog-Tags und
abort_messagewerden in Katalog-Auswahlfilterwerten nicht unterstützt. Wenn ein Filter ein nicht zulässiges Tag enthält, gibt die Auswahl keine Artikel zurück, ohne einen Fehler auszulösen. - Sie können bis zu 10 Filter pro Auswahl hinzufügen und bis zu 50 Artikel zurückgeben lassen. Passen Sie das Sieben-Tage-Fenster an, indem Sie die zu
'now'addierten Sekunden ändern (604800= 7 Tage multipliziert mit86400Sekunden pro Tag). - Ergebnisarrays von Katalogauswahlen sind nullindexiert (
items[0]ist der erste Artikel). - Testen Sie Filter-Liquid, Nachrichten-Liquid und Abbruchlogik außerhalb Ihres Produktions-Workspace, bevor Sie an Produktions-Zielgruppen senden.
Einrichtung
Dieses Beispiel setzt einen Katalog mit dem Namen live_events und den folgenden Feldern voraus:
| Feld | Typ | Beispielwert |
|---|---|---|
id |
String | show-1042 |
event_name |
String | Summer Jazz Night |
event_date_time |
Time | 2026-06-20T19:30:00Z |
ticket_price |
Number | 45 |
city |
String | Austin |
venue |
String | Riverside Amphitheater |
Falls Sie noch keinen ähnlichen Katalog haben, erstellen Sie einen Katalog und laden oder synchronisieren Sie zuerst Ihre Veranstaltungsdaten.
Schritt 1: Katalogauswahl erstellen
- Navigieren Sie zu Data Settings > Catalogs und wählen Sie den Katalog
live_eventsaus. - Öffnen Sie den Tab Selection und wählen Sie Create Selection.
- Benennen Sie die Auswahl
seven_day_windowund fügen Sie eine optionale Beschreibung hinzu, z. B. „Veranstaltungen innerhalb der nächsten sieben Tage.“ - Legen Sie ein Results limit für die maximale Anzahl zurückzugebender Veranstaltungen fest (bis zu 50).
- Speichern Sie noch nicht. Fügen Sie die Datumsfilter in den nächsten Schritten hinzu.
Schritt 2: Obergrenze-Filter hinzufügen
Fügen Sie einen Filter für das Feld event_date_time hinzu:
| Einstellung | Wert |
|---|---|
| Filter field | event_date_time |
| Operator | before |
| Value | Liquid-Snippet |
Geben Sie im Filterwert-Feld dieses Liquid-Snippet ein. Es berechnet einen Zeitstempel sieben Tage nach dem Sendezeitpunkt:
{% assign seven_days = 'now' | date: '%s' | plus: 604800 %}{{ seven_days | date: "%Y-%m-%dT%H:%M:%SZ" }}
Damit wird die Obergrenze des Zeitfensters festgelegt, sodass nur Veranstaltungen vor diesem Zeitstempel berücksichtigt werden.
Schritt 3: Untergrenze-Filter hinzufügen
Fügen Sie einen zweiten Filter für dasselbe Feld hinzu:
| Einstellung | Wert |
|---|---|
| Filter field | event_date_time |
| Operator | after |
| Value | Liquid-Snippet |
Geben Sie dieses Liquid-Snippet für die Untergrenze ein. Es verwendet den aktuellen Sendezeitpunkt, sodass bereits begonnene Veranstaltungen ausgeschlossen werden:
{{ 'now' | date: "%Y-%m-%dT%H:%M:%SZ" }}
Zusammen geben die beiden Filter Katalogeinträge zurück, bei denen event_date_time nach dem aktuellen Sendezeitpunkt und vor sieben Tagen nach dem Sendezeitpunkt liegt. Wählen Sie Create Selection, um zu speichern.
Schritt 4: Auswahl in einer Nachricht referenzieren
Fügen Sie in Ihrer Campaign- oder Canvas-Nachricht Liquid ein, das Einträge aus der Auswahl abruft. Sie können Add personalization (Catalog Items > Use a selection) verwenden oder den Tag manuell einfügen:
{% catalog_selection_items live_events seven_day_window %}
Here are some upcoming events:
{{ items[0].event_name }} — ${{ items[0].ticket_price }}
{{ items[0].city }} · {{ items[0].venue }}
{{ items[1].event_name }} — ${{ items[1].ticket_price }}
{{ items[1].city }} · {{ items[1].venue }}
Ersetzen Sie fest codierte Array-Indizes durch eine Schleife, wenn Sie eine variable Anzahl von Ergebnissen rendern möchten.
Schritt 5: Leere Ergebnisse behandeln
Wenn keine Katalogeinträge der Auswahl entsprechen, ist das items-Array leer und der getaggte Block rendert nichts. Um den Versand zu überspringen oder Fallback-Text anzuzeigen, umschließen Sie den Tag mit einer Bedingung:
{% catalog_selection_items live_events seven_day_window %}
{% if items.size == 0 %}
{% abort_message('Catalog selection returned 0 items') %}
{% endif %}
Here are some upcoming events:
{{ items[0].event_name }}
Weitere Informationen finden Sie unter Nachrichten abbrechen.