Skip to content

Account objects

Use account objects to segment and personalize messaging with account data.

With account objects, you can:

  • Build segments with account criteria
  • Personalize messages with account attributes through Liquid
  • Manage account records in one place

Account objects are workspace-level data models connected to user profiles. An account record is one specific account and its associated field data. Use account objects when account context, such as company attributes, helps you target and personalize messaging. You can also model account hierarchies (such as parent and child accounts) and link one user profile to multiple accounts.

Why use account objects?

Some use cases require account-level context, even when your campaigns and Canvases send to individual users.

Account objects let you store account data once and reuse it for segmentation and personalization across Braze.

This lets you:

  • Segment by account attributes
  • Personalize messages with shared account context (such as company name or industry)
  • Model relationships between accounts and connect one user profile to multiple accounts

This approach replaces duplicating the same account attributes across many user profiles.

Prerequisites

Before you start:

  • Your workspace must be provisioned for Accounts. Although Accounts is generally available, you must request provisioning before you can use it in the dashboard or through the Data Objects endpoints. For steps, see Step 1: Enable Accounts.
  • You must already have users in Braze.

Account data model

Each account requires an identifier (id) and a name (name).

The account fields in this section define the Account object schema. Those fields apply to every individual account record you store in Braze.

Braze includes account objects with standard fields by default. You can add and remove custom fields based on your use case. The field names id, object_id, and display_name are reserved, so you can’t use them as custom field names.

Field name Field type Required Description
id string Yes Your system ID for the account (for example, CRM ID). Must be unique in your workspace.
name string Yes Account name.
type string No Account type, such as customer, partner, or reseller.
annual_revenue number No Account annual revenue.
industry string No Account industry.
number_of_employees number No Employee count.
address string No Street address.
city string No City.
state string No State or province.
postal_code string No Postal code.
country string No Country.
notes string No Additional notes.
website string No Website URL.
main_phone string No Primary phone number.
created_date time No Account creation timestamp.
sic_code string No Standard Industry Classification code.
Custom fields custom No Fields you define and manage.

Data integration options

You can manage account records through:

  • REST API endpoints for account records
  • In-browser editing in Data Settings > Accounts for individual records

Get started

Step 1: Enable Accounts

Accounts is enabled at the company level. To request provisioning:

  1. In the Braze dashboard, go to Data Settings > Accounts.
  2. Complete the questionnaire.

After you submit the questionnaire, it’s forwarded to Braze for review. You should receive a response within a week. High-scale use cases can take longer.

When provisioning is complete, go to Data Settings > Accounts and complete the one-time initialization flow if prompted.

Step 2: Add account records

Add or update account records through the REST API or in-browser editing.

Step 3: Create a calculated filter for account criteria

Before segmenting on account data, create a calculated filter that defines your account criteria:

  1. Go to Audience > Calculated Filters.
  2. Select Create filter, then select Data Object filters.
  3. Define your account criteria.

For details, see Calculated filters.

Step 4: Use the calculated filter in Segment Builder

In Segment Builder, select the calculated filter you created, then add any additional user attribute filters that support your campaign or Canvas targeting.

Limits

Accounts includes the following default limits to support most use cases:

Resource Default limit
Account records per company 50,000
Fields per account type 500
Fields per relationship type 25
Account objects per user 1,000
Users per account object 10,000
Related objects per account object 1,000

These are starting capacities. If you need more account records or a higher limit, contact your Braze account team to request an increase.

For limit error codes and what happens when an API request would exceed a limit, see Product limits.

Build account-based segments

After your account records and calculated filter are ready:

  1. Go to Segment Builder.
  2. Add your preconfigured calculated filter for account criteria.
  3. Add any additional user attribute filters.
  4. Save your segment.

For example:

  • Calculated filter: account industry is exactly healthcare
  • User attribute filter: days_since_last_login is less than 30

Personalize with Liquid

Use the {% data_object account %} Liquid tag to load account data for the user into the data_objects array.

{% data_object account %}
Hi {{${first_name}}},
We'd love to invite you and your peers at {{ data_objects[0].name }}.

To iterate over all matched accounts:

{% data_object account %}
{% for acct in data_objects %}
- {{ acct.name }}
{% endfor %}

API basics

You can use the REST API to manage account records.

For endpoint details, refer to Data Objects endpoints.

For authentication and REST endpoint basics, refer to Braze API overview.

Frequently asked questions

Can I add custom fields to accounts?

Yes. You can define and manage custom account fields in your workspace. For field requirements, see Account data model.

Is Accounts a paid add-on?

No. Accounts isn’t a paid add-on, and is available on all plans. Your workspace must be provisioned before you can use it. For steps, see Step 1: Enable Accounts.

New Stuff!