Zum Inhalt springen

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 before und after verwenden 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 Format YYYY-MM-DD werden 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_message werden 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 mit 86400 Sekunden 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

  1. Navigieren Sie zu Data Settings > Catalogs und wählen Sie den Katalog live_events aus.
  2. Öffnen Sie den Tab Selection und wählen Sie Create Selection.
  3. Benennen Sie die Auswahl seven_day_window und fügen Sie eine optionale Beschreibung hinzu, z. B. „Veranstaltungen innerhalb der nächsten sieben Tage.“
  4. Legen Sie ein Results limit für die maximale Anzahl zurückzugebender Veranstaltungen fest (bis zu 50).
  5. 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.

New Stuff!