Katalogartikel mit einem angepassten Attribut-Array abgleichen
Wenn Nutzer:innen eine Liste gespeicherter Produktnamen in ihrem Profil führen, können Sie eine Katalogauswahl zusammen mit Liquid verwenden, um nur die Katalogzeilen anzuzeigen, die in dieser Liste vorkommen – zum Beispiel in einer Wunschlisten-E-Mail.
Über dieses Beispiel
Flash & Thread speichert die gespeicherten Produktnamen aller Kund:innen in einem angepassten Attribut vom Typ String-Array (saved_product_names). Der Katalog enthält vollständige Produktdetails (Kategorie, Preis, Bild-URL, Lagerbestand).
Katalogauswahlen können Katalogspalten anhand statischer Werte oder Liquid-Werte filtern, einschließlich Array-Feldern in Katalogzeilen. Sie filtern eine Katalogzeile jedoch nicht anhand von Werten, die in einem Array im Nutzerprofil gespeichert sind. Um auf Basis der Liste der Nutzer:innen zu personalisieren, geben Sie mit einer Auswahl eine breite Menge an Katalogartikeln zurück und verwenden dann Liquid, um nur die Zeilen beizubehalten, die mit dem Array im Profil übereinstimmen.
Dieses Szenario:
- Weist das angepasste Array-Attribut der Nutzer:innen einer Liquid-Variablen zu.
- Ruft
catalog_selection_itemsfür eine vorgefilterte Katalogauswahl auf (bis zu 50 Artikel). - Durchläuft
itemsin einer Schleife und verwendetcontains, um jedes Katalogfeld (zum Beispielnameoderid) mit dem Array abzugleichen.

Dieses Szenario funktioniert nur, wenn die Ergebnismenge der Auswahl (bis zu 50 Katalogzeilen) die gespeicherten Artikel der einzelnen Nutzer:innen plausibel enthalten kann – zum Beispiel bei kleinen Katalogen oder bei Katalogen, in denen Filter die Auswahl so stark eingrenzen, dass eine typische Liste abgedeckt ist. Liegen die gespeicherten Artikel von Nutzer:innen außerhalb der 50 zurückgegebenen Zeilen, findet die Schleife keine Übereinstimmungen und die Nachricht zeigt für diese Artikel nichts an. Im Allgemeinen lässt sich das mit keinem Filter lösen, da die Auswahl nicht mit dem Array im Nutzerprofil abgeglichen werden kann.
Überlegungen
- Testen Sie Liquid und Katalogdaten in einem Staging-Workspace, bevor Sie Nachrichten an Kund:innen senden.
- Da eine Auswahl höchstens 50 Katalogzeilen zurückgibt, sollten Sie Filter hinzufügen (zum Beispiel vorrätig, aktive Kategorie oder Preisspanne), damit die voraussichtlich gespeicherten Artikel jeder Nutzer:in innerhalb dieser Ergebnismenge liegen.
- Dieses Beispiel verwendet ein String-Array im Nutzerprofil.
- Bei einem Array von Objekten gleichen Sie eine Eigenschaft innerhalb jedes Objekts ab (zum Beispiel
product_id) und passen diecontains-Prüfung an oder verwenden einefor-Schleife über die Objekte. Siehe Array von Objekten. - Das Verhalten von
containshängt vom Attributtyp ab. Verwenden Sie bei Arrayscontainsstatt==. Siehe Bedingte Logik. - Gleichen Sie stabile Bezeichner ab (zum Beispiel die Katalog-
id), wenn sich Produktnamen ändern oder doppelt vorkommen können. - Die Liquid-Snippets in diesem Artikel sind Beispiele. Prüfen Sie die Darstellung in Ihren Kanälen (E-Mail-HTML, Push usw.).
Einrichtung
Dieses Beispiel setzt Folgendes voraus:
| Asset | Details |
|---|---|
| Angepasstes Attribut | saved_product_names – String-Array (zum Beispiel ["linen_shirt", "trail_jacket", "canvas_tote"]) |
| Katalog | apparel_products mit den Spalten id, category, name, price, inventory, image_url |
| Auswahl | in_stock_apparel für apparel_products, Ergebnislimit 50, mit Filtern, die irrelevante Zeilen ausschließen (zum Beispiel inventory größer als 0) |
Schritt 1: Katalog und Auswahl erstellen
- Importieren oder synchronisieren Sie Produktzeilen in einen Katalog namens
apparel_products. - Erstellen Sie eine Auswahl (zum Beispiel
in_stock_apparel), die so viele relevante Zeilen zurückgibt, wie Sie benötigen – bis zum Limit von 50 Artikeln. - Fügen Sie Auswahlfilter hinzu, um Zeilen auszuschließen, die niemals in der Nachricht erscheinen sollen (nicht vorrätig, falsche Kategorie usw.).
Informationen zur Einrichtung von Auswahlen finden Sie unter Auswahlen.
Schritt 2: Liquid zu Ihrer Nachricht hinzufügen
Weisen Sie das Profil-Array zu, laden Sie die Auswahl und durchlaufen Sie sie in einer Schleife mit contains:
{% assign saved_product_names = custom_attribute.${saved_product_names} %}
{% catalog_selection_items apparel_products in_stock_apparel %}
{% for item in items %}
{% if saved_product_names contains item.name %}
Product: {{ item.name }}
Category: {{ item.category }}
Price: ${{ item.price }}
Image: {{ item.image_url }}
{% endif %}
{% endfor %}
Ersetzen Sie item.name durch item.id (oder eine andere Spalte), wenn Ihr Array IDs statt Anzeigenamen speichert. Fügen Sie für Ihren Kanal Abstände oder HTML zwischen den Feldern hinzu. In ${{ item.price }} ist das $ ein literales Währungssymbol, das vor der Liquid-Ausgabe angezeigt wird – es ist nicht Teil der ${}-Personalisierungssyntax von Braze.
Um dieses Liquid automatisch zu generieren, öffnen Sie das Modal Personalisierung hinzufügen (Katalogartikel > Auswahl verwenden). Weitere Informationen finden Sie unter Kataloge verwenden.
Schritt 3: Vorschau und Test
Senden Sie Testnachrichten an Profile mit unterschiedlichen saved_product_names-Werten. Überprüfen Sie, dass nur passende Katalogzeilen erscheinen und dass ein leeres Array keine Produktzeilen erzeugt.