Segment Your Audience for Personalized Messaging in Braze

A hand moving a cream pebble into a linen tray beside a low pale oak gate, showing that the people who must not receive a Braze message are set aside before the audience passes through.

To segment your audience for personalized messaging in Braze, decide what the message needs to say first, then build the segment that makes that message true. Use filter groups for who belongs, an exclusion group for who must never receive it, and a Segment Extension only when the history runs long, then check exact size before launch. This guide comes from a Braze implementation partner.

‍

Key Takeaways

  • Write the sentence the recipient should read about themselves first, then build the segment that makes it true.
  • Put people who must never receive the message in an exclusion group, which overrides your filter groups.
  • Never join two negative filters on one attribute with or. Use and, or move them into an exclusion group.
  • Reach for a Segment Extension only when the history runs past the 30 days a standard event property filter covers.
  • Check exact size before launch, and send push to the last used device when two copies would look careless.

‍

How do you segment your audience for personalized messaging in Braze?

Start from the message. Write down the sentence the recipient should be able to read about themselves, such as "you bought this last time". That sentence is the test your segment has to pass.

Braze describes segments as dynamic groups of users that fit specific criteria you define, such as user attributes, user behavior, and custom events. They update in real time as data changes, and you can create as many as your targeting needs. A segment is a live definition that you never have to refresh by hand.

We find that one segment per message promise is easier to review than one broad segment shared by several campaigns. When the promise changes, you edit one definition and know exactly what it touches.

‍

How do filter groups and operators shape the audience?

Every filter sits inside a filter group. Inside a group, filters join with and or or, and the groups join the same way. That gives you logic such as (A and B) or (C and D) without leaving the editor.

The elements you meet often are summarised below.

ElementWhat it doesDocumented detail
Filter groupHolds one or more filters joined by and or orEvery filter must sit in a group
Exclusion groupRemoves users and overrides the filter groupsJoined with the and not operator
"is any of" operatorAccepts a list of valuesUp to 256 items
Segment ExtensionReaches event historyUp to 730 days back

‍

Limits like these are documented as current defaults. Check the Braze page again before you design around one.

‍

When should you avoid the OR operator?

Avoid it whenever two or more negative filters point at the same attribute. Braze documents the negative operators "not included", "is not", "does not equal" and "does not match regex". Join two of them with or on one attribute and users with all values for that attribute will be targeted.

The fix is to join those negative filters with and, or move them into an exclusion group. We would make this a review checkpoint on every segment that feeds a personalised send, because the failure is silent. The segment saves, the estimate looks plausible, and the wrong people receive a message that names something they never did.

‍

What belongs in an exclusion group?

Put in it everyone who should never see this particular message, whatever else is true of them. Braze joins exclusion groups to your filter groups with an "and not" operator, and they override segment criteria. A user who matches the exclusion is out, even if every filter group says yes.

That override is what makes personalisation safe. A "welcome back" message should skip people with an open refund. An exclusion group says so once instead of in every campaign.

Our suggestion is to build the exclusion group before the filter groups. If you start with the people you want, you tend to stop when the number looks good. If you start with the people you must not message, the audience that remains is already one you can defend.

‍

When do you need a Segment Extension?

Reach for one when the personalisation depends on behaviour further back than a standard filter looks. Braze documents that Segment Extensions let you identify users who completed a custom event or purchase event any number of times in the past two years (730 days).

Standard event property filters on purchase or custom events look back up to 30 days. A message that references a product bought sixteen months ago therefore needs an extension, while a message about last week's cart does not.

Braze describes Segment Extensions as an enhancement, not a requirement. Start with a standard segment and move up when the message demands it.

There is a default allotment of 50 active Segment Extensions per workspace at a particular time. Treat each one as something you retire when its campaign ends.

‍

Why do users on several devices complicate targeting?

Because a segment selects users, but a message may go to devices. With device-dependent filters (device model, device OS and app version), the segment contains every matching user. Those users are sent a message on all their devices, including ones that don't meet your criteria.

Segment membership is also a moment in time. A user may have been in the segment at send time and left it afterwards because of what any of their devices did. When someone asks why a person received a message they no longer qualify for, check the send time first.

For push, Braze lets you send to only the user's last used device under Additional Settings. We recommend that setting whenever the message is personal enough that two copies would look careless.

‍

How do you check segment size before you send?

Follow this order each time.

  1. Open the Reachable users panel and read the estimate. Braze calculates stats from a random sample with a 95% confidence interval that the result is within +/- 1%, so treat it as a range.
  2. Select Calculate exact statistics for any segment that is small or business critical. Very small segments can show an estimate that includes 0 when the true count is not 0.
  3. Compare the total with the channel rows. Total reachable users includes everyone who matches your filters, even if they are no longer subscribed to a channel.
  4. Add a channel filter, such as Push enabled for iOS is true, to align the total with subscribed users.
  5. Use User Lookup with a test user's external_id or braze_id to confirm the segment treats them as you expect.

‍

Estimated statistics are cached for 15 minutes unless you edit the segment. Braze also calculates exact membership before a campaign or Canvas is affected, so the send count can still be lower than the estimate you previewed. The documented causes include membership changes after the preview and users who fail channel reachability checks at send time.

‍

How does a segment connect to Liquid personalisation?

The segment decides who is eligible and the message decides what each person sees. Keep those jobs apart. If you try to make the segment carry the personalisation, you end up with dozens of near-identical segments.

For nested custom attributes, Braze offers a Copy Liquid for segment feature. It generates Liquid code for the segment that you can use in a message.

Multi-Criteria Segmentation qualifies a user if at least one object in the array matches all the criteria. That means the segment and the message can agree about which object they are talking about.

‍

What does a worked example look like?

Take a hypothetical retailer sending a replenishment reminder for a consumable product. This is an illustration with no client data and no figures.

The message promise is "you're probably running low on the product you bought". The retailer builds a filter group for buyers of that product. It uses a Segment Extension because the reorder gap is longer than a standard filter can see.

It adds an exclusion group for anyone who has already reordered, anyone with an open refund, and anyone not subscribed to the channel.

Before launch the team calculates exact statistics, because the audience is small and an estimate could include zero. They test one known customer through User Lookup, then set the push to the last used device. The segment stays named for the promise it supports, and the Liquid in the message reads the purchased product from the profile.

The point of the example is the order of decisions: promise, exclusions, history, size, device. Skipping the exclusion step is the failure we would expect first. The audience looks fine until someone receives a reminder for something they just bought.

‍

How does this connect to the rest of the programme?

Segments sit under almost everything else you build. If you want the wider view of audience design, read Segmenting Your Audience for Better Engagement in Braze. For what happens inside the message itself, see Personalization at Scale: Using Braze Liquid Tags.

Segments depend on their data, so Tracking User Events for Better Campaigns in Braze is worth reading first if your events are patchy. For common failures, read How to Avoid Common Personalization Pitfalls in Braze too. For retention use cases, see Using Segmentation for Smarter Retention Campaigns in Braze, and for resolution order, see Real-Time Personalization in Braze: What Resolves When.

If your profile data sits across several systems, our customer data management service covers identity resolution and data governance. For segmentation applied to a deliverability problem, a case study on rebuilding email sender reputation covers how engaged users were isolated and suppression rules applied.

As a Braze implementation partner, CustomerIK recommends writing the message promise, the exclusions and the exact-size check into a brief before anyone opens the segment editor. Our view is that segment errors are usually decided before the first filter is added.

‍

Frequently Asked Questions
‍

1. Does a segment update on its own?

Yes. Braze documents that segments update in real time as data changes, so membership follows the data rather than a saved list.

2. Can I target users who have never opened my app?

Braze generates profiles once users have used the app for the first time. Users who haven't opened the app yet can't be targeted through a segment.

3. Why is my estimate different from the exact count?

The estimate comes from a sample, so it can differ from the true count. Select Calculate exact statistics when the number matters.

4. What happens if I archive a segment?

Campaigns or Canvases that use it are archived too, including when it is used in a single Canvas component. Braze shows a warning listing what will be archived.

5. Can I nest a segment inside another?

Segments already using the Segment Membership filter cannot be further included or nested into other segments. Recreate the filters instead.

‍

Sources

‍

CustomerIK is a Braze implementation partner working across onboarding, technical integration, marketing operations and customer data management.

If you want a second pair of eyes on how your segments are built before the next send, let's talk.

‍

Preferences

Privacy is important to us, so you have the option of disabling certain types of storage that may not be necessary for the basic functioning of the website. Blocking categories may impact your experience on the website.

Accept all cookies
Accept all cookies

These items are required to enable basic website functionality.

Always active

These items are used to deliver advertising that is more relevant to you and your interests.

These items allow the website to remember choices you make (such as your user name, language, or the region you are in) and provide enhanced, more personal features.

These items help the website operator understand how its website performs, how visitors interact with the site, and whether there may be technical issues.

Thank you! Your submission has been received!
Oops! Something went wrong while submitting the form.