Zum Inhalt springen

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

Beim Erstellen Ihrer SQL-Segmenterweiterung stehen Ihnen zwei Arten von SQL-Editoren zur Auswahl: der SQL-Editor und der inkrementelle SQL-Editor.

  • Vollständige Aktualisierung: Bei jeder Aktualisierung Ihres Segments fragt Braze alle verfügbaren Daten ab, um Ihr Segment zu aktualisieren. Dabei werden mehr Credits verbraucht als bei inkrementellen Aktualisierungen. 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 eine kostengünstigere Möglichkeit, Ihre Abfrage einzurichten, auch wenn die Einrichtung ein paar zusätzliche Schritte erfordert. Wenn Sie diese zusätzlichen Schritte beim Erstellen Ihres Segments durchführen können, lohnt sich diese Option, da Ihre Abfrage weniger Credits verbraucht.

Wenn Operator das SQL für Sie schreiben soll, wählen Sie in einem der beiden Editoren Operator fragen aus und beschreiben Sie Ihre Zielgruppe in natürlicher Sprache. Weitere Informationen finden Sie unter Was Sie mit Operator tun können.

So erstellen Sie eine SQL-Segmenterweiterung mit vollständiger Aktualisierung:

  1. Gehen Sie zu Zielgruppe > Segmenterweiterungen.
  2. Wählen Sie Neue Erweiterung erstellen und dann Vollständige Aktualisierung aus.

    Modal „Neue Erweiterung erstellen“ mit den Optionen für vollständige und inkrementelle Aktualisierung.

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

    SQL-Editor mit einer beispielhaften SQL-Segmenterweiterung.

  4. Speichern Sie Ihre Segmenterweiterung.

So erstellen Sie eine SQL-Segmenterweiterung mit inkrementeller Aktualisierung:

  1. Gehen Sie zu Zielgruppe > Segmenterweiterungen.
  2. Wählen Sie Neue Erweiterung erstellen und dann Inkrementelle Aktualisierung aus.

    Modal „Neue Erweiterung erstellen“ mit den Optionen für vollständige und inkrementelle Aktualisierung.

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

    SQL-Editor mit einer beispielhaften inkrementellen SQL-Segmenterweiterung.

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

    Checkbox zum täglichen Neugenerieren der Erweiterung.

    Wenn diese Option ausgewählt ist, aktualisiert Braze die Segmentmitgliedschaft jeden Tag automatisch. Das bedeutet, dass Braze jeden Tag um Mitternacht in der Zeitzone Ihres Unternehmens (mit einer möglichen Verzögerung von einer Stunde) nach neuen Nutzer:innen in Ihrem Segment sucht und diese automatisch zu Ihrem Segment hinzufügt. Wenn eine Segmenterweiterung 7 Tage lang nicht verwendet wurde, pausiert Braze die tägliche Neugenerierung automatisch. Eine ungenutzte Segmenterweiterung ist eine Erweiterung, die nicht Teil einer Campaign oder eines Canvas ist (die Campaign oder das Canvas muss nicht aktiv sein, damit die Erweiterung als „verwendet“ gilt).

  5. Speichern Sie Ihre Segmenterweiterung.

Sobald die Verarbeitung der Erweiterung abgeschlossen ist, können Sie mit Ihrer Segmenterweiterung ein Segment erstellen und dieses neue Segment mit Ihren Campaigns und Canvases ansprechen.

Schritt 2: Ihr SQL schreiben

Ihre SQL-Abfrage sollte in Snowflake-Syntax geschrieben sein. Eine vollständige Liste der abfragbaren Tabellen und Spalten finden Sie in der Tabellenreferenz.

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. Das bedeutet, dass Ihr SQL Folgendes enthalten muss:
SELECT DISTINCT user_id FROM "INSERT TABLE NAME"
  • Nutzer:innen mit null Events können nicht abgefragt werden. Für Abfragen nach Nutzer:innen, die ein Event weniger als X-mal ausgeführt haben, ist daher folgende Umgehungslösung nötig:
    1. Schreiben Sie eine Abfrage, die Nutzer:innen auswählt, die das Event MEHR als X-mal ausgeführt haben.
    2. Wenn Sie Ihre Segmenterweiterung in Ihrem Segment referenzieren, wählen Sie enthält nicht aus, 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_id umbenannt 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 berechnete user_id zurückgibt

Wenn Sie die Fehlermeldung „sql - Please select only the following columns: user_id“ erhalten, Ihre Abfrage die Spalte user_id aber bereits auswählt, prüfen Sie, ob Ihre Abfrage eines dieser Muster verwendet. Die Vorschau kann auch dann funktionieren, wenn das Speichern der Abfrage fehlschlägt.

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.

  1. Schreiben Sie im Editor eine Abfrage, die user_ids aus Ihrer gewünschten Tabelle auswählt.
  2. 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 der Workflow zum Erstellen klassischer Segmenterweiterungen.

    • Operator: Geben Sie an, ob das Event öfter als, seltener als oder genau so oft wie eine bestimmte Anzahl an Vorkommen aufgetreten ist.
      Feld „Operator“ mit ausgewählter Option „Mehr als“.

    • Anzahl: Wie oft das Event in Bezug auf den Operator ausgewertet werden soll.
      Feld „Anzahl“ mit dem Eintrag „5“.

    • Zeitraum: Anzahl der Tage von 1 bis 730, in denen Sie nach Instanzen des Events suchen 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.
      Feld „Zeitraum“ mit dem Eintrag „365“.

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.

SQL-Editor mit einer beispielhaften inkrementellen SQL-Segmenterweiterung.

SQL-Vorschau einer inkrementellen SQL-Segmenterweiterung.

Wie die inkrementelle Aktualisierung Nutzer:innen im Zeitverlauf verfolgt

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 Tabelle für Segmentkohorten), in der tägliche Qualifizierungszählwerte der 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 (mithilfe von $start_date) erneut aus, um neue Zeilen für diese Tage 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 rollierenden zweitägigen Aktualisierung. Nutzer:innen, die sich vor mehr als zwei Tagen qualifiziert haben, bleiben also im Segment, es sei denn, die aggregierten Zählwerte erfüllen Ihre Kriterien nicht mehr.

SQL schreiben, das zuverlässig aktualisiert wird: Vermeiden Sie beim Schreiben von SQL für die inkrementelle Aktualisierung Abfragemuster, die bei Teilaktualisierungen zu inkonsistenten Ergebnissen führen könnten. Beispielsweise können Fensteraggregationen wie MAX(time), die von Daten über $start_date-Grenzen hinweg abhängen, 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, unabhängig davon, 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 einziges Event beziehen. Ihre Dropdown-Menüs für Datum und Anzahl gelten für dieses Event.
  • Ihr SQL muss den Alias $date() enthalten (z. B. $date(time)), user_id und eine COUNT()-Aggregation auswählen, nach Datum und user_id gruppieren und Ihre Zeitspalte mit $start_date filtern (z. B. time > $start_date). Wenn Sie SQL ohne $date() oder diese Felder speichern, wird ein Fehler zurückgegeben.
  • Sie können keine DECLARE-Anweisungen verwenden.

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 führen nach 60 Sekunden zu einer Zeitüberschreitung. Die Anforderung an die Spalte user_id gilt nicht, wenn Sie eine Vorschau ausführen.

Bei inkrementellen SQL-Segmenterweiterungen enthält die Vorschau nicht die zusätzlichen Kriterien aus Ihren Feldern für Operator, Anzahl und Zeitraum.

Schritt 4: Festlegen, ob Sie SQL invertieren müssen

Legen Sie als Nächstes fest, ob Sie SQL invertieren müssen. Nutzer:innen mit null Events lassen sich zwar nicht direkt abfragen, Sie können diese Nutzer:innen aber mit SQL invertieren ansprechen.

Wenn Sie beispielsweise Nutzer:innen mit weniger als drei Käufen ansprechen möchten, schreiben Sie zunächst eine Abfrage, die Nutzer:innen mit drei oder mehr Käufen auswählt. Wählen Sie dann SQL invertieren aus, um Nutzer:innen mit weniger als drei Käufen anzusprechen (einschließlich derjenigen mit null Käufen).

Segmenterweiterung mit dem Namen „Clicked 1-4 emails in the last 30 days“, bei der die Option zum Invertieren von SQL ausgewählt ist.

Segmentzugehörigkeit aktualisieren

Um die Segmentzugehörigkeit einer mit SQL erstellten Segmenterweiterung zu aktualisieren, öffnen Sie die Segmenterweiterung und wählen Sie Aktualisieren.

Ihre Segmenterweiterungen verwalten

Auf der Seite Segmenterweiterungen werden mit SQL generierte Segmente durch neben ihrem Namen gekennzeichnet.

Wählen Sie eine SQL-Segmenterweiterung aus, um zu sehen, wo die Erweiterung verwendet wird, um die Erweiterung zu archivieren oder um die Segmentzugehörigkeit manuell zu aktualisieren.

Abschnitt „Messaging-Nutzung“ des SQL-Editors, der zeigt, wo das SQL-Segment verwendet wird.

Einstellungen für die Aktualisierung 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.

Auswählen Ihrer Aktualisierungseinstellungen

Aktualisierungsintervall-Einstellungen mit einer wöchentlichen Aktualisierungsfrequenz, einer Startzeit von 10 Uhr und Montag als ausgewähltem Tag.

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.

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.

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.

Eine Benachrichtigung mit dem Hinweis: „Geplante Aktualisierungen wurden für diese Erweiterung deaktiviert, da sie in keinen aktiven Campaigns, Canvases oder Segmenten verwendet wird. Die Segmenterweiterung wurde am 23. Februar 2025 um 00:00 Uhr deaktiviert.“

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.

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.

Panel für die SQL-Credit-Nutzung auf der Seite „SQL-Segmenterweiterungen“

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.

New Stuff!