SQL-Segmenterweiterungen
Sie können eine Segmenterweiterung mithilfe von Snowflake-SQL-Abfragen von Snowflake-Daten erstellen. SQL kann Ihnen helfen, neue Segmentierungs-Anwendungsfälle zu erschließen, da es die Flexibilität bietet, die Beziehungen zwischen Daten auf eine Weise zu beschreiben, die mit anderen Segmentierungs-Features nicht möglich ist.
Wie bei Standard-Segmenterweiterungen können Sie in Ihrer SQL-Segmenterweiterung Ereignisse aus den letzten zwei Jahren (730 Tage) abfragen. Im Gegensatz zu Standard-Segmenterweiterungen verbrauchen SQL-Segmenterweiterungen Credits.
Voraussetzungen
Um SQL-Segmenterweiterungen zu verwenden, benötigen Sie die folgenden Berechtigungen für Ihren Workspace:
| Berechtigung | Was sie erlaubt |
|---|---|
| „Segmente anzeigen“ | Segmenterweiterungen öffnen und SQL-Segmenterweiterungen anzeigen |
| „Segmente bearbeiten“ | SQL-Segmenterweiterungen erstellen, bearbeiten und aktualisieren |
| „PII anzeigen“ | SQL-Vorschauabfragen ausführen, die Kundendaten zurückgeben können |
Eine Segmenterweiterung erstellen
Schritt 1: Einen Editor auswählen
Für Ihre SQL-Segmenterweiterung stehen Ihnen zwei SQL-Editoren zur Verfügung: der SQL-Editor und der inkrementelle SQL-Editor.
- Vollständige Aktualisierung: Bei jeder Aktualisierung Ihres Segments fragt Braze alle verfügbaren Daten ab. Das verbraucht mehr Credits als eine inkrementelle Aktualisierung. Erweiterungen mit vollständiger Aktualisierung können die Mitgliedschaft automatisch täglich neu generieren, lassen sich aber nicht inkrementell aktualisieren.
- Inkrementelle Aktualisierung: Die inkrementelle Aktualisierung ist kostengünstiger, erfordert bei der Einrichtung aber einige zusätzliche Schritte. Wenn Sie diese Schritte beim Erstellen Ihres Segments umsetzen können, lohnt sich diese Option, da Ihre Abfrage weniger Credits verbraucht.
- KI-SQL-Generator: Mit dem KI-SQL-Generator beschreiben Sie in natürlicher Sprache, was Sie suchen, und erhalten daraus eine SQL-Abfrage für Ihr Segment. So legen Sie schnell los, ohne SQL selbst schreiben zu müssen.

Sie können für alle SQL-Segmente, die in einem der beiden SQL-Editoren erstellt wurden, eine manuelle vollständige Aktualisierung durchführen.
So erstellen Sie eine SQL-Segmenterweiterung mit vollständiger Aktualisierung:
- Gehen Sie zu Zielgruppe > Segmenterweiterungen.
- Wählen Sie Neue Erweiterung erstellen und dann Vollständige Aktualisierung.

- Geben Sie einen Namen für Ihre Segmenterweiterung ein und fügen Sie Ihr SQL ein. Anforderungen und Ressourcen finden Sie unter Schritt 2.

- Speichern Sie Ihre Segmenterweiterung.
So erstellen Sie eine SQL-Segmenterweiterung mit inkrementeller Aktualisierung:
- Gehen Sie zu Zielgruppe > Segmenterweiterungen.
- Wählen Sie Neue Erweiterung erstellen und dann Inkrementelle Aktualisierung.

- Geben Sie einen Namen für Ihre Segmenterweiterung ein und fügen Sie Ihr SQL ein. Anforderungen und Ressourcen finden Sie im Abschnitt SQL schreiben.

- Wählen Sie bei Bedarf Erweiterung täglich neu generieren.

Wenn diese Option aktiviert ist, aktualisiert Braze die Segmentmitgliedschaft jeden Tag automatisch. Das bedeutet, dass Braze täglich um Mitternacht in der Zeitzone Ihres Unternehmens (mit einer möglichen Verzögerung von einer Stunde) nach neuen Nutzer:innen für Ihr Segment sucht und diese automatisch hinzufügt. Wird eine Segmenterweiterung 7 Tage lang nicht verwendet, pausiert Braze die tägliche Neugenerierung automatisch. Eine unbenutzte Segmenterweiterung ist nicht Teil einer Campaign oder eines Canvas (die Campaign bzw. das Canvas muss nicht aktiv sein, damit die Erweiterung als „verwendet“ gilt). - Speichern Sie Ihre Segmenterweiterung.
Mit dem KI-SQL-Generator beschreiben Sie eine Zielgruppe in natürlicher Sprache und generieren Snowflake-SQL für Ihre Segmenterweiterung.

SQL-Abfragen, deren Ausführung länger als 20 Minuten dauert, werden mit einem Timeout abgebrochen.
Sobald die Erweiterung verarbeitet wurde, können Sie mit Ihrer Segmenterweiterung ein Segment erstellen und dieses neue Segment mit Ihren Campaigns und Canvases ansprechen.
Schritt 2: Ihr SQL schreiben
Schreiben Sie Ihre SQL-Abfrage in Snowflake-Syntax. Eine vollständige Liste der abfragbaren Tabellen und Spalten finden Sie in der Tabellenreferenz.

Beachten Sie, dass die abfragbaren Tabellen nur Event-Daten enthalten. Wenn Sie Nutzerattribute abfragen möchten, kombinieren Sie Ihr SQL-Segment mit Filtern für angepasste Attribute aus dem klassischen Segmentierer.
Ihr SQL muss außerdem die folgenden Regeln einhalten:
- Schreiben Sie eine einzige SQL-Anweisung. Verwenden Sie keine Semikolons.
- Ihr SQL darf nur eine Spalte auswählen: die Spalte
user_id. Ihr SQL muss also Folgendes enthalten:
SELECT DISTINCT user_id FROM "INSERT TABLE NAME"
- Nutzer:innen ohne Events lassen sich nicht abfragen. Für Abfragen nach Nutzer:innen, die ein Event weniger als X-mal ausgeführt haben, gehen Sie daher wie folgt vor:
- Schreiben Sie eine Abfrage, die Nutzer:innen auswählt, die das Event MEHR als X-mal ausgeführt haben.
- Wählen Sie beim Referenzieren Ihrer Segmenterweiterung in Ihrem Segment
enthält nicht, um das Ergebnis zu invertieren.
Anforderungen an die Spalte user_id
Die Spalte user_id muss eine direkte, unveränderte Referenz auf user_id aus einer Quelltabelle sein. Braze lehnt Abfragen ab, bei denen die finale Spalte user_id Folgendes ist:
- Eine berechnete Spalte mit Alias, z. B.
COALESCE(m.orphaned_by_id, c.user_id) AS user_id - Eine andere Spalte, die in
user_idumbenannt wurde, z. B.m.orphaned_by_id AS user_id - Eine Spalte aus einer Unterabfrage mit dem Alias
user_id, z. B. eine Auswahl aus einer Unterabfrage, die eine berechneteuser_idzurückgibt
Wenn Sie die Fehlermeldung „sql - Please select only the following columns: user_id“ erhalten, obwohl Ihre Abfrage bereits die Spalte user_id auswählt, prüfen Sie, ob Ihre Abfrage eines dieser Muster verwendet. Die Vorschau kann funktionieren, auch wenn sich die Abfrage nicht speichern lässt.

Verwenden Sie GROUP BY c.user_id oder DISTINCT c.user_id direkt aus Ihrer Quelltabelle, statt die Spalte user_id mit einem Alias zu versehen oder zu berechnen.
Zusätzliche Regeln
Außerdem muss Ihre Standard-SQL-Abfrage die folgenden Regeln einhalten:
- Sie können keine
DECLARE-Anweisungen verwenden.
Alle Abfragen mit inkrementeller Aktualisierung bestehen aus zwei Teilen: einer Abfrage und Schemadetails.
- Schreiben Sie im Editor eine Abfrage, die
user_ids aus der gewünschten Tabelle auswählt. - Fügen Sie Schemadetails hinzu, indem Sie in den Feldern oben im Editor einen Operator, eine Anzahl und einen Zeitraum auswählen. Die Abfrage prüft, ob die Summe der Aggregatspalte die Bedingung erfüllt, die Sie mit diesen Feldern festlegen. Das funktioniert ähnlich wie das Erstellen klassischer Segmenterweiterungen.
- Operator: Geben Sie an, ob das Event mehr als, weniger als oder genau eine bestimmte Anzahl von Vorkommen hatte.

- Anzahl: Wie oft das Event in Bezug auf den Operator ausgewertet werden soll.

- Zeitraum: Anzahl der Tage (1 bis 730), in denen Sie Instanzen des Events prüfen möchten. Dieser Zeitraum bezieht sich auf vergangene Tage relativ zum aktuellen Tag. Das folgende Beispiel zeigt eine Abfrage nach Nutzer:innen, die das Event in den letzten 365 Tagen mehr als 5-mal ausgeführt haben.

- Operator: Geben Sie an, ob das Event mehr als, weniger als oder genau eine bestimmte Anzahl von Vorkommen hatte.
Im folgenden Beispiel würde das resultierende Segment Nutzer:innen enthalten, die das Event favorited in den letzten 30 Tagen nach einem bestimmten Datum mehr als 3-mal ausgeführt haben.



Die inkrementelle Aktualisierung berücksichtigt verspätete Events, also Events, die nach dem täglichen Aktualisierungsfenster eingehen, etwa SDK-Events, die zum Zeitpunkt ihrer Erfassung nicht gesendet wurden. Bei der Aktualisierung des Segments verarbeitet Braze die Tage, zu denen diese verspäteten Events gehören, erneut.
So verfolgt die inkrementelle Aktualisierung Nutzer:innen im Zeitverlauf
Bei der inkrementellen Aktualisierung speichert Braze tägliche Zählwerte für alle Nutzer:innen in einer internen Zähltabelle. So kann Braze Ihr Segment über den gesamten Zeitraum auswerten, ohne jeden Tag alle historischen Daten erneut abzufragen.
Was gespeichert wird: Braze führt eine Zähltabelle (ähnlich einer Segment-Kohortentabelle), in der tägliche Qualifizierungszählwerte von Nutzer:innen im Format (date, user_id, count) gesammelt werden. Diese Tabelle bewahrt historische Daten außerhalb des rollierenden zweitägigen Aktualisierungsfensters auf.
Was bei jeder Aktualisierung passiert: Bei einer inkrementellen Aktualisierung löscht Braze nur die Datensätze im rollierenden zweitägigen Aktualisierungsfenster aus der Zähltabelle. Anschließend führt Braze Ihre SQL-Abfrage mit aktualisierten Zeitparametern (über $start_date) erneut aus, um für diese Tage neue Zeilen einzufügen. Historische Zeilen außerhalb des rollierenden zweitägigen Aktualisierungsfensters bleiben in der Zähltabelle erhalten.
Wie Braze entscheidet, wer im Segment ist: Braze wertet Ihre Kriterien für die Segmentmitgliedschaft anhand der gesamten gesammelten Zähltabelle aus, nicht nur anhand des Payloads der letzten zweitägigen Aktualisierung. Nutzer:innen, die sich vor mehr als zwei Tagen qualifiziert haben, bleiben also im Segment, solange die aggregierten Zählwerte Ihre Kriterien weiterhin erfüllen.
SQL schreiben, das zuverlässig aktualisiert: Vermeiden Sie beim Schreiben von SQL für die inkrementelle Aktualisierung Abfragemuster, die bei Teilaktualisierungen zu inkonsistenten Ergebnissen führen können. Fensteraggregationen wie MAX(time), die von Daten über $start_date-Grenzen hinweg abhängen, können beispielsweise den Zeilenstatus unerwartet verändern, wenn nur ein Teil der Tage neu berechnet wird. Strukturieren Sie Ihre Abfragen so, dass die Ausgabe für jeden Tag nur von Events dieses Tages abhängt. So bleiben die Ergebnisse konsistent, egal ob die Abfrage zwei oder 730 Tage an Daten verarbeitet.
Zusätzliche Regeln
Außerdem muss Ihre Abfrage mit inkrementeller Aktualisierung die folgenden Regeln einhalten:
- Schreiben Sie eine einzige SQL-Anweisung. Verwenden Sie keine Semikolons.
- Ihr inkrementelles SQL-Segment kann sich nur auf ein Event beziehen. Ihre Dropdown-Auswahlen für Datum und Anzahl gelten für dieses Event.
- Ihr SQL muss den Alias
$date()enthalten (z. B.$date(time)),user_idund eineCOUNT()-Aggregation auswählen, nach Datum unduser_idgruppieren und Ihre Zeitspalte mit$start_datefiltern (z. B.time > $start_date). Wenn Sie SQL ohne$date()oder diese Felder speichern, erhalten Sie eine Fehlermeldung. - Sie können keine
DECLARE-Anweisungen verwenden.

Wenn Sie ein SQL-Segment erstellen, das die Tabelle CATALOGS_ITEMS_SHARED verwendet, müssen Sie eine Katalog-ID angeben. Zum Beispiel:
SELECT * FROM CATALOGS_ITEMS_SHARED
WHERE CATALOG_ID = 'XYZ'
LIMIT 10
Schritt 3: Vorschau der Abfrage anzeigen
Vor dem Speichern können Sie eine Vorschau Ihrer Abfrage ausführen. Abfragevorschauen sind automatisch auf 100 Zeilen begrenzt und werden nach 60 Sekunden mit einem Timeout abgebrochen. Die Anforderung an die Spalte user_id gilt nicht für Vorschauen.
Bei inkrementellen SQL-Segmenterweiterungen berücksichtigt die Vorschau die zusätzlichen Kriterien aus den Feldern für Operator, Anzahl und Zeitraum nicht.
Schritt 4: Entscheiden, ob Sie das SQL invertieren müssen
Entscheiden Sie als Nächstes, ob Sie das SQL invertieren müssen. Nutzer:innen ohne Events lassen sich zwar nicht direkt abfragen, Sie können diese Nutzer:innen aber mit SQL invertieren ansprechen.

Standardmäßig ist SQL invertieren nicht aktiviert. Wenn Sie jedoch mit dem KI-SQL-Generator eine SQL-Anweisung generieren, die negiert werden muss, kann ChatGPT eine Ausgabe zurückgeben, die dieses Feature automatisch aktiviert.
Um beispielsweise Nutzer:innen mit weniger als drei Käufen anzusprechen, schreiben Sie zunächst eine Abfrage, die Nutzer:innen mit drei oder mehr Käufen auswählt. Wählen Sie dann SQL invertieren, um Nutzer:innen mit weniger als drei Käufen anzusprechen (einschließlich derjenigen ohne Käufe).

Sofern Sie nicht gezielt Nutzer:innen ohne Events ansprechen möchten, müssen Sie das SQL nicht invertieren. Wenn SQL invertieren ausgewählt ist, prüfen Sie, ob das Feature tatsächlich benötigt wird und ob das Segment Ihrer gewünschten Zielgruppe entspricht. Eine Abfrage, die Nutzer:innen mit mindestens einem Event anspricht, erreicht invertiert beispielsweise nur Nutzer:innen ohne Events.

Aktualisieren der Segment-Mitgliedschaft
Um die Segment-Mitgliedschaft einer mit SQL erstellten Segmenterweiterung zu aktualisieren, öffnen Sie die Segmenterweiterung und wählen Sie Aktualisieren.

Wenn Sie ein Segment erstellt haben, bei dem Sie erwarten, dass Nutzer:innen regelmäßig ein- und austreten, aktualisieren Sie die zugehörige Segmenterweiterung manuell, bevor Sie dieses Segment in einer Campaign oder einem Canvas ansprechen.
Ihre Segmenterweiterungen verwalten
Auf der Seite Segmenterweiterungen sind mit SQL generierte Segmente durch neben ihrem Namen gekennzeichnet.
Wählen Sie eine SQL-Segmenterweiterung aus, um zu sehen, wo die Erweiterung verwendet wird, die Erweiterung zu archivieren oder die Segmentzugehörigkeit manuell zu aktualisieren.

Aktualisierungseinstellungen festlegen
Wenn Sie Ihre Erweiterung nicht regelmäßig aktualisieren müssen, können Sie sie ohne Aktualisierungseinstellungen speichern. Braze generiert Ihre Segmenterweiterung dann standardmäßig auf Grundlage der aktuellen Nutzerzugehörigkeit zu diesem Zeitpunkt. Verwenden Sie das Standardverhalten, wenn Sie die Zielgruppe nur einmal generieren und sie dann mit einer einmaligen Campaign ansprechen möchten.
Die Verarbeitung Ihres Segments beginnt immer nach dem ersten Speichern. Jedes Mal, wenn Ihr Segment aktualisiert wird, führt Braze das Segment erneut aus und aktualisiert die Segmentmitgliedschaft, um die Nutzer:innen in Ihrem Segment zum Zeitpunkt der Aktualisierung widerzuspiegeln. So können Ihre wiederkehrenden Campaigns die relevantesten Nutzer:innen erreichen.
Einrichten einer wiederkehrenden Aktualisierung
Um einen wiederkehrenden Zeitplan einzurichten, wählen Sie Aktualisierung aktivieren. Die Option zur Festlegung von Aktualisierungseinstellungen ist für alle Arten von Segmenterweiterungen verfügbar, einschließlich SQL-Segmente, CDI-Segmenterweiterungen und einfache formularbasierte Segmenterweiterungen.

Um Ihre Datenverwaltung zu optimieren, werden die Aktualisierungseinstellungen für nicht verwendete Segmenterweiterungen automatisch deaktiviert. Segmenterweiterungen gelten als ungenutzt, wenn sie:
- In keinen aktiven oder inaktiven (Entwurf, gestoppt, archiviert) Campaigns, Canvases oder Segmenten verwendet werden; oder
- Seit mehr als 7 Tagen nicht geändert wurden
Braze benachrichtigt den Unternehmenskontakt und die erstellende Person der Erweiterung, wenn diese Einstellung deaktiviert wird. Die Option, Erweiterungen täglich zu regenerieren, kann jederzeit wieder aktiviert werden.
Auswählen Ihrer Aktualisierungseinstellungen

Im Panel Aktualisierungsintervall-Einstellungen können Sie die Häufigkeit auswählen, mit der diese Segmenterweiterung aktualisiert wird: stündlich, täglich, wöchentlich oder monatlich. Sie müssen außerdem die genaue Uhrzeit (in der Zeitzone Ihres Unternehmens) für die Aktualisierung angeben, z. B.:
- Wenn Sie eine E-Mail-Campaign haben, die jeden Montag um 11 Uhr Unternehmenszeit versendet wird, und Sie sicherstellen möchten, dass Ihr Segment kurz vor dem Versand aktualisiert wird, sollten Sie einen wöchentlichen Aktualisierungszeitplan montags um 10 Uhr wählen.
- Wenn Sie möchten, dass Ihr Segment jeden Tag aktualisiert wird, wählen Sie die tägliche Aktualisierungshäufigkeit und dann die Tageszeit für die Aktualisierung aus.

Die Möglichkeit, einen stündlichen Aktualisierungszeitplan festzulegen, ist für formularbasierte Segmenterweiterungen nicht verfügbar (Sie können jedoch tägliche, wöchentliche oder monatliche Zeitpläne festlegen).
Credit-Verbrauch und zusätzliche Kosten
Da bei Aktualisierungen die Abfrage Ihres Segments erneut ausgeführt wird, verbraucht jede Aktualisierung für SQL-Segmente SQL-Segment-Credits, und jede Aktualisierung für CDI-Segmenterweiterungen verursacht Kosten in Ihrem Drittanbieter-Data-Warehouse.

Segmente können aufgrund von Datenverarbeitungszeiten bis zu 60 Minuten für die Aktualisierung benötigen. Segmente, die gerade aktualisiert werden, haben in Ihrer Segmenterweiterungsliste den Status „In Bearbeitung“. Dies hat einige Auswirkungen:
- Um die Verarbeitung Ihres Segments vor einer bestimmten Zeit abzuschließen, wählen Sie eine Aktualisierungszeit, die 60 Minuten früher liegt.
- Für eine bestimmte Segmenterweiterung kann jeweils nur eine Aktualisierung gleichzeitig erfolgen. Wenn ein Konflikt auftritt, bei dem eine neue Aktualisierung gestartet wird, während eine bestehende Aktualisierung bereits verarbeitet wird, bricht Braze die neue Aktualisierungsanfrage ab und setzt die laufende Verarbeitung fort.
Kriterien zur automatischen Deaktivierung veralteter Erweiterungen
Geplante Aktualisierungen werden automatisch deaktiviert, sobald eine Segmenterweiterung veraltet ist. Eine Segmenterweiterung gilt als veraltet, wenn sie die folgenden Kriterien erfüllt:
- Nicht in aktiven Campaigns oder Canvases verwendet
- In keinem Segment verwendet, das in einer aktiven Campaign oder einem Canvas eingesetzt wird
- In keinem Segment verwendet, für das Analytics-Tracking aktiviert ist
- Seit mehr als sieben Tagen nicht geändert wurde
- Seit mehr als sieben Tagen nicht zu einer Campaign, einem Canvas (einschließlich Entwürfen) oder einem Segment hinzugefügt wurde
Wenn die geplante Aktualisierung für eine Segmenterweiterung deaktiviert wird, erhält diese Erweiterung eine entsprechende Benachrichtigung.

Wenn Sie bereit sind, eine veraltete Segmenterweiterung zu verwenden, überprüfen Sie die Aktualisierungseinstellungen, wählen Sie den Aktualisierungszeitplan, der zu Ihrem Anwendungsfall passt, und speichern Sie dann alle Änderungen.
Snowflake-Credits
Jeder Braze Workspace verfügt über 5 Snowflake-Credits pro Monat. Wenn Sie mehr Credits benötigen, wenden Sie sich an Ihren Account Manager:in. Credits werden immer dann verbraucht, wenn Sie die Mitgliedschaft eines SQL-Segments aktualisieren oder speichern und aktualisieren. Credits werden nicht verbraucht, wenn Sie Vorschauen innerhalb eines SQL-Segments ausführen oder eine klassische Segmenterweiterung speichern oder aktualisieren.

Snowflake-Credits werden nicht zwischen Features geteilt. So sind beispielsweise Credits für SQL-Segmenterweiterungen und den Abfrage-Builder unabhängig voneinander.
Der Credit-Verbrauch hängt von der Laufzeit Ihrer SQL-Anfrage ab. Je länger die Laufzeit ist, desto mehr Credits kostet eine Abfrage. Die Laufzeit kann je nach Komplexität und Umfang Ihrer Abfragen im Laufe der Zeit variieren. Je komplexer und häufiger Sie Abfragen durchführen, desto größer ist Ihre Ressourcenzuweisung und desto schneller wird Ihre Laufzeit.
Um Credits zu sparen, sollten Sie eine Vorschau Ihrer Abfrage anzeigen, um sicherzustellen, dass sie korrekt ist, bevor Sie die SQL-Segmenterweiterung speichern.
Ihre Credits werden am ersten eines jeden Monats um 12 Uhr UTC auf 5 zurückgesetzt. Sie können Ihren Credit-Verbrauch im Laufe des Monats im Panel für die Credit-Nutzung überwachen. Klicken Sie auf der Seite Segmenterweiterungen auf View SQL Credit Usage.

Wenn Ihre Credits null erreichen, geschieht Folgendes:
- Alle SQL-Segmenterweiterungen, die für automatische Aktualisierung eingerichtet sind, werden nicht mehr aktualisiert, was sich auf die Mitgliedschaft in diesen Segmenten und auf alle Campaigns oder Canvases auswirkt, die auf diese Segmente abzielen.
- Sie können neue SQL-Segmenterweiterungen nur noch für den Rest des Monats als Entwurf speichern.
Alle Unternehmensnutzer:innen, die ein SQL-Segment erstellt haben, und Ihre Unternehmensadministrator:innen erhalten eine Benachrichtigungs-E-Mail, wenn Sie 50 %, 80 % und 100 % Ihrer Credits verbraucht haben. Nachdem Ihre Credits zu Beginn des nächsten Monats zurückgesetzt wurden, können Sie weitere SQL-Segmente erstellen, und die automatischen Aktualisierungen werden wieder aufgenommen.
Wenn Sie mehr SQL-Segment-Credits oder zusätzliche Segmenterweiterungen erwerben möchten, wenden Sie sich bitte an Ihren Account Manager:in.