LogoLogo
  • 🦩Overview
  • 💾Datasets
    • Overview
    • Core Concepts
      • Columns & Annotations
      • Type & Property Mappings
      • Relationships
    • Basic Datasets
      • dbt Integration
      • Sigma Integration
      • Looker Integration
    • SaaS Datasets
    • CSV Datasets
    • Streaming Datasets
    • Entity Resolution
    • AI Columns
      • AI Prompts Recipe Book
    • Enrichment Columns
      • Quick Start
      • HTTP Request Enrichments
    • Computed Columns
    • Version Control
  • 📫Syncs
    • Overview
    • Triggering & Scheduling
    • Retry Handling
    • Live Syncs
    • Audience Syncs
    • Observability
      • Current Sync Run Overview
      • Sync History
      • Sync Tracking
      • API Inspector
      • Sync Alerts
      • Observability Lake
      • Datadog Integration
      • Warehouse Writeback
      • Sync Lifecycle Webhooks
      • Sync Dry Runs
    • Structuring Data
      • Liquid Templates
      • Event Syncs
      • Arrays and Nested Objects
  • 👥Audience Hub
    • Overview
    • Creating Segments
      • Segment Priorities
      • Warehouse-Managed Audiences
    • Experiments and Analysis
      • Audience Match Rates
    • Activating Segments
    • Calculated Columns
    • Data Preparation
      • Profile Explorer
      • Exclusion Lists
  • 🧮Data Sources
    • Overview
    • Available Sources
      • Amazon Athena
      • Amazon Redshift
      • Amazon S3
      • Azure Synapse
      • ClickHouse
      • Confluent Cloud
      • Databricks
      • Elasticsearch
      • Kafka
      • Google AlloyDB
      • Google BigQuery
      • Google Cloud SQL for PostgreSQL
      • Google Pub/Sub
      • Google Sheets
      • Greenplum
      • HTTP Request
      • HubSpot
      • Materialize
      • Microsoft Fabric
      • MotherDuck
      • MySQL
      • PostgreSQL
      • Rockset
      • Salesforce
      • SingleStore
      • Snowflake
      • SQL Server
      • Trino
  • 🛫Destinations
    • Overview
    • Available Destinations
      • Accredible
      • ActiveCampaign
      • Adobe Target
      • Aha
      • Airship
      • Airtable
      • Algolia
      • Amazon Ads DSP (AMC)
      • Amazon DynamoDB
      • Amazon EventBridge
      • Amazon Pinpoint
      • Amazon Redshift
      • Amazon S3
      • Amplitude
      • Anaplan
      • Antavo
      • Appcues
      • Apollo
      • Asana
      • AskNicely
      • Attentive
      • Attio
      • Autopilot Journeys
      • Azure Blob Storage
      • Box
      • Bloomreach
      • Blackhawk
      • Braze
      • Brevo (formerly Sendinblue)
      • Campaign Monitor
      • Canny
      • Channable
      • Chargebee
      • Chargify
      • ChartMogul
      • ChatGPT Retrieval Plugin
      • Chattermill
      • ChurnZero
      • CJ Affiliate
      • CleverTap
      • ClickUp
      • Constant Contact
      • Courier
      • Criteo
      • Crowd.dev
      • Customer.io
      • Databricks
      • Delighted
      • Discord
      • Drift
      • Drip
      • Eagle Eye
      • Emarsys
      • Enterpret
      • Elasticsearch
      • Facebook Ads
      • Facebook Product Catalog
      • Freshdesk
      • Freshsales
      • Front
      • FullStory
      • Gainsight
      • GitHub
      • GitLab
      • Gladly
      • Google Ads
        • Customer Match Lists (Audiences)
        • Offline Conversions
      • Google AlloyDB
      • Google Analytics 4
      • Google BigQuery
      • Google Campaign Manager 360
      • Google Cloud Storage
      • Google Datastore
      • Google Display & Video 360
      • Google Drive
      • Google Search Ads 360
      • Google Sheets
      • Heap.io
      • Help Scout
      • HTTP Request
      • HubSpot
      • Impact
      • Insider
      • Insightly
      • Intercom
      • Iterable
      • Jira
      • Kafka
      • Kevel
      • Klaviyo
      • Kustomer
      • Labelbox
      • LaunchDarkly
      • LinkedIn
      • LiveIntent
      • Loops
      • Mailchimp
      • Mailchimp Transactional (Mandrill)
      • Mailgun
      • Marketo
      • Meilisearch
      • Microsoft Advertising
      • Microsoft Dynamics
      • Microsoft SQL Server
      • Microsoft Teams
      • Mixpanel
      • MoEngage
      • Mongo DB
      • mParticle
      • MySQL
      • NetSuite
      • Notion
      • OneSignal
      • Optimizely
      • Oracle Database
      • Oracle Eloqua
      • Oracle Fusion
      • Oracle Responsys
      • Orbit
      • Ortto
      • Outreach
      • Pardot
      • Partnerstack
      • Pendo
      • Pinterest
      • Pipedrive
      • Planhat
      • PostgreSQL
      • PostHog
      • Postscript
      • Productboard
      • Qualtrics
      • Radar
      • Reddit Ads
      • Rokt
      • RollWorks
      • Sailthru
      • Salesforce
      • Salesforce Commerce Cloud
      • Salesforce Marketing Cloud
      • Salesloft
      • Segment
      • SendGrid
      • Sense
      • SFTP
      • Shopify
      • Singular
      • Slack
      • Snapchat
      • Snowflake
      • Split
      • Sprig
      • Statsig
      • Stripe
      • The Trade Desk
      • TikTok
      • Totango
      • Userflow
      • Userpilot
      • Vero Cloud
      • Vitally
      • Webhooks
      • Webflow
      • X Ads (formerly Twitter Ads)
      • Yahoo Ads (DSP)
      • Zendesk
      • Zoho CRM
      • Zuora
    • Custom & Partner Destinations
  • 📎Misc
    • Credits
    • Census Embedded
    • Data Storage
      • Census Store
        • Query Census Store from Snowflake
        • Query Census Store locally using DuckDB
      • General Object Storage
      • Bring Your Own Bucket
        • Bring your own S3 Bucket
        • Bring your own GCS Bucket
        • Bring your own Azure Bucket
    • Developers
      • GitLink
      • Dataset API
      • Custom Destination API
      • Management API
    • Security & Privacy
      • Login & SSO Settings
      • Workspaces
      • Role-based Access Controls
      • Network Access Controls
      • SIEM Log Forwarding
      • Secure Storage of Customer Credentials
      • Digital Markets Act (DMA) Consent for Ad Platforms
    • Health and Usage Reporting
      • Workspace Homepage
      • Product Usage Dashboard
      • Observability Toolkit
      • Alerts
    • FAQs
Powered by GitBook
On this page
  • Note on Braze API Costs
  • Getting Started
  • Prerequisites
  • 1. Create a Braze API key
  • 2. Select your Braze API Endpoint
  • 3. Add your Data Import Key (optional)
  • 4. Create the Census Connection
  • Supported Objects and Sync Behaviors
  • Arrays, Objects, and Array of Object fields
  • Mirror Mode Options
  • User Aliases
  • ✉️ Subscription Group Memberships
  • Cohorts
  • Catalogs
  • API-Triggered Campaign and Canvas Entry
  • User Data Protections
  • Data Points
  • Data Types in Braze
  • Need help connecting to Braze?

Was this helpful?

  1. Destinations
  2. Available Destinations

Braze

This page describes how to use Census with Braze.

PreviousBlackhawkNextBrevo (formerly Sendinblue)

Last updated 1 month ago

Was this helpful?

Note on Braze API Costs

Braze prices its API on a per data point update basis. Census ensures that only fields that need to be updated are sent (rather than a copy of the entire record). Please be aware that large datasets, which change often can increase your Braze API usage. .

Getting Started

In this guide, we will show you how to connect Braze to Census and create your first sync.

Prerequisites

  • Have your Braze account ready, with create access for Braze API keys.

  • Have the proper credentials to access to your data source.

1. Create a Braze API key

Braze lets you create a number of API keys, each with their own set of permissions. You'll almost certainly want to create a new API key for Census rather than reusing an existing one.

Within Braze's left navigation bar, scroll down to the very bottom. In the Settings tabs, under the subheading Setup And Testing, click API Keys.

Then, inside the API Settings tab, under Rest API Keys, click + Create New API Key.

Provide a name you'll recognize ("Census" is a good choice) and select the following permissions:

  • All User Data permissions, except for users.delete

  • For API-triggered Campaigns: campaigns.list and campaigns.trigger.send

  • For Catalogs: All Catalogs permissions

  • For Subscription Group Membership: All Subscription permissions

  • This permission set may change as we add support for more Braze objects so you may want to grant more permissions now or plan to update the API key in the future.

Scroll down and click Save API Key.

Finally, copy the long code you see under Identifier. We'll use that in a minute.

2. Select your Braze API Endpoint

3. Add your Data Import Key (optional)

When syncing to Braze Cohorts you need to provide your Data Import key. To find this key login to your instance in Braze and navigate to Technology Partners under Integrations and then select Census. You will find your Data Import Key and your Rest Endpoint here. Paste those values into the respective credential fields when setting up the connection.

4. Create the Census Connection

Great! Now let's pull it all together.

  1. You can provide whatever name you like for the connection

  2. Provide the appropriate Braze Endpoint URL

  3. Copy and paste your new Braze API key

After the Connection Test is Green, you're all set and ready to get syncing! 🎉

Supported Objects and Sync Behaviors

Census currently supports syncing to the following Braze objects.

Object Name

Supported?

Sync Keys

Behaviors

Event

✅

Event ID

Send

Purchase Event

✅

Any Unique Identifier

Send

API-Triggered Campaign

✅

External User ID, Census Tracking ID

Send

API-Triggered Canvas Entry

✅

External User ID, Census Tracking ID

Send

Catalog

✅

Catalog ID

Update or Create, Update, Mirror

Cohort

✅

External User ID

Update or Create

Subscription Group Membership

✅

Mirror

User

✅

External User ID & User Alias

Update or Create, Update, Delete, Mirror

Census supports custom fields on both Braze User and Event objects. You can map any field from your data source to a custom field in Braze. Census will automatically create the custom field in Braze if it doesn't already exist.

Arrays, Objects, and Array of Object fields

  • Arrays are really arrays of single values (e.g. ["VIP", "New User Last 30 Days", "Promotion Candidate"]). If your array contains mixed values including integers and booleans, Braze will convert all of them to strings.

  • Objects are key-value pairs (e.g. {"key": "value"}). Census will send the object as a stringified JSON object.

Mirror Mode Options

Braze's Mirror behavior optionally supports a choice of two actions when a record is removed from the source. This can be configured when setting up the sync initially. The first time the sync is performed, the records will be used as a basis for mirroring behaviour in future syncs:

  • Delete record - This is the typical behavior for most mirror syncs. When a record is removed from the source, the corresponding record will be deleted from Braze.

  • Null out fields - This is a new behavior for mirror syncs in Braze. In this case, when a record is removed from the source, the currently mapped fields of the synced record will be removed from the destination record (by setting them to Null). The identifier will not be removed from the destination record.

Regardless of which option is selected, mirror syncs identify deletions of each type by comparing against the data they have already sent -- not the data that might or might not already exist in Braze. This means that the first sync will be an upsert for all records, and the second and following syncs will account for deletions from the source data.

User Aliases

In Braze, users can be alternatively identifier by a user alias. A user alias is a JSON object with two keys: alias_label and alias_name . For example: {"alias_label":"instagram_id", "alias_name":"7372382492"}. When updating users by User Alias, you should pass Census the alias as a string from your warehouse (TEXT, CHAR, VARCHAR, or STRING) - do not use your warehouse's OBJECT, JSON, STRUCT, or RECORD type.

✉️ Subscription Group Memberships

Census offers a way to manage your Braze Subscription Groups via your data hub. The current behavior is that you are to "Mirror" the subscribed users from your user base. It is required that you have, within the source:

  • The Subscription Group Id in Braze

  • Braze User External ID OR email

This source model should be all of your Subscribed users for their Subscription groups. If a previously-synced subscription group / user pair no longer appears in your data source, Census will unsubscribe that user from that subscription group.

If you have a query that returns the external id, subscription group id, and status columns. Your source model should logically look like this:

SELECT

external_id, subscription_group_id

FROM

subscription_table

WHERE

status = 'subscribed'

Only an identifier (Braze User External Id or email) and the Subscription Group Id should be mapped fields. This is a special unsubscribing mirror for user/group pairs that no longer appear in the data source.

Cohorts

Select the source column for identifying users that you want to add to a Cohort. Right now we can only identify Braze users for Cohorts by External User ID. Then select what Cohort you would like to sync to. You can select an existing Cohort from the dropdown list, define a new Cohort, or select a source column to dynamically get the Cohort name value.

If you want a user to be removed from the Cohort if they are removed from the source dataset then select remove matching record from cohort from the dropdown.

Finally, add any User fields to the mapper. During a sync any fields that you map will first be synced to the User object to update what already exists in Braze and then the updated User will be added to the specified Cohort. Now you can run your sync!

Once you have synced to a Braze Cohort you can take advantage of it in Braze by navigating to Engagement > Segments and then either create a new segment or select an existing one. In the Braze Segment builder you can then add a new filter and select Census Cohorts from the dropdown. The cohorts that you've created in Census will be available here and any Users in those segments will automatically have the correct filtering logic applied.

Catalogs

To sync to Catalogs, you'll need to do two additional steps:

  • Make sure your API key in Braze provides write access to Catalogs (catalogs.*). If you didn't include this permission previously when connecting to Census, you may need to generate a new API Key

  • Create the catalog in Braze first, so that it shows as an option in Census.

API-Triggered Campaign and Canvas Entry

API Triggered Campaign and Canvas Entries are useful for triggering transactional actions within Braze. Like Catalogs, you will need to create the Campaign/Canvas Entry in Braze first before it appears as a destination object in Census.

If your users can be entered into the same Canvas or Campaign multiple times, use Census Tracking ID as the sync key. External ID will still need to be mapped as a required field.

User Data Protections

Census supports Braze's user properties related to user data protections: email_open_tracking_disabled and email_click_tracking_disabled. These are boolean properties. Set them to true to disable open or click tracking in future emails sent to the user.

Data Points

During every sync (including Full Syncs), Census will automatically compare the data coming from your data source with the data already present in Braze. Census will calculate the diff between the two and only send changed data. If there is no new values in the source, Census will not send any changes to Braze.

Note that certain built-in fields in Braze, such as Country and Gender, have automatic standardization that happens in Braze. i.e.: "United States" from SQL becomes "US" from Braze's API.

So when using these type of values, we recommend either:

  • Pre-standardize your fields to match Braze’s format (i.e. "US")

  • Use Custom Attributes to store them instead

When syncing to Arrays of Objects, Census will perform a deep diff of all of the objects in the array. This means that if you have an array of objects, and only one object in the array changes, only that object will be sent to Braze. As mentioned above, make sure that each object in the array has a unique ID field that can be used to calculate the diff.

Data Types in Braze

With Census, you know have the ability to specify which Data Type your syncs are referring to. When you change the data type, the next Census sync will be a full sync. If the Census destination field data types match up with the Braze data types, Census will perform the Braze export and comparison with your data.

Please make sure you validate the data types on Custom Attributes, that they are as you would expect in the Sync mappings.

An example of this is when the Braze Custom Attribute Type that is "Automatically detect (Time)", we strongly recommend making sure that the Census Destination field type as shown below of type "DateTime" as shown below.

Need help connecting to Braze?

Have your Census account ready. If you need one, now.

You must include users.delete if you want to do the

Braze requires that we use a slightly different URL to access your account depending on where it's been set up. See the . In general, you just need the number from the URL you see in your browser when you're signed into Braze. For example, if your Braze URL is https://dashboard-03.braze.com/, then your API Endpoint should be https://rest.iad-03.braze.com.

In the page, click on New Destination, and select "Braze"

Learn more about all of our sync behaviors in our documentation.

if you want Census to support more Braze objects and/or behaviors.

Census supports such as . The behaviors of these fields are a bit different.

Arrays of Objects are arrays of key-value pairs (e.g. [{"key": "value"}, {"key2": "value2"}]). These have . To limit datapoint writes, Census will do a deep diff of the objects in the array and only send changes. Each object in the array must have an obvious ID field which can be used to calculate the diff. The ID field must be unique, and either an integer or a string. Census will look for a field called "id" first. If one isn't found, it will attempt to guess by looking for fields that are unique integers/strings.

are a special type of Array of Objects - To send push tokens, your data should be structured as an array of objects with 2-3 values: app_id, token, and an optional device_id.

Subscription Group Membership - This will unsubscribe users from the corresponding subscription group, as described .

Braze Cohorts allow users of Census to define and sync user cohorts between Census and Braze. To get started make sure your is set on the connection. Then when creating a new sync to Braze select User & Cohort as destination object.

You can and Canvas Entries in their documentation.

Census uses an internal BrazeDiff mechanism during every sync to minimize Braze usage.

via support@getcensus.com or start a conversation with us via the chat.

🛫
create a Free Trial Census account
full list of all Braze API Endpoints
Destinations
Syncs
Contact us
sending structured data
Arrays, Objects, and Arrays of Objects to Braze
special behavior in Braze
User Push Tokens
read more about Braze API-Triggered Campaigns
data points
Contact us
in-app
remove option of Mirroring users
above
data import key
See Here
Read More
Census Technology Partner page in Braze
Click Connect
Braze Sync Configuration for User & Cohort
Cohort Sync Editor Configuration Panel
Census Cohorts custom filter in Braze
Census Cohort custom filter in Braze