Personnalisation sans copie à l’aide de CDI
Découvrez comment synchroniser les déclencheurs de Canvas à l’aide de CDI pour une personnalisation sans copie. Cette fonctionnalité accède aux informations propres à chaque utilisateur depuis votre solution de stockage de données et les transmet à un Canvas de destination. Les étapes du Canvas peuvent éventuellement inclure des champs de personnalisation qui ne sont pas conservés dans les profils utilisateurs de Braze.
Synchroniser les déclencheurs de Canvas
Étapes de démarrage rapide
Si vous connaissez déjà le CDI de Braze, sachez que la configuration d’une synchronisation de déclencheurs de Canvas suit de près le processus des intégrations CDI de données utilisateur, avec les réserves suivantes :
- Seuls les identifiants de type ID externe ou alias d’utilisateur sont pris en charge. Les e-mails et les numéros de téléphone ne sont pas des identifiants pris en charge.
- Seuls les utilisateurs Braze existants peuvent être synchronisés. Il n’est pas possible de créer de nouveaux utilisateurs.
propertiesremplace la colonnepayload. Il s’agit d’une chaîne de caractères JSON contenant les champs que vous souhaitez utiliser comme propriétés d’entrée du Canvas pour la personnalisation.
Pour commencer, sélectionnez le type de données Déclencheurs de Canvas lors de la création d’une nouvelle synchronisation.
Utiliser les déclencheurs de Canvas
Étape 1 : Configurer la source de données pour les déclencheurs de Canvas
Étape 1.1 : Configurer votre table source dans Snowflake
Vous pouvez utiliser les noms de l’exemple suivant ou choisir vos propres noms de base de données, de schéma et de table. Vous pouvez également utiliser une vue ou une vue matérialisée au lieu d’une table.
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)
);
Vous pouvez nommer la base de données, le schéma et la table comme vous le souhaitez, mais les noms des colonnes doivent correspondre à la définition précédente.
UPDATED_AT: Le moment où cette ligne a été mise à jour ou ajoutée à la table. Braze synchronise les lignes dont la valeurUPDATED_ATest postérieure à la dernière valeur synchronisée. Les lignes situées exactement à l’horodatage limite peuvent être resynchronisées si de nouvelles lignes partagent ce même horodatage.- Soit
external_id, soitalias_nameetalias_labelcomme colonne d’identifiant utilisateur. Ces colonnes identifient les utilisateurs pour lesquels vous souhaitez déclencher l’envoi de messages via Canvas.EXTERNAL_ID: Identifie l’utilisateur à faire entrer dans le Canvas. Cette valeur doit correspondre à la valeurexternal_idutilisée dans Braze.ALIAS_NAMEetALIAS_LABEL: Ces colonnes créent un objet alias d’utilisateur.alias_namedoit être un identifiant unique, etalias_labelindique le type d’alias. Les utilisateurs peuvent avoir plusieurs alias avec des libellés différents, mais un seul alias_name paralias_label.
PROPERTIES: Une chaîne de caractères JSON contenant les champs à rendre disponibles comme propriétés de personnalisation dans votre Canvas. Elle doit contenir des informations propres à chaque utilisateur.

Les propriétés ne sont pas obligatoires pour chaque ligne ou chaque utilisateur. Toutefois, les valeurs des propriétés doivent être une chaîne de caractères JSON valide. Saisissez une chaîne vide {} si la ligne ne comporte aucune propriété.
Étape 1.2 : Configurer les identifiants
Configurez un rôle, un entrepôt et un utilisateur, puis accordez les autorisations appropriées. Si vous disposez déjà d’identifiants provenant d’une synchronisation existante, vous pouvez les réutiliser, mais veillez à étendre l’accès à la table source des déclencheurs 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;
L’instruction CREATE USER de cet exemple concerne l’authentification par paire de clés RSA. Pour la fédération d’identité de charge de travail (Workload Identity Federation), créez le rôle et l’entrepôt comme indiqué, puis créez l’utilisateur de service à partir du formulaire d’identifiants Snowflake. Les autorisations sur le rôle, l’entrepôt et la base de données restent les mêmes. La politique réseau de l’étape suivante s’applique toujours. Pour connaître l’instruction et l’endroit où l’exécuter, consultez Configurer Snowflake pour la fédération d’identité de charge de travail.
Étape 1.3 : Configurer les politiques réseau
Si votre compte utilise des politiques réseau, ajoutez les adresses IP de Braze à la liste d’autorisation pour permettre la connexion au service CDI. Pour obtenir la liste des adresses IP, consultez Ingestion de données cloud.
Étape 1.1 : Configurer votre table source dans Redshift
Vous pouvez utiliser les noms de l’exemple suivant ou choisir vos propres noms de base de données, de schéma et de table. Vous pouvez également utiliser une vue ou une vue matérialisée au lieu d’une table.
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)
);
Vous pouvez nommer la base de données, le schéma et la table comme vous le souhaitez, mais les noms des colonnes doivent correspondre à la définition précédente.
UPDATED_AT: Le moment où cette ligne a été mise à jour ou ajoutée à la table. Braze synchronise les lignes dont la valeurUPDATED_ATest postérieure à la dernière valeur synchronisée. Les lignes situées exactement à l’horodatage limite peuvent être resynchronisées si de nouvelles lignes partagent ce même horodatage.- Soit
external_id, soitalias_nameetalias_labelcomme colonne d’identifiant utilisateur. Ces colonnes identifient les utilisateurs pour lesquels vous souhaitez déclencher l’envoi de messages via Canvas.EXTERNAL_ID: Identifie l’utilisateur à faire entrer dans le Canvas. Cette valeur doit correspondre à la valeurexternal_idutilisée dans Braze.ALIAS_NAMEetALIAS_LABEL: Ces colonnes créent un objet alias d’utilisateur.alias_namedoit être un identifiant unique, et alias_label indique le type d’alias. Les utilisateurs peuvent avoir plusieurs alias avec des libellés différents, mais un seulalias_nameparalias_label.
PROPERTIES: Une chaîne de caractères JSON contenant les champs à rendre disponibles comme propriétés de personnalisation dans votre Canvas. Elle doit contenir des informations propres à chaque utilisateur.

Les propriétés ne sont pas obligatoires pour chaque ligne ou chaque utilisateur. Toutefois, les valeurs des propriétés doivent être une chaîne de caractères JSON valide. Saisissez une chaîne vide {} si la ligne ne comporte aucune propriété.
Étape 1.2 : Configurer les identifiants
Configurez un rôle, un entrepôt et un utilisateur, puis accordez les autorisations appropriées. Si vous disposez déjà d’identifiants provenant d’une synchronisation existante, vous pouvez les réutiliser, mais veillez à étendre l’accès à la table source des déclencheurs 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;
Étape 1.3 : Configurer les politiques réseau
Si votre compte utilise des politiques réseau, ajoutez les adresses IP de Braze à la liste d’autorisation pour permettre la connexion au service CDI. Pour obtenir la liste des adresses IP, consultez Ingestion de données cloud.
Étape 1.1 : Créer un nouveau projet ou jeu de données pour votre table source (facultatif)
CREATE SCHEMA BRAZE-CLOUD-PRODUCTION.INGESTION;
Étape 1.2 : Configurer votre table source dans BigQuery
Référez-vous aux informations suivantes lors de la création de votre table source :
| Nom du champ | Type | Obligatoire ? |
|---|---|---|
UPDATED_AT |
Timestamp | Oui |
PROPERTIES |
JSON | Oui |
EXTERNAL_ID |
STRING | NULLABLE |
ALIAS_NAME |
STRING | NULLABLE |
ALIAS_LABEL |
STRING | NULLABLE |

Les propriétés ne sont pas obligatoires pour chaque ligne ou chaque utilisateur. Toutefois, les valeurs des propriétés doivent être une chaîne de caractères JSON valide. Saisissez une chaîne vide {} si la ligne ne comporte aucune propriété.
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
);
Étape 1.3 : Configurer les identifiants
Créez un utilisateur et accordez-lui des autorisations. Si vous disposez déjà d’identifiants provenant d’une autre synchronisation, vous pouvez les réutiliser à condition qu’ils aient accès à la table des déclencheurs de Canvas.
| Autorisation | Objectif |
|---|---|
| BigQuery Connection User | Permet à Braze de se connecter. |
| BigQuery User | Permet à Braze d’exécuter des requêtes, de lire les métadonnées et de lister les tables. |
| BigQuery Data Viewer | Permet à Braze de consulter les jeux de données et leur contenu. |
| BigQuery Job User | Permet à Braze d’exécuter des tâches. |
Après avoir accordé les autorisations, configurez la manière dont Braze s’authentifie en tant que compte de service :
Fédération d’identité de charge de travail : Liez le principal Braze au compte de service afin de ne pas avoir à créer de clé. Pour connaître les étapes, consultez Configurer Google Cloud pour la fédération d’identité de charge de travail.
Clé de compte de service : Générez une clé JSON. Consultez Créer et supprimer des clés pour obtenir les instructions. Vous la téléchargerez ultérieurement dans le tableau de bord de Braze.
Étape 1.4 : Configurer les politiques réseau
Si votre compte utilise des politiques réseau, ajoutez les adresses IP de Braze à la liste d’autorisation pour permettre la connexion au service CDI. Pour obtenir la liste des adresses IP, consultez Ingestion de données cloud.
Étape 1.1 : Créer un catalogue ou un schéma pour votre table source.
CREATE SCHEMA BRAZE-CLOUD-PRODUCTION.INGESTION;
Étape 1.2 : Configurer votre table source dans Databricks
Référez-vous aux informations suivantes lors de la création de votre table source :
| Nom du champ | Type | Obligatoire |
|---|---|---|
UPDATED_AT |
Timestamp | Oui |
PROPERTIES |
JSON | Oui |
EXTERNAL_ID |
STRING | NULLABLE |
ALIAS_NAME |
STRING | NULLABLE |
ALIAS_LABEL |
STRING | NULLABLE |
Vous pouvez nommer le schéma et la table comme vous le souhaitez, mais les noms des colonnes doivent correspondre à la définition précédente.
UPDATED_AT: Le moment où cette ligne a été mise à jour ou ajoutée à la table. Braze synchronise les lignes dont la valeurUPDATED_ATest postérieure à la dernière valeur synchronisée. Les lignes situées exactement à l’horodatage limite peuvent être resynchronisées si de nouvelles lignes partagent ce même horodatage.- Soit
external_id, soitalias_nameetalias_labelcomme colonne d’identifiant utilisateur. Ces colonnes identifient les utilisateurs pour lesquels vous souhaitez déclencher l’envoi de messages via Canvas.EXTERNAL_ID: Identifie l’utilisateur à faire entrer dans le Canvas. Cette valeur doit correspondre à la valeurexternal_idutilisée dans Braze.ALIAS_NAMEetALIAS_LABEL: Ces colonnes créent un objet alias d’utilisateur.alias_namedoit être un identifiant unique, etalias_labelindique le type d’alias. Les utilisateurs peuvent avoir plusieurs alias avec des libellés différents, mais un seul alias_name paralias_label.
PROPERTIES: Une chaîne de caractères ou une structure contenant les champs à rendre disponibles comme propriétés de personnalisation dans votre Canvas. Elle doit contenir des informations propres à chaque utilisateur.

Les propriétés ne sont pas obligatoires pour chaque ligne ou chaque utilisateur. Toutefois, les valeurs des propriétés doivent être des chaînes de caractères JSON valides. Saisissez une chaîne vide {} si la ligne ne comporte aucune propriété.
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
);
Étape 1.3 : Configurer les identifiants
Créez un principal de service avec des identifiants OAuth de machine à machine (M2M) (recommandé), ou un jeton d’accès personnel. Si vous disposez déjà d’identifiants provenant d’une autre synchronisation, vous pouvez les réutiliser à condition qu’ils aient accès à la table des déclencheurs de Canvas.
OAuth M2M : Créez un principal de service, générez un secret client, accordez au principal de service l’autorisation Can use sur votre entrepôt SQL, puis accordez-lui SELECT sur la table des déclencheurs de Canvas. Pour connaître les étapes, consultez Créer des identifiants pour Braze.
Jeton d’accès personnel :
- Sélectionnez votre nom d’utilisateur, puis User Settings.
- Dans l’onglet Access tokens, sélectionnez Generate new token.
- Ajoutez un commentaire pour identifier le jeton, par exemple « Braze CDI ».
- Laissez le champ Lifetime (days) vide pour une absence d’expiration, puis sélectionnez Generate.
- Copiez le jeton et conservez-le en lieu sûr pour l’utiliser dans le tableau de bord de Braze.
Étape 1.4 : Configurer les politiques réseau
Si votre compte utilise des politiques réseau, ajoutez les adresses IP de Braze à la liste d’autorisation pour permettre la connexion au service CDI. Pour obtenir la liste des adresses IP, consultez Ingestion de données cloud.
Étape 1.1 : Configurer votre table source dans 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
Étape 1.2 : Configurer les identifiants
Créez un principal de service et accordez-lui des autorisations. Si vous disposez déjà d’identifiants provenant d’une autre synchronisation, vous pouvez les réutiliser : assurez-vous simplement qu’ils ont accès à la table des comptes.
Étape 1.3 : Configurer les politiques réseau
Si votre compte utilise des politiques réseau, ajoutez les adresses IP de Braze à la liste d’autorisation pour permettre la connexion au service CDI. Pour obtenir la liste des adresses IP, consultez Ingestion de données cloud.
Pour synchroniser des déclencheurs de Canvas à partir d’un stockage de fichiers, créez un fichier source contenant les champs suivants.
| Champ | Obligatoire | Description |
|---|---|---|
EXTERNAL_ID |
Oui, l’un des deux : external_id ou alias_name et alias_label |
Identifie l’utilisateur que vous souhaitez mettre à jour. Cette valeur doit correspondre à la valeur external_id utilisée dans Braze. |
ALIAS_NAME et ALIAS_LABEL |
Oui, l’un des deux : external_id ou alias_name et alias_label |
Ces deux colonnes créent un objet alias d’utilisateur. alias_name doit être un identifiant unique, et alias_label indique le type d’alias. Les utilisateurs peuvent avoir plusieurs alias avec des libellés différents, mais un seul alias_name par alias_label. |
PROPERTIES |
Oui | Chaîne de caractères JSON contenant les champs à rendre disponibles comme propriétés de personnalisation dans votre Canvas. Elle doit contenir des informations propres à chaque utilisateur. |

Les noms de fichiers doivent respecter les règles d’AWS et être uniques. Ajoutez des horodatages pour garantir leur unicité. Pour en savoir plus sur la synchronisation avec Amazon S3, consultez Intégrations de stockage de fichiers.
Étape 2 : Configurer votre Canvas de destination
- Configurez votre Canvas de destination pour les déclencheurs de Canvas. Créez un nouveau Canvas déclenché par API ou sélectionnez-en un existant. Consultez Types de planification d’entrée pour savoir comment créer un Canvas avec un type de planification de livraison déclenchée par API.
- Après avoir sélectionné le type de planification de livraison déclenchée par API, poursuivez la configuration et créez votre Canvas. Les Canvas peuvent aller d’un simple envoi de message unique à des parcours client complexes comportant plusieurs étapes.
- Dans les étapes de votre Canvas, utilisez les propriétés d’entrée du Canvas pour personnaliser les messages avec les champs de propriétés que vous prévoyez de synchroniser depuis votre table source.
- Par exemple, si à l’étape 1 vous avez instrumenté un champ de propriétés pour
account_balance, vous utiliseriez le modèle Liquid suivant pour personnaliser votre message :\{\{canvas_entry_properties.\$\{account_balance\}\}\}.
- Par exemple, si à l’étape 1 vous avez instrumenté un champ de propriétés pour
- Une fois votre Canvas créé, lancez-le et passez à l’étape 3.
Étape 3 : Créer votre synchronisation zéro copie
Une fois la configuration de votre source terminée et votre Canvas de destination lancé, créez une nouvelle synchronisation de données :
- Dans Braze, accédez à Paramètres des données > Ingestion de données cloud.
- Configurez la connexion en saisissant les détails de connexion (ou en réutilisant des identifiants existants) et la table source de l’étape 1.
- Donnez un nom à l’intégration.
- Sélectionnez le type de données Déclencheurs de Canvas.
- Choisissez votre Canvas de destination (de l’étape 2).
- Choisissez une fréquence de synchronisation.
- Configurez les préférences de notification.
- Sélectionnez Tester la connexion pour vérifier que tout fonctionne comme prévu. Si vous vous connectez à Snowflake avec une paire de clés RSA, ajoutez d’abord la clé publique affichée dans le tableau de bord à l’utilisateur créé pour Braze. Pour effectuer cette étape, vous avez besoin d’un accès SECURITYADMIN ou supérieur dans Snowflake. Si vous vous connectez avec la fédération d’identité de charge de travail, exécutez l’instruction du formulaire d’identifiants avant de tester la connexion. Consultez Configurer Snowflake pour la fédération d’identité de charge de travail.
-
Enregistrez la synchronisation pour commencer à synchroniser les déclencheurs de Canvas.
- Sélectionnez Tester la connexion pour vérifier que tout fonctionne comme prévu. Si vous vous connectez à Snowflake avec une paire de clés RSA, ajoutez d’abord la clé publique affichée dans le tableau de bord à l’utilisateur créé pour Braze. Pour effectuer cette étape, vous avez besoin d’un accès
SECURITYADMINou supérieur dans Snowflake. Si vous vous connectez avec la fédération d’identité de charge de travail, exécutez l’instruction du formulaire d’identifiants avant de tester la connexion. Consultez Configurer Snowflake pour la fédération d’identité de charge de travail.

Vérifiez l’ensemble de votre configuration (du comportement de synchronisation à la configuration du Canvas) pour éviter les envois inattendus. Les paramètres du Canvas, tels que la limitation du débit, la limite de fréquence et les filtres de segmentation, permettent d’affiner davantage la distribution des messages.
Nous vous recommandons d’effectuer un essai avec une audience restreinte ou de test avant de mettre en œuvre des cas d’usage en production.
Points à prendre en compte
Les déclencheurs de Canvas CDI utilisent votre limite de débit de l’API REST pour /canvas/trigger/send. Si vous utilisez cet endpoint simultanément avec les déclencheurs de Canvas CDI et votre intégration à l’API REST, l’utilisation combinée sera décomptée de votre limite de débit.
Chaque exécution de synchronisation fait entrer les utilisateurs dans son Canvas de destination à un rythme maximal d’environ 3,75 millions d’utilisateurs par heure. Attendez-vous à des délais plus longs entre la source et l’entrée dans le Canvas lorsque :
- Vous synchronisez plus de 3,75 millions d’utilisateurs par exécution de synchronisation.
- Vous utilisez les déclencheurs de Canvas CDI alors que vous saturez déjà la limite de débit de votre API REST pour
/canvas/trigger/send.
Tenez compte des points suivants concernant le CDI zéro copie lorsque l’archivage des messages est activé :
- Les résultats de la table sont stockés temporairement dans Braze pendant le traitement. Ils sont également exportés vers Snowflake pendant 30 jours afin que vous puissiez voir exactement ce qui a été synchronisé.
- Les messages archivés ne sont enregistrés nulle part dans Braze. Les copies sont envoyées pour être stockées exclusivement dans le stockage que vous avez configuré.
- Lorsque vous utilisez le CDI zéro copie avec des déclencheurs de Canvas, Braze ne conserve aucune sauvegarde des résultats de requête provenant de l’entrepôt de données et aucune donnée n’est copiée dans le profil utilisateur.
- Les propriétés de contexte du Canvas peuvent être enregistrées dans les systèmes internes pendant 30 jours au maximum.