Delete users with Cloud Data Ingestion
User delete syncs are supported for all available Cloud Data Ingestion data sources.
Integration configuration
Follow the standard process to create a new integration in the Braze dashboard for the data warehouse you want to connect to. Ensure that you include a role that can access the delete table. On the Create import sync page, set the Data Type to Delete Users. This will ensure the proper actions are taken during the integration run to delete users.
Source data configuration
Source tables for user deletes should include one or more user identifier types and an UPDATED_AT
timestamp. Payload columns are not supported for user delete data.
UPDATED_AT
Add an UPDATED_AT
timestamp to your source table. This timestamp indicates the time that this row was updated or added to the table. Braze will only sync rows that have been added or updated since the last sync.
User identifier columns
Your table may contain one or more user identifier columns. Each row should only contain one identifier: either external_id
, the combination of alias_name
and alias_label
, or braze_id
. A source table may contain columns for one, two, or all three identifier types.
EXTERNAL_ID
- This identifies the user you want to update. This should match theexternal_id
value used in Braze.ALIAS_NAME
andALIAS_LABEL
- These two columns create a user alias object.alias_name
should be a unique identifier, andalias_label
specifies the type of alias. Users may have multiple aliases with different labels but only onealias_name
peralias_label
.BRAZE_ID
- The Braze user identifier. This is generated by the Braze SDK and new users cannot be created using a Braze ID through Cloud Data Ingestion. To create new users, specify an external user ID or user alias.
Do not include a PAYLOAD
column in your table for user removal. To prevent accidental, permanent, removal of users, a sync will fail if a payload column is provided in the source table. Any other columns are allowed but will be ignored by Braze.
1
2
3
4
5
6
7
8
9
10
CREATE OR REPLACE TABLE BRAZE_CLOUD_PRODUCTION.INGESTION.USERS_DELETES (
UPDATED_AT TIMESTAMP_NTZ(9) NOT NULL DEFAULT SYSDATE(),
--at least one of external_id, alias_name and alias_label, or braze_id 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),
--braze_id can only be used to update existing users created through the Braze SDK
BRAZE_ID VARCHAR(16777216)
);
1
2
3
4
5
6
7
8
9
10
CREATE TABLE BRAZE_CLOUD_PRODUCTION.INGESTION.USERS_DELETES (
updated_at timestamptz default sysdate,
--at least one of external_id, alias_name and alias_label, or braze_id is required
external_id varchar,
--if using user alias, both alias_name and alias_label are required
alias_label varchar,
alias_name varchar,
--braze_id can only be used to update existing users created through the Braze SDK
braze_id varchar
);
Create a table with the following fields:
Field Name | Type | Mode |
---|---|---|
UPDATED_AT |
TIMESTAMP | REQUIRED |
EXTERNAL_ID |
STRING | NULLABLE |
ALIAS_NAME |
STRING | NULLABLE |
ALIAS_LABEL |
STRING | NULLABLE |
BRAZE_ID |
STRING | NULLABLE |
Create a table with the following fields:
Field Name | Type | Mode |
---|---|---|
UPDATED_AT |
TIMESTAMP | REQUIRED |
EXTERNAL_ID |
STRING | NULLABLE |
ALIAS_NAME |
STRING | NULLABLE |
ALIAS_LABEL |
STRING | NULLABLE |
BRAZE_ID |
STRING | NULLABLE |
1
2
3
4
5
6
7
8
9
10
11
12
13
CREATE OR ALTER TABLE [warehouse].[schema].[users_deletes]
(
UPDATED_AT DATETIME2(6) NOT NULL,
PAYLOAD VARCHAR NOT NULL,
--at least one of external_id, alias_name and alias_label, or braze_id is required
EXTERNAL_ID VARCHAR,
--if using user alias, both alias_name and alias_label are required
ALIAS_NAME VARCHAR,
ALIAS_LABEL VARCHAR,
--braze_id can only be used to update existing users created through the Braze SDK
BRAZE_ID VARCHAR,
)
GO
How it works
With Braze Cloud Data Ingestion, you set up an integration between your data warehouse instance and Braze workspace to sync data on a recurring basis. This sync runs on a schedule you set, and each integration can have a different schedule. Syncs can run as frequently as every 15 minutes or as infrequently as once per month. For customers who need syncs to occur more frequently than 15 minutes, speak with your customer success manager, or consider using REST API calls for real-time data ingestion.
When a sync runs, Braze will directly connect to your data warehouse instance, retrieve all new data from the specified table, and delete the corresponding user profiles on your Braze dashboard.
Deleting user profiles cannot be undone. It will permanently remove users which may cause discrepancies in your data. Refer to delete a user profile for more information.