Ir al contenido

Personalización sin copia utilizando CDI

Aprende a sincronizar los desencadenantes de Canvas utilizando CDI para una personalización sin copia. Esta característica accede a información específica del usuario desde tu solución de almacenamiento de datos y la transfiere a un Canvas de destino. Los pasos en Canvas pueden incluir opcionalmente campos de personalización que no se conservan en los perfiles de usuario de Braze.

Sincronización de desencadenadores de Canvas

Pasos de inicio rápido

Si ya estás familiarizado con la ingesta de datos en la nube (CDI) de Braze, ten en cuenta que la configuración de una sincronización de desencadenadores de Canvas sigue de cerca el proceso de las integraciones CDI de datos de usuario, con las siguientes excepciones:

  • Solo se admiten identificadores de ID externo o alias de usuario. Los números de correo electrónico y teléfono no son identificadores compatibles.
  • Solo se pueden sincronizar usuarios existentes de Braze. No se pueden crear usuarios nuevos.
  • properties reemplaza la columna payload. Es una cadena JSON de los campos que deseas usar como propiedades de entrada de Canvas para la personalización.

Para comenzar, selecciona el tipo de datos Canvas Triggers al crear una nueva sincronización.

Uso de desencadenadores de Canvas

Paso 1: Configura el origen de datos para desencadenadores de Canvas

Paso 1.1: Configura tu tabla de origen en Snowflake

Puedes usar los nombres del siguiente ejemplo o elegir tus propios nombres de base de datos, esquema y tabla. También puedes usar una vista o una vista materializada en lugar de una tabla.

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)
);

Puedes nombrar la base de datos, el esquema y la tabla como desees, pero los nombres de las columnas deben coincidir con la definición anterior.

  • UPDATED_AT: La hora en que se actualizó o añadió esta fila a la tabla. Braze sincroniza las filas en las que UPDATED_AT es posterior al último valor sincronizado. Las filas en la marca de tiempo exacta del límite pueden volver a sincronizarse si nuevas filas comparten esa misma marca de tiempo.
  • external_id o alias_name y alias_label como columna de identificador de usuario. Estos identifican a los usuarios para los que deseas desencadenar la mensajería de Canvas.
    • EXTERNAL_ID: Identifica al usuario que entrará en el Canvas. Debe coincidir con el valor external_id utilizado en Braze.
    • ALIAS_NAME y ALIAS_LABEL: Estas columnas crean un objeto de alias de usuario. alias_name debe ser un identificador único, y alias_label especifica el tipo de alias. Los usuarios pueden tener múltiples alias con diferentes etiquetas, pero solo un alias_name por alias_label.
  • PROPERTIES: Una cadena JSON de campos que estarán disponibles como propiedades de personalización en tu Canvas. Debe contener información específica del usuario.
Paso 1.2: Configura las credenciales

Configura un rol, un almacén y un usuario, y otorga los permisos adecuados. Si ya tienes credenciales de una sincronización existente, puedes reutilizarlas, pero asegúrate de extender el acceso a la tabla de origen de desencadenadores de Canvas.

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;

Paso 1.3: Configura las políticas de red

Si tu cuenta tiene políticas de red, incluye las IP de Braze en la lista de permitidos para habilitar la conexión del servicio CDI. Para ver la lista de IP, consulta Ingesta de datos en la nube.

Paso 1.1: Configura tu tabla de origen en Redshift

Puedes usar los nombres del siguiente ejemplo o elegir tus propios nombres de base de datos, esquema y tabla. También puedes usar una vista o una vista materializada en lugar de una tabla.

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)
 );

Puedes nombrar la base de datos, el esquema y la tabla como desees, pero los nombres de las columnas deben coincidir con la definición anterior.

  • UPDATED_AT: La hora en que se actualizó o añadió esta fila a la tabla. Braze sincroniza las filas en las que UPDATED_AT es posterior al último valor sincronizado. Las filas en la marca de tiempo exacta del límite pueden volver a sincronizarse si nuevas filas comparten esa misma marca de tiempo.
  • external_id o alias_name y alias_label como columna de identificador de usuario. Estos identifican a los usuarios para los que deseas desencadenar la mensajería de Canvas.
    • EXTERNAL_ID: Identifica al usuario que entrará en el Canvas. Debe coincidir con el valor external_id utilizado en Braze.
    • ALIAS_NAME y ALIAS_LABEL: Estas columnas crean un objeto de alias de usuario. alias_name debe ser un identificador único, y alias_label especifica el tipo de alias. Los usuarios pueden tener múltiples alias con diferentes etiquetas, pero solo un alias_name por alias_label.
  • PROPERTIES: Una cadena JSON de campos que estarán disponibles como propiedades de personalización en tu Canvas. Debe contener información específica del usuario.
Paso 1.2: Configura las credenciales

Configura un rol, un almacén y un usuario, y otorga los permisos adecuados. Si ya tienes credenciales de una sincronización existente, puedes reutilizarlas, pero asegúrate de extender el acceso a la tabla de origen de desencadenadores de Canvas.

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;
Paso 1.3: Configura las políticas de red

Si tu cuenta tiene políticas de red, incluye las IP de Braze en la lista de permitidos para habilitar la conexión del servicio CDI. Para ver la lista de IP, consulta Ingesta de datos en la nube.

Paso 1.1: Crea un proyecto o dataset nuevo para tu tabla de origen (opcional)
CREATE SCHEMA BRAZE-CLOUD-PRODUCTION.INGESTION;
Paso 1.2: Configura tu tabla de origen en BigQuery

Consulta la siguiente información al crear tu tabla de origen:

Nombre del campo Tipo ¿Obligatorio?
UPDATED_AT Timestamp Sí
PROPERTIES JSON Sí
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
);
Paso 1.3: Configura las credenciales

Crea un usuario y otorga permisos. Si ya tienes credenciales de otra sincronización, puedes reutilizarlas siempre que tengan acceso a la tabla de desencadenadores de Canvas.

Permiso Propósito
BigQuery Connection User Permite que Braze se conecte.
BigQuery User Permite que Braze ejecute consultas, lea metadatos y liste tablas.
BigQuery Data Viewer Permite que Braze vea los datasets y su contenido.
BigQuery Job User Permite que Braze ejecute trabajos.

Después de otorgar los permisos, genera una clave JSON. Consulta Crear y eliminar claves para obtener instrucciones. La subirás al panel de Braze más adelante.

Paso 1.4: Configura las políticas de red

Si tu cuenta tiene políticas de red, incluye las IP de Braze en la lista de permitidos para habilitar la conexión del servicio CDI. Para ver la lista de IP, consulta Ingesta de datos en la nube.

Paso 1.1: Crea un catálogo o esquema para tu tabla de origen.
CREATE SCHEMA BRAZE-CLOUD-PRODUCTION.INGESTION;

Paso 1.2: Configura tu tabla de origen en Databricks

Consulta la siguiente información al crear tu tabla de origen:

Nombre del campo Tipo Obligatorio
UPDATED_AT Timestamp Sí
PROPERTIES JSON Sí
EXTERNAL_ID STRING NULLABLE
ALIAS_NAME STRING NULLABLE
ALIAS_LABEL STRING NULLABLE

Puedes nombrar el esquema y la tabla como desees, pero los nombres de las columnas deben coincidir con la definición anterior.

  • UPDATED_AT: La hora en que se actualizó o añadió esta fila a la tabla. Braze sincroniza las filas en las que UPDATED_AT es posterior al último valor sincronizado. Las filas en la marca de tiempo exacta del límite pueden volver a sincronizarse si nuevas filas comparten esa misma marca de tiempo.
  • external_id o alias_name y alias_label como columna de identificador de usuario. Estos identifican a los usuarios para los que deseas desencadenar la mensajería de Canvas.
    • EXTERNAL_ID: Identifica al usuario que entrará en el Canvas. Debe coincidir con el valor external_id utilizado en Braze.
    • ALIAS_NAME y ALIAS_LABEL: Estas columnas crean un objeto de alias de usuario. alias_name debe ser un identificador único, y alias_label especifica el tipo de alias. Los usuarios pueden tener múltiples alias con diferentes etiquetas, pero solo un alias_name por alias_label.
  • PROPERTIES: Una cadena o estructura de campos que estarán disponibles como propiedades de personalización en tu Canvas. Debe contener información específica del usuario.
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
);
Paso 1.3: Configura las credenciales

Crea un principal de servicio con credenciales OAuth de máquina a máquina (M2M) (recomendado), o un token de acceso personal. Si ya tienes credenciales de otra sincronización, puedes reutilizarlas siempre que tengan acceso a la tabla de desencadenadores de Canvas.

OAuth M2M: Crea un principal de servicio, genera un secreto de cliente, otorga al principal de servicio el permiso Can use en tu almacén SQL y concédele SELECT en la tabla de desencadenadores de Canvas. Para ver los pasos, consulta Crear credenciales para Braze.

Token de acceso personal:

  1. Selecciona tu nombre de usuario y luego selecciona User Settings.
  2. En la pestaña Access tokens, selecciona Generate new token.
  3. Agrega un comentario para identificar el token, como “Braze CDI”.
  4. Deja Lifetime (days) en blanco para que no expire y luego selecciona Generate.
  5. Copia y guarda el token de forma segura para usarlo en el panel de Braze.
Paso 1.4: Configura las políticas de red

Si tu cuenta tiene políticas de red, incluye las IP de Braze en la lista de permitidos para habilitar la conexión del servicio CDI. Para ver la lista de IP, consulta Ingesta de datos en la nube.

Paso 1.1: Configura tu tabla de origen en Fabric
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
Paso 1.2: Configura las credenciales

Crea un principal de servicio y otorga permisos. Si ya tienes credenciales de otra sincronización, puedes reutilizarlas, solo asegúrate de que tengan acceso a la tabla de cuentas.

Paso 1.3: Configura las políticas de red

Si tu cuenta tiene políticas de red, incluye las IP de Braze en la lista de permitidos para habilitar la conexión del servicio CDI. Para ver la lista de IP, consulta Ingesta de datos en la nube.

Para sincronizar desencadenadores de Canvas desde almacenamiento de archivos, crea un archivo de origen con los siguientes campos.

Campo Obligatorio Descripción
EXTERNAL_ID Sí, uno de external_id o alias_name y alias_label Identifica al usuario que deseas actualizar. Debe coincidir con el valor external_id utilizado en Braze.
ALIAS_NAME y ALIAS_LABEL Sí, uno de external_id o alias_name y alias_label Estas dos columnas crean un objeto de alias de usuario. alias_name debe ser un identificador único, y alias_label especifica el tipo de alias. Los usuarios pueden tener múltiples alias con diferentes etiquetas, pero solo un alias_name por alias_label.
PROPERTIES Sí Cadena JSON de campos que estarán disponibles como propiedades de personalización en tu Canvas. Debe contener información específica del usuario.

Paso 2: Configura tu Canvas de destino

  1. Configura tu Canvas de destino para desencadenadores de Canvas. Crea un Canvas nuevo o selecciona uno existente activado por API. Consulta Tipos de programación de entrada para obtener instrucciones sobre cómo crear un Canvas con un tipo de programación de entrega activado por API.
  2. Después de seleccionar el tipo de programación de entrega activado por API, continúa con la configuración del Canvas y constrúyelo. Los Canvas pueden variar desde envíos simples de un solo mensaje hasta flujos de trabajo complejos de clientes con múltiples pasos.
  3. Dentro de los pasos de tu Canvas, utiliza las propiedades de entrada de Canvas para personalizar los mensajes con los campos de propiedades que planeas sincronizar desde tu tabla de origen.
    • Por ejemplo, si en el paso 1 instrumentaste un campo de propiedades para account_balance, usarías la siguiente plantilla de Liquid para personalizar tu mensaje: \{\{canvas_entry_properties.\$\{account_balance\}\}\}.
  4. Después de construir tu Canvas, lánzalo y continúa con el Paso 3.

Paso 3: Crea tu sincronización zero-copy

Con la configuración de tu origen completa y el Canvas de destino lanzado, crea una nueva sincronización de datos:

  1. En Braze, ve a Data Settings > Cloud Data Ingestion.
  2. Configura la conexión ingresando los detalles de conexión (o reutiliza las credenciales existentes) y la tabla de origen del Paso 1.
  3. Proporciona un nombre para la integración.
  4. Selecciona el tipo de datos Canvas triggers.
  5. Elige tu Canvas de destino (del Paso 2).
  6. Elige una frecuencia de sincronización.
  7. Configura las preferencias de notificación.
  8. Selecciona Test Connection para confirmar que todo funciona como se espera. Si te conectas a Snowflake, primero agrega la clave pública que se muestra en el panel al usuario creado para que Braze se conecte a Snowflake. Para completar este paso, necesitarás acceso de SECURITYADMIN o superior en Snowflake.
  9. Guarda la sincronización para comenzar a sincronizar los desencadenadores de Canvas.

Cuando se ejecute la sincronización, los usuarios en tu tabla de origen comenzarán a entrar al Canvas. Usa los análisis de Canvas y la página de registros de sincronización de la ingesta de datos en la nube para monitorear el rendimiento.

Consideraciones

Los desencadenadores de Canvas por CDI utilizan tu límite de velocidad de la REST API para /canvas/trigger/send. Si estás usando este endpoint simultáneamente con los desencadenadores de Canvas por CDI y tu integración REST API, espera que el uso combinado cuente para tu límite de velocidad.

Cada ejecución de sincronización ingresa usuarios en su respectivo Canvas de destino a una tasa máxima de aproximadamente 3.75 millones de usuarios por hora. Prepárate para tiempos de entrada más largos desde el origen al Canvas cuando:

Ten en cuenta lo siguiente sobre CDI zero-copy cuando el archivado de mensajes está habilitado:

  • Los resultados de la tabla se almacenan temporalmente en Braze durante el procesamiento. También se exportan a Snowflake durante 30 días para que puedas ver exactamente lo que se sincronizó.
  • Los mensajes archivados no se guardan en ningún lugar dentro de Braze. Las copias se envían para almacenarse exclusivamente en tu almacenamiento configurado.
  • Al usar CDI zero-copy con desencadenadores de Canvas, Braze no almacena una copia de seguridad de los resultados de la consulta del almacén de datos y no se copian datos en el perfil de usuario.
  • Las propiedades de contexto de Canvas pueden registrarse en sistemas internos por hasta 30 días.
New Stuff!