
Segmenting audiences for automated campaigns in Braze means deciding when each rule is checked. The entry audience is evaluated first, Audience Paths evaluate when a user reaches the step, exit criteria apply while users wait, and a Segment Extension refreshes on a schedule. Matching each rule to its moment keeps an automated campaign accurate.
Key Takeaways
- Braze evaluates the target audience for eligibility first, before users enter the Canvas journey.
- Audience Paths evaluate when a user reaches the step, and users stay in their group even if their profile changes.
- Exit criteria accept segments and filters, and users who match exit and receive no further messaging.
- A Segment Extension could take up to 60 minutes to refresh, so choose a refresh time that is 60 minutes before the send.
- Archiving a segment also archives the campaigns and Canvases that use it.
- The reachable audience excludes users who are unsubscribed, so a segment count is not the number of people who will be messaged.
How do you go about segmenting audiences for automated campaigns in Braze?
A Braze segment is dynamic. Segments update in real-time as data changes, and you can create as many as you need for targeting and messaging. That is a strength for a single send and a design question for an automated journey.
An automated Canvas touches a segment at several moments rather than once. The same segment can be read at entry, again at a branch, again at a send and again at exit. Each read happens at a different time and can give a different answer.
As a Braze implementation partner, we treat segmentation for automation as a timing problem first and a filter problem second. Getting the filters right still matters, but a correct filter at the wrong moment gives the wrong audience.
When does Braze check your segment in an automated Canvas?
The table lists the moments the Braze documentation describes and what is evaluated at each.
| Moment | What is checked | Documented behaviour |
|---|---|---|
| Canvas entry | The Target Audience step | Evaluated first, before users enter the journey |
| Message step in a multi-app workspace | Entry audience only, not each step | Entry audience eligibility is evaluated only at entry, so add Validate audience at message send to check again |
| Audience Paths | Filters and segment membership | Evaluated when the user reaches the step, then the user stays in the chosen group |
| Decision Split | Segments and filters | Checked right after the previous step, unless you add a delay |
| Exit criteria | Segments and filters | A match marks the user to exit, and a user in a Delay step leaves when the delay ends |
| Subscription settings | Per-step eligibility | Applied per step, with no effect on the entry audience |
Read the table as a list of places where your segment logic can drift out of step with the user. Each row has a documented remedy, and several come down to adding a delay or a delivery validation.
Our usual order of work follows the table from the top. Fix entry first, then the branches, then the sends. An error at entry can't be corrected downstream, and an error at a send is the one a customer sees.
How should you build the entry segment?
Only users who match the criteria in the Target Audience step can enter. Braze evaluates the target audience for eligibility first, before users enter the Canvas journey. Everything downstream inherits whatever you set here.
Filter groups give you the logic. Exclusion groups override segment criteria, so a user who falls into an exclusion group isn't in the segment even if they match the filter groups. Use them for the people who must never receive the automation.
One trap is worth knowing by heart. Negative criteria such as "is not" and "does not equal" should not be used with the OR operator when two or more filters reference the same attribute. If they are, users with all values for that attribute will be targeted, so a segment meant to be narrow becomes broad.
Two other documented limits shape how you nest. Segments already using the Segment Membership filter cannot be included or nested into other segments, which prevents a cycle. Recreate the filters instead.
Test the segment before it goes near a Canvas. Use View funnel statistics to see how each filter changes the count, and look up a known user to confirm they match. User Lookup accepts only external_id and braze_id, so have those to hand.
The mobile SDK can create a profile on first app use, but profiles can also be created before that through the Braze API or supported imports. A profile alone does not make a user reachable: verify the channel address or push token, subscription status and permissions before targeting them. Use consistent external IDs to avoid duplicate profiles. You can calculate exact counts for a segment, though this can take a few minutes and only works at segment level, so filters and filter groups aren't counted exactly.
How do Audience Paths turn one segment into many journeys?
Audience Paths send each user down the first branch whose criteria they meet. Put the highest priority path first. Everybody Else always comes last and catches any user who doesn't fall into a defined group, and you can define up to eight groups.
Evaluation happens at the moment a user reaches the step, and users stay in their group after that, even if their profile changes. If you connect more than one Audience Paths step, users are evaluated again at each new step. That makes a second step a useful way to refine, because users are evaluated again at that step.
Name each group after the decision it makes rather than the filter it uses. A group called repeat buyers still makes sense after someone edits the filters, and a group named after a filter does not. It also makes the Canvas readable by a colleague who didn't build it.
Evaluation is immediate. If the criteria depend on how a user interacted with a previous message, add a delay before the Audience Path so users have time to interact first.
There is one documented caution for rate-limited Canvases. If your Canvas uses a rate limit, Braze recommends against random bucket numbers to segment Audience Paths. Try Experiment Paths instead.
How do exit criteria use segments?
Exit criteria accept segments and filters as well as events. Users who match the segment and filter exit the Canvas and receive no further messaging. That makes exit segments a clean way to stop an automation once a customer enters a state you care about.
Timing behaves as it does for events. If a user meets the exit criteria while in a Delay step, they're marked to exit immediately but fully leave at the end of the delay, and they don't advance past it.
We keep exit segments simple and few. A long chain of exit conditions is hard to test, and the first sign of a mistake is usually a customer asking why they were messaged.
When do Segment Extensions earn their place?
Segment Extensions are an enhancement, not a requirement. You can build real-time default segments with event properties from the past 30 days, or with nested custom attributes, without one. Reach for an extension when you need a longer memory, because you can identify users who completed a custom event or purchase event any number of times in the past two years (730 days).
The documentation sets expectations about freshness. Segments could require up to 60 minutes to refresh because of data processing times, and only one refresh can occur at a time for a given extension. To finish processing before a send, choose a refresh time that is 60 minutes earlier.
Staleness runs the other way too. Users who were in the extension before a refresh and no longer meet the criteria continue to match your default segment until the refresh completes. Refresh settings are also automatically turned off for unused extensions.
Treat an extension as a dependency with an owner. Someone should know which sends rely on its refresh time, because a change to the schedule moves the audience of every Canvas that reads it.
Limits apply. There is a default allotment of 50 active Segment Extensions per workspace at a particular time. Check the current documentation, because limits and credit rules can change.
What does a hypothetical automated segmentation setup look like?
Take a hypothetical pet-supplies retailer that wants a replenishment reminder for repeat buyers of one food. The example is illustrative only. It uses no client data and no figures beyond those in the Braze documentation.
- Base segment: customers with a recent session, with an exclusion group for anyone who should never receive the automation.
- Segment Extension: customers who bought that food more than once in the past two years (730 days), set to refresh daily at a time 60 minutes before the Canvas entry.
- Canvas entry: scheduled, with the base segment combined with the extension in the Target Audience step.
- Audience Paths: a first group for repeat buyers, and Everybody Else for the rest.
- Message steps: Validate audience at message send turned on, because a delay sits between the split and the send.
- Exit criteria: the purchase event, so anyone who reorders stops receiving reminders.
The order matters more than the filters. Each moment where a segment is read has its own protection, so the design adds a refresh buffer at the extension, a validation at the send and an exit on the purchase.
What goes wrong when automation outlives its segments?
Segments are shared infrastructure, and several documented behaviours show up long after launch. We name them so a team can check for each.
The first is the vanishing campaign. When you archive a segment, any campaigns or Canvases using it are also archived, even if the segment is used in only one Canvas component. Check the usage list before you archive anything.
The second is the self-referencing trigger. Avoid using the same trigger as an audience filter. A race condition may occur in which the user is not in the audience when they perform the trigger event, so they never enter.
The third is the audience that doesn't match the reach. The target population excludes users who aren't contactable on a channel, such as those who are unsubscribed, and the behaviour differs by channel.
A Global Control Group, where one applies, is excluded from the reachable count as well. For SMS, Braze only sends to users within the selected subscription group, so the SMS target population excludes anyone outside it.
The fourth is the device that disagrees. A user may have been in your segment at send time and, because of behaviour on any of their devices, not be in it afterwards. If someone asks why a customer was messaged, look at their profile and devices before you blame the segment.
How does this connect to the rest of the programme?
This post sits alongside segmenting your audience for better engagement, which covers the segmentation basics. Mobile programmes have extra considerations, covered in segmenting mobile audiences and push notification segmentation.
For the build itself, see building an automated marketing workflow and using templates for faster marketing automation. If your segments depend on warehouse or CRM data, integrating CRM data comes first, and CustomerIK's customer data management service covers identity resolution and CDP integration for that groundwork.
The behaviours here come from the Braze documentation on creating a segment. Limits and defaults can change, so check the current page before you build.
What should you build first?
As a Braze implementation partner, CustomerIK recommends mapping every moment your Canvas reads a segment before you build it, then adding a delay, a validation or an exit at each one that needs protection.
Frequently Asked Questions
1. When does Braze check the entry audience for a Canvas?
Braze evaluates the target audience for eligibility first, before users enter the Canvas journey.
2. Do Audience Paths re-evaluate users after they join a group?
Users aren't re-evaluated against their group after they move down a path. To confirm they still match before a send, turn on Validate audience at message send.
3. Can a segment be used in exit criteria?
Yes, segments and filters can both be used. Users who match exit and receive no further messaging.
4. Do I need a Segment Extension for every behavioural segment?
Not necessarily. They are an enhancement, not a requirement. Real-time segments can use event properties from the past 30 days.
5. How long can a Segment Extension take to refresh?
Segments could require up to 60 minutes to refresh because of data processing times. Check the current documentation, as this can change.
Sources
- Braze, Create a Canvas. Retrieved 21 Oct 2026.
- Braze, Audience Paths. Retrieved 21 Oct 2026.
- Braze, Exit criteria. Retrieved 21 Oct 2026.
- Braze, Create a segment. Retrieved 21 Oct 2026.
- Braze, Segment Extensions. Retrieved 21 Oct 2026.
- Braze, Decision split. Retrieved 21 Oct 2026.
- Limits and defaults on these pages can change, so check each page before you build.
- Written by CustomerIK, a Braze implementation partner.
CustomerIK is a Braze implementation partner working across onboarding, technical integration, marketing operations and customer data management.
If your automated campaigns reach people they shouldn't, or miss people they should, let's talk.




