Zum Inhalt springen

Zero-Copy-Personalisierung mit CDI

Erfahren Sie, wie Sie Canvas-Trigger mithilfe von CDI für eine Zero-Copy-Personalisierung synchronisieren können. Dieses Feature greift auf nutzerspezifische Informationen aus Ihrer Datenspeicher-Lösung zu und überträgt diese an einen Ziel-Canvas. Canvas-Schritte können optional Personalisierungsfelder enthalten, die nicht in Braze-Nutzerprofilen persistent gespeichert werden.

Canvas-Trigger synchronisieren

Schnelleinstieg

Wenn Sie bereits mit Braze CDI vertraut sind, beachten Sie, dass die Einrichtung einer Canvas-Trigger-Synchronisierung dem Prozess für CDI-Integrationen für Nutzerdaten weitgehend folgt, mit folgenden Besonderheiten:

  • Es werden nur externe IDs oder Nutzer-Alias-Bezeichner unterstützt. E-Mail-Adressen und Telefonnummern werden nicht als Bezeichner unterstützt.
  • Es können nur bestehende Braze-Nutzer:innen synchronisiert werden. Neue Nutzer:innen können nicht erstellt werden.
  • properties ersetzt die Spalte payload. Dies ist ein JSON-String der Felder, die Sie als Canvas-Entry-Eigenschaften zur Personalisierung verwenden möchten.

Wählen Sie zum Einstieg den Datentyp Canvas Triggers aus, wenn Sie eine neue Synchronisierung erstellen.

Canvas-Trigger verwenden

Schritt 1: Datenquelle für Canvas-Trigger einrichten

Schritt 1.1: Quelltabelle in Snowflake einrichten

Sie können die Namen aus dem folgenden Beispiel verwenden oder eigene Datenbank-, Schema- und Tabellennamen wählen. Anstelle einer Tabelle können Sie auch eine View oder eine materialisierte View verwenden.

CREATE DATABASE BRAZE_CLOUD_PRODUCTION;
CREATE SCHEMA BRAZE_CLOUD_PRODUCTION.INGESTION;
CREATE OR REPLACE TABLE BRAZE_CLOUD_PRODUCTION.INGESTION.CANVAS_TRIGGERS_SYNC (
     UPDATED_AT TIMESTAMP_NTZ(9) NOT NULL DEFAULT SYSDATE(),
     --at least one of external_id or alias_name and alias_label is required
     EXTERNAL_ID VARCHAR(16777216),
     --if using user alias, both alias_name and alias_label are required
     ALIAS_LABEL VARCHAR(16777216),
     ALIAS_NAME VARCHAR(16777216),
     PROPERTIES VARCHAR(16777216)
);

Sie können Datenbank, Schema und Tabelle benennen, wie Sie möchten, aber die Spaltennamen sollten der vorstehenden Definition entsprechen.

  • UPDATED_AT: Der Zeitpunkt, zu dem diese Zeile aktualisiert oder zur Tabelle hinzugefügt wurde. Braze synchronisiert Zeilen, bei denen UPDATED_AT nach dem zuletzt synchronisierten Wert liegt. Zeilen am exakten Grenz-Zeitstempel können erneut synchronisiert werden, wenn neue Zeilen denselben Zeitstempel teilen.
  • Entweder external_id oder alias_name und alias_label als Nutzer-Bezeichner-Spalte. Diese identifizieren die Nutzer:innen, für die Sie Canvas-Messaging auslösen möchten.
    • EXTERNAL_ID: Identifiziert die Nutzer:in für den Eintritt in das Canvas. Dieser Wert sollte mit dem in Braze verwendeten external_id-Wert übereinstimmen.
    • ALIAS_NAME und ALIAS_LABEL: Diese Spalten erstellen ein Nutzer-Alias-Objekt. alias_name sollte ein eindeutiger Bezeichner sein, und alias_label gibt den Alias-Typ an. Nutzer:innen können mehrere Aliase mit verschiedenen Labels haben, aber nur einen alias_name pro alias_label.
  • PROPERTIES: Ein JSON-String von Feldern, die als Personalisierungseigenschaften in Ihrem Canvas verfügbar gemacht werden. Dieser sollte nutzerspezifische Informationen enthalten.
Schritt 1.2: Zugangsdaten einrichten

Richten Sie eine Rolle, ein Warehouse und eine:n Nutzer:in ein und vergeben Sie die entsprechenden Berechtigungen. Wenn Sie bereits Zugangsdaten aus einer vorhandenen Synchronisierung haben, können Sie diese wiederverwenden. Stellen Sie jedoch sicher, dass der Zugriff auf die Canvas-Trigger-Quelltabelle erweitert wird.

CREATE ROLE BRAZE_INGESTION_ROLE;

GRANT USAGE ON DATABASE BRAZE_CLOUD_PRODUCTION TO ROLE BRAZE_INGESTION_ROLE;
GRANT USAGE ON SCHEMA BRAZE_CLOUD_PRODUCTION.INGESTION TO ROLE BRAZE_INGESTION_ROLE;
GRANT SELECT ON TABLE BRAZE_CLOUD_PRODUCTION.INGESTION.CANVAS_TRIGGERS_SYNC TO ROLE BRAZE_INGESTION_ROLE;

CREATE WAREHOUSE BRAZE_INGESTION_WAREHOUSE;
GRANT USAGE ON WAREHOUSE BRAZE_INGESTION_WAREHOUSE TO ROLE BRAZE_INGESTION_ROLE;

CREATE USER BRAZE_INGESTION_USER;
GRANT ROLE BRAZE_INGESTION_ROLE TO USER BRAZE_INGESTION_USER;

Schritt 1.3: Netzwerkrichtlinien konfigurieren

Wenn Ihr Konto über Netzwerkrichtlinien verfügt, setzen Sie die Braze-IPs auf die Allowlist, um die CDI-Dienstverbindung zu ermöglichen. Die Liste der IPs finden Sie unter Cloud-Datenaufnahme.

Schritt 1.1: Quelltabelle in Redshift einrichten

Sie können die Namen aus dem folgenden Beispiel verwenden oder eigene Datenbank-, Schema- und Tabellennamen wählen. Anstelle einer Tabelle können Sie auch eine View oder eine materialisierte View verwenden.

CREATE DATABASE BRAZE_CLOUD_PRODUCTION;
CREATE SCHEMA BRAZE_CLOUD_PRODUCTION.INGESTION;
CREATE TABLE BRAZE_CLOUD_PRODUCTION.INGESTION.CANVAS_TRIGGERS_SYNC (
    updated_at timestamptz default sysdate not null,
    --at least one of external_id or alias_name and alias_label is required
    external_id varchar not null,.
    --if using user alias, both alias_name and alias_label are required
    alias_label varchar,
    alias_name varchar,
    properties varchar(max)
 );

Sie können Datenbank, Schema und Tabelle benennen, wie Sie möchten, aber die Spaltennamen sollten der vorstehenden Definition entsprechen.

  • UPDATED_AT: Der Zeitpunkt, zu dem diese Zeile aktualisiert oder zur Tabelle hinzugefügt wurde. Braze synchronisiert Zeilen, bei denen UPDATED_AT nach dem zuletzt synchronisierten Wert liegt. Zeilen am exakten Grenz-Zeitstempel können erneut synchronisiert werden, wenn neue Zeilen denselben Zeitstempel teilen.
  • Entweder external_id oder alias_name und alias_label als Nutzer-Bezeichner-Spalte. Diese identifizieren die Nutzer:innen, für die Sie Canvas-Messaging auslösen möchten.
    • EXTERNAL_ID: Identifiziert die Nutzer:in für den Eintritt in das Canvas. Dieser Wert sollte mit dem in Braze verwendeten external_id-Wert übereinstimmen.
    • ALIAS_NAME und ALIAS_LABEL: Diese Spalten erstellen ein Nutzer-Alias-Objekt. alias_name sollte ein eindeutiger Bezeichner sein, und alias_label gibt den Alias-Typ an. Nutzer:innen können mehrere Aliase mit verschiedenen Labels haben, aber nur einen alias_name pro alias_label.
  • PROPERTIES: Ein JSON-String von Feldern, die als Personalisierungseigenschaften in Ihrem Canvas verfügbar gemacht werden. Dieser sollte nutzerspezifische Informationen enthalten.
Schritt 1.2: Zugangsdaten einrichten

Richten Sie eine Rolle, ein Warehouse und eine:n Nutzer:in ein und vergeben Sie die entsprechenden Berechtigungen. Wenn Sie bereits Zugangsdaten aus einer vorhandenen Synchronisierung haben, können Sie diese wiederverwenden. Stellen Sie jedoch sicher, dass der Zugriff auf die Canvas-Trigger-Quelltabelle erweitert wird.

CREATE USER braze_user PASSWORD '{password}';
GRANT USAGE ON SCHEMA BRAZE_CLOUD_PRODUCTION.INGESTION to braze_user;
GRANT SELECT ON TABLE CANVAS_TRIGGERS_SYNC TO braze_user;
Schritt 1.3: Netzwerkrichtlinien konfigurieren

Wenn Ihr Konto über Netzwerkrichtlinien verfügt, setzen Sie die Braze-IPs auf die Allowlist, um die CDI-Dienstverbindung zu ermöglichen. Die Liste der IPs finden Sie unter Cloud-Datenaufnahme.

Schritt 1.1: Neues Projekt oder Dataset für Ihre Quelltabelle erstellen (optional)
CREATE SCHEMA BRAZE-CLOUD-PRODUCTION.INGESTION;
Schritt 1.2: Quelltabelle in BigQuery einrichten

Beachten Sie beim Erstellen Ihrer Quelltabelle Folgendes:

Feldname Typ Erforderlich?
UPDATED_AT Timestamp Ja
PROPERTIES JSON Ja
EXTERNAL_ID STRING NULLABLE
ALIAS_NAME STRING NULLABLE
ALIAS_LABEL STRING NULLABLE
CREATE TABLE `BRAZE-CLOUD-PRODUCTION.INGESTION.CANVAS_TRIGGERS_SYNC`
(
  updated_at TIMESTAMP DEFAULT current_timestamp,
  --At least one of external_id or alias_name and alias_label is required
  external_id STRING,
  --If using user alias, both alias_name and alias_label are required
  alias_name STRING,
  alias_label STRING,
  properties JSON
);
Schritt 1.3: Zugangsdaten einrichten

Erstellen Sie eine:n Nutzer:in und vergeben Sie die Berechtigungen. Wenn Sie bereits Zugangsdaten aus einer anderen Synchronisierung haben, können Sie diese wiederverwenden, solange sie Zugriff auf die Canvas-Trigger-Tabelle haben.

Berechtigung Zweck
BigQuery Connection User Ermöglicht Braze die Verbindung.
BigQuery User Ermöglicht Braze das Ausführen von Abfragen, Lesen von Metadaten und Auflisten von Tabellen.
BigQuery Data Viewer Ermöglicht Braze das Anzeigen von Datasets und Inhalten.
BigQuery Job User Ermöglicht Braze das Ausführen von Jobs.

Richten Sie nach dem Vergeben der Berechtigungen ein, wie sich Braze als Dienstkonto authentifiziert:

Workload Identity Federation: Binden Sie den Braze-Prinzipal an das Dienstkonto, sodass Sie keinen Schlüssel erstellen müssen. Die Schritte finden Sie unter Google Cloud für Workload Identity Federation konfigurieren.

Dienstkontoschlüssel: Generieren Sie einen JSON-Schlüssel. Anleitungen finden Sie unter Keys create and delete. Sie laden ihn später im Braze-Dashboard hoch.

Schritt 1.4: Netzwerkrichtlinien konfigurieren

Wenn Ihr Konto über Netzwerkrichtlinien verfügt, setzen Sie die Braze-IPs auf die Allowlist, um die CDI-Dienstverbindung zu ermöglichen. Die Liste der IPs finden Sie unter Cloud-Datenaufnahme.

Schritt 1.1: Katalog oder Schema für Ihre Quelltabelle erstellen
CREATE SCHEMA BRAZE-CLOUD-PRODUCTION.INGESTION;

Schritt 1.2: Quelltabelle in Databricks einrichten

Beachten Sie beim Erstellen Ihrer Quelltabelle Folgendes:

Feldname Typ Erforderlich
UPDATED_AT Timestamp Ja
PROPERTIES JSON Ja
EXTERNAL_ID STRING NULLABLE
ALIAS_NAME STRING NULLABLE
ALIAS_LABEL STRING NULLABLE

Sie können Schema und Tabelle benennen, wie Sie möchten, aber die Spaltennamen sollten der vorstehenden Definition entsprechen.

  • UPDATED_AT: Der Zeitpunkt, zu dem diese Zeile aktualisiert oder zur Tabelle hinzugefügt wurde. Braze synchronisiert Zeilen, bei denen UPDATED_AT nach dem zuletzt synchronisierten Wert liegt. Zeilen am exakten Grenz-Zeitstempel können erneut synchronisiert werden, wenn neue Zeilen denselben Zeitstempel teilen.
  • Entweder external_id oder alias_name und alias_label als Nutzer-Bezeichner-Spalte. Diese identifizieren die Nutzer:innen, für die Sie Canvas-Messaging auslösen möchten.
    • EXTERNAL_ID: Identifiziert die Nutzer:in für den Eintritt in das Canvas. Dieser Wert sollte mit dem in Braze verwendeten external_id-Wert übereinstimmen.
    • ALIAS_NAME und ALIAS_LABEL: Diese Spalten erstellen ein Nutzer-Alias-Objekt. alias_name sollte ein eindeutiger Bezeichner sein, und alias_label gibt den Alias-Typ an. Nutzer:innen können mehrere Aliase mit verschiedenen Labels haben, aber nur einen alias_name pro alias_label.
  • PROPERTIES: Ein String oder Struct von Feldern, die als Personalisierungseigenschaften in Ihrem Canvas verfügbar gemacht werden. Dieser sollte nutzerspezifische Informationen enthalten.
CREATE TABLE `BRAZE-CLOUD-PRODUCTION.INGESTION.USERS_ATTRIBUTES_SYNC`
(
  updated_at TIMESTAMP DEFAULT current_timestamp(),
  --At least one of external_id or alias_name and alias_label is required
  external_id STRING,
  --If using user alias, both alias_name and alias_label are required
  alias_name STRING,
  alias_label STRING,
  properties STRING, STRUCT, or MAP
);
Schritt 1.3: Zugangsdaten einrichten

Erstellen Sie einen Service-Prinzipal mit OAuth Machine-to-Machine-Zugangsdaten (M2M) (empfohlen) oder ein persönliches Zugriffstoken. Wenn Sie bereits Zugangsdaten aus einer anderen Synchronisierung haben, können Sie diese wiederverwenden, solange sie Zugriff auf die Canvas-Trigger-Tabelle haben.

OAuth M2M: Erstellen Sie einen Service-Prinzipal, generieren Sie ein Client-Secret, vergeben Sie dem Service-Prinzipal die Berechtigung Can use für Ihr SQL-Warehouse und gewähren Sie SELECT auf die Canvas-Trigger-Tabelle. Die Schritte finden Sie unter Zugangsdaten für Braze erstellen.

Persönliches Zugriffstoken:

  1. Wählen Sie Ihren Nutzernamen und dann User Settings.
  2. Wählen Sie auf dem Tab Access tokens die Option Generate new token.
  3. Fügen Sie einen Kommentar zur Identifizierung des Tokens hinzu, z. B. „Braze CDI“.
  4. Lassen Sie Lifetime (days) leer für unbegrenzte Gültigkeit und wählen Sie dann Generate.
  5. Kopieren und speichern Sie das Token sicher für die Verwendung im Braze-Dashboard.
Schritt 1.4: Netzwerkrichtlinien konfigurieren

Wenn Ihr Konto über Netzwerkrichtlinien verfügt, setzen Sie die Braze-IPs auf die Allowlist, um die CDI-Dienstverbindung zu ermöglichen. Die Liste der IPs finden Sie unter Cloud-Datenaufnahme.

Schritt 1.1: Quelltabelle in Fabric einrichten
CREATE OR ALTER TABLE [warehouse].[schema].[CDI_table_name]
(
  UPDATED_AT DATETIME2(6) NOT NULL,
  PROPERTIES VARCHAR NOT NULL,
  --at least one of external_id or alias_name and alias_label is required
  EXTERNAL_ID VARCHAR,
  --if using user alias, both alias_name and alias_label are required
  ALIAS_NAME VARCHAR,
  ALIAS_LABEL VARCHAR
)
GO
Schritt 1.2: Zugangsdaten einrichten

Erstellen Sie einen Service-Prinzipal und vergeben Sie die Berechtigungen. Wenn Sie bereits Zugangsdaten aus einer anderen Synchronisierung haben, können Sie diese wiederverwenden – stellen Sie nur sicher, dass sie Zugriff auf die Kontotabelle haben.

Schritt 1.3: Netzwerkrichtlinien konfigurieren

Wenn Ihr Konto über Netzwerkrichtlinien verfügt, setzen Sie die Braze-IPs auf die Allowlist, um die CDI-Dienstverbindung zu ermöglichen. Die Liste der IPs finden Sie unter Cloud-Datenaufnahme.

Um Canvas-Trigger aus einem Dateispeicher zu synchronisieren, erstellen Sie eine Quelldatei mit den folgenden Feldern.

Feld Erforderlich Beschreibung
EXTERNAL_ID Ja, eines von external_id oder alias_name und alias_label Identifiziert die Nutzer:in, die Sie aktualisieren möchten. Dieser Wert sollte mit dem in Braze verwendeten external_id-Wert übereinstimmen.
ALIAS_NAME und ALIAS_LABEL Ja, eines von external_id oder alias_name und alias_label Diese beiden Spalten erstellen ein Nutzer-Alias-Objekt. alias_name sollte ein eindeutiger Bezeichner sein, und alias_label gibt den Alias-Typ an. Nutzer:innen können mehrere Aliase mit verschiedenen Labels haben, aber nur einen alias_name pro alias_label.
PROPERTIES Ja JSON-String von Feldern, die als Personalisierungseigenschaften in Ihrem Canvas verfügbar gemacht werden. Dieser sollte nutzerspezifische Informationen enthalten.

Schritt 2: Ziel-Canvas konfigurieren

  1. Richten Sie Ihr Ziel-Canvas für Canvas-Trigger ein. Erstellen Sie ein neues oder wählen Sie ein bestehendes API-getriggertes Canvas aus. Anleitungen zum Erstellen eines Canvas mit einem API-getriggerten Zustellungszeitplan finden Sie unter Entry-Zeitplantypen.
  2. Nachdem Sie den API-getriggerten Zustellungszeitplan ausgewählt haben, fahren Sie mit der Canvas-Einrichtung fort und erstellen Sie Ihr Canvas. Canvases können von einfachen Einzelnachrichtenversänden bis hin zu komplexen Kund:innen-Workflows mit mehreren Schritten reichen.
  3. Verwenden Sie innerhalb Ihrer Canvas-Schritte Canvas-Entry-Eigenschaften, um Nachrichten mit Properties-Feldern zu personalisieren, die Sie aus Ihrer Quelltabelle synchronisieren möchten.
    • Wenn Sie beispielsweise in Schritt 1 ein Properties-Feld für account_balance eingerichtet haben, würden Sie das folgende Liquid-Templating verwenden, um Ihre Nachricht zu personalisieren: \{\{canvas_entry_properties.\$\{account_balance\}\}\}.
  4. Starten Sie Ihr Canvas nach der Erstellung und fahren Sie mit Schritt 3 fort.

Schritt 3: Zero-Copy-Synchronisierung erstellen

Nachdem die Quelleneinrichtung abgeschlossen und das Ziel-Canvas gestartet ist, erstellen Sie eine neue Datensynchronisierung:

  1. Gehen Sie in Braze zu Data Settings > Cloud Data Ingestion.
  2. Richten Sie die Verbindung ein, indem Sie die Verbindungsdetails eingeben (oder vorhandene Zugangsdaten wiederverwenden) sowie die Quelltabelle aus Schritt 1.
  3. Geben Sie einen Namen für die Integration an.
  4. Wählen Sie den Datentyp Canvas triggers aus.
  5. Wählen Sie Ihr Ziel-Canvas aus (aus Schritt 2).
  6. Wählen Sie eine Synchronisierungsfrequenz.
  7. Richten Sie die Benachrichtigungseinstellungen ein.
  8. Wählen Sie Test Connection, um zu bestätigen, dass alles wie erwartet funktioniert. Wenn Sie eine Verbindung zu Snowflake herstellen, fügen Sie zunächst den auf dem Dashboard angezeigten Public Key der für die Braze-Verbindung erstellten Nutzer:in hinzu. Für diesen Schritt benötigen Sie SECURITYADMIN-Zugriff oder höher in Snowflake.
  9. Speichern Sie die Synchronisierung, um mit der Synchronisierung der Canvas-Trigger zu beginnen.

Wenn die Synchronisierung läuft, beginnen die Nutzer:innen in Ihrer Quelltabelle, das Canvas zu betreten. Verwenden Sie Canvas-Analytics und die Seite mit den Cloud-Datenaufnahme-Synchronisierungsprotokollen, um die Performance zu überwachen.

Hinweise

CDI-Canvas-Trigger nutzen Ihr REST-API-Rate-Limit für /canvas/trigger/send. Wenn Sie diesen Endpunkt gleichzeitig mit CDI-Canvas-Triggern und Ihrer REST-API-Integration verwenden, wird die kombinierte Nutzung auf Ihr Rate-Limit angerechnet.

Jeder Synchronisierungslauf lässt Nutzer:innen mit einer maximalen Rate von ca. 3,75 Millionen Nutzer:innen pro Stunde in das jeweilige Ziel-Canvas eintreten. Rechnen Sie mit längeren Zeiten vom Quellsystem bis zum Canvas-Eintritt, wenn:

  • Mehr als 3,75 Millionen Nutzer:innen pro Synchronisierungslauf synchronisiert werden.
  • CDI-Canvas-Trigger verwendet werden, während Ihr REST-API-Rate-Limit für /canvas/trigger/send bereits ausgeschöpft ist.

Beachten Sie Folgendes zur Zero-Copy-CDI, wenn die Nachrichtenarchivierung aktiviert ist:

  • Die Ergebnisse der Tabelle werden während der Verarbeitung vorübergehend in Braze gespeichert. Sie werden außerdem für 30 Tage nach Snowflake exportiert, damit Sie genau sehen können, was synchronisiert wurde.
  • Archivierte Nachrichten werden nirgendwo innerhalb von Braze gespeichert. Die Kopien werden ausschließlich in Ihrem konfigurierten Speicher abgelegt.
  • Bei der Verwendung von Zero-Copy-CDI mit Canvas-Triggern speichert Braze kein Backup der Abfrageergebnisse aus dem Data Warehouse, und es werden keine Daten in das Nutzerprofil kopiert.
  • Canvas-Kontexteigenschaften können bis zu 30 Tage lang in internen Systemen protokolliert werden.
New Stuff!