Skip to content

Segment Extensions

Segment Extensions allow you to build very precise segments over an extended period of a user’s history. For example, using Segment Extensions you can target users who have purchased a particular product in the last sixteen months or have spent a certain amount of money with your service. Refine this audience by using event properties to make targeting even more granular.

Braze segmentation allows you to target users based on custom event or purchase behavior. Segment Extensions enhances this capacity, letting you draw on historic data saved on the user profile. Using Segment Extensions, you can identify and reach users who have completed any custom event or purchase event any number of times in the past two years (730 days).

Why use Segment Extensions?

Braze segments give you powerful targeting tools to create dynamic groups of users. For most use cases, this is enough to reach your audience effectively. Segment Extensions are designed for advanced use cases where you need to analyze behaviors from up to two years ago or apply complex logic—without compromising data retention or system performance. You can use SQL queries or data from your own data warehouse to refine your audience further.

For example, Braze default segmentation will find users that fit specific criteria you define, such as identifying a user who recently purchased one of your products. Segment Extensions let you go deeper—like identifying users who bought a particular color of a specific product at least twice between 18 to 24 months ago. Segment Extensions are an enhancement, not a requirement. If you need more advanced filters or a longer lookback window, they’re a great tool to help while keeping your data usage optimized.

Creating a Segment Extension

To create a Segment Extension, you will create a filter to refine a segment of your users based on custom event properties. When creating a Segment Extension, you will choose whether the segment will be static or dynamically refreshed at a set interval.

Step 1: Navigate to Segment Extensions

Go to Audience > Segment Extensions.

From the Segment Extensions table, select Create New Extension, then select your Segment Extension creation experience:

  • Simple extension: Create a Segment Extension focused on a single event by using a guided form. Best for when you don’t want to use SQL.
  • Start with a template: Create a SQL segment with a customizable template using Snowflake data.
  • Incremental refresh: Write a Snowflake SQL segment that automatically refreshes the last 2 days of data or manually refresh as needed. Best for balancing accuracy and cost-efficiency.
  • Full refresh: Write a Snowflake SQL segment that recalculates the entire audience upon manual refresh. Best for when you need a complete, up-to-date view of your audience.

Table with different Segment Extension creation experiences to select from.

If you select an experience that uses SQL, see SQL Segment Extensions for further information.

If you select Simple extension, continue to the steps below.

Step 2: Name your Segment Extension

Name your Segment Extension by describing the type of users you intend to filter for. This will ensure that this extension can be easily and accurately discovered when applying it as a filter in your segment.

Segment Extension named "Online Shoppers Extension - 90 Days" with the checkbox "Regenerate Extension Daily" selected.

Step 3: Choose your criteria

Select between purchase, message engagement, or custom event criteria for targeting. After you’ve selected the desired event type criteria, choose which purchased item, message interaction, or specific custom event you’d like to target for your user list. Then choose how many times (more than, less than, or equal to) the user would need to have completed the event, and the time period—for Segment Extensions specifically, you can go back up to the past 730 days (2 years).

Segmentation based on event data from more than 730 days can be done using other filters located in Segments. When choosing your time period, you can specify a relative date range (such as past X days), a start date, an end date, or an exact date range (date A to date B).

Segmentation criteria for users who performed a custom event, "# of aaa", more than 0 times in the date fage of August 1st, 2023 through August 10, 2023.

Event property segmentation

To increase targeting precision, select the Add Property Filters checkbox. This will enable you to drill down based on the specific properties of your purchase or custom event. We support event property segmentation based on string, numeric, boolean, and time objects.

For string properties, you can enter in multiple values at once. In the example below, this filter looks for users with a status equal to any of the following: gold, silver, or bronze.

Segmenting based on string properties.

Segmenting based on numeric properties.

Segmenting based on boolean properties.

Segmenting based on datetime objects.

We also support segmentation based on nested event properties.

Segmenting based on nested event properties.

Segment Extensions rely on long term storage of event properties and don’t have a time-stamped property storage limit. You can look back on event properties tracked within the past two years. Using event properties within Segment Extensions does not impact data point usage.

Step 4: Designate refresh settings (optional)

If you don’t need your extension to refresh on a regular schedule, you can save it without using refresh settings, and Braze will default to generating your Segment Extension based on your user membership at that moment. Use the default behavior if you only want to generate the audience once and then target it with a one-off campaign.

Your segment will always begin processing after the initial save. Whenever your segment refreshes, Braze will re-run the segment and update segment membership to reflect the users in your segment at the time of refresh. This can help your recurring campaigns reach the most relevant users.

Setting up a recurring refresh

To set up a recurring schedule, select Refresh Settings in the upper right corner of your specific extension. The option to designate refresh settings is available for all types of Segment Extensions, including SQL segments, CDI segments, and simple form-based Segment Extensions.

Selecting your refresh settings

Refresh Interval Settings with a weekly refresh frequency, start time of 10 am, and Monday selected as a day.

Within the Refresh Settings panel, you can select the frequency at which this segment extension will refresh: hourly, daily, weekly, or monthly. You’ll also be required to select the specific time (which is in your company’s time zone) the refresh would occur, such as:

  • If you have an email campaign that is sent every Monday at 11 am company time, and you want to ensure your segment is refreshed right before it’s sent, you should choose a refresh schedule of weekly at 10 am on Mondays.
  • If you’d like your segment to refresh every day, select the daily refresh frequency and then choose the time of day to refresh.

Credit consumption and additional costs

Because refreshes re-run your segment’s query, each refresh for SQL segments will consume SQL segment credits, and each refresh for CDI segments will incur a cost within your third-party data warehouse.

Criteria to automatically disable stale extensions

Scheduled refreshes are automatically disabled once a Segment Extension is stale. A Segment Extension is stale if it meets the following criteria:

  • Not used in any active campaigns or Canvases
  • Not used in any segment that is in an active campaign or Canvas
  • Not used in any segment that has analytics tracking turned on
  • Hasn’t been modified in over seven days
  • Hasn’t been added to a campaign or Canvas (including drafts), or segment in over seven days

If the scheduled refresh is disabled for a Segment Extension, that extension will have a notification that says so.

A notification stating that "Scheduled refreshes have been turned off for this extension because it's not used in any active campaigns, Canvases, or segments. The segment extension was disabled February 23, 2025 at 12:00 AM."

When you’re ready to use a stale Segment Extension, review the refresh settings, select the refresh schedule that matches your use case, and then save any modifications.

Step 5: Save your Segment Extension

Once you select Save, your extension will begin processing. The length of time it takes to generate your extension depends on how many users you have, how many custom events or purchase events you’re capturing, and how many days you’re looking back in history.

While your extension is processing, you will see a small animation next to the name of the extension, and the word “Processing” in the Last Processed column on the extension list. Note that you will not be able to edit an extension while it is processing.

"Segment Extensions" page with two active extensions.

Step 6: Use your extension in a segment

Once you have created an extension, you can use it as a filter when creating a segment or defining an audience for a campaign or Canvas. Start by choosing Braze Segment Extension from the filter list under the User Attributes section.

"Filters" section with a filter dropdown showing "Braze Segment Extensions".

From the Braze Segment Extension filter list, choose the extension you wish to include or exclude in this segment.

A "Braze Segment Extensions" filter that includes a segment "Online Shoppers Ext...".

To view the extension criteria, select View Extension Details to show the details in a modal popup.

Extension details for the "Online Shoppers Extension - 90 Days".

Now you can proceed as usual with creating your segment.

Frequently asked questions

Can I create a Segment Extension that uses multiple custom events?

Yes. You can add multiple events or reference multiple Snowflake tables when using SQL Segment Extensions.

When using Simple extension Segment Extensions, you can select one custom event, one purchase event, or one channel interaction. However, you can combine multiple segment extensions with an AND or OR when creating the segment.

Can I archive Segment Extensions if they exist in an active campaign?

No. Before you can archive a Segment Extension, you need to remove it from all active messaging.

HOW HELPFUL WAS THIS PAGE?
New Stuff!