Building Segments
Segments let you define audiences based on contact properties and behavior. Once created, a segment can be attached to flows to control who enters, used to filter analytics, or browsed to understand your contact base.
Creating a Segment
- Go to Segments in the dashboard sidebar.
- Click Create Segment.
- Give your segment a name and optional description.
- Add one or more filters (see below).
- Preview the matching contacts.
- Click Save.
Adding Filters
Filters define the criteria that contacts must match to be included in the segment. Each filter has three parts:
| Part | Description | Example |
|---|---|---|
| Field | The contact property or behavior to check | product_type, properties.country, email |
| Operator | How to compare the field | is, contains, greater_than |
| Value | What to compare against | Standard, Singapore, 100 |
Standard Contact Fields
These are fields available on every contact:
| Field | Description |
|---|---|
email | Contact's email address |
first_name | First name |
last_name | Last name |
phone | Phone number |
product_type | Product category (e.g., Standard, Premium) |
subscription_status | Email subscription status (subscribed, unsubscribed, complained) |
created_at | When the contact was first created |
Custom Properties
Your contacts may also have custom properties stored in their profile. Access these by prefixing with properties.:
properties.countryproperties.languageproperties.planproperties.onboarding_status
The available custom properties depend on what data your application sends with events.
Filter Logic: All vs Any
When you have multiple filters, you need to choose how they combine:
All (AND Logic)
Every filter must match. The contact must satisfy all conditions to be included.
Example: Contacts who are subscribed AND in Singapore AND on the Standard product:
| Filter | Operator | Value |
|---|---|---|
subscription_status | is | subscribed |
properties.country | is | SG |
product_type | is | Standard |
Any (OR Logic)
At least one filter must match. The contact is included if any condition is true.
Example: Contacts who are on Standard OR Premium:
| Filter | Operator | Value |
|---|---|---|
product_type | is | Standard |
product_type | is | Premium |
For most segments, "All" (AND) logic is the right choice. Use "Any" (OR) when you want to combine contacts from different groups into one segment.
Exclusion Rules
Exclusion rules let you remove specific groups from a segment, regardless of whether they match the inclusion filters. This is useful for preventing certain contacts from receiving communications.
- After adding your inclusion filters, click Add Exclusion Rule.
- Configure the exclusion filter (same field/operator/value pattern).
- Any contact matching an exclusion rule is removed from the segment, even if they match all inclusion filters.
Example: All subscribed contacts in Singapore, EXCEPT those on the Premium or Unsub product:
- Inclusion:
subscription_statusissubscribedANDproperties.countryisSG - Exclusion:
product_typeinPremium, Unsub
Previewing Contacts
Before saving, you can preview how many contacts match your segment:
- Click Preview or Evaluate to see the current match count.
- Click View Contacts to browse the list of matching contacts.
- Adjust your filters if the count is too high or too low.
The preview shows the current count at the time you click. For dynamic segments, this count is recalculated automatically on a regular schedule (typically hourly).
Behavioral Filters
In addition to property-based filters, you can filter contacts based on their event history:
| Operator | Description | Example |
|---|---|---|
has_executed | Contact has performed this event at least once | has_executed purchase_complete |
has_not_executed | Contact has never performed this event | has_not_executed onboarding_complete |
These are powerful for targeting contacts based on what they have or haven't done, not just who they are.
Example: Contacts who signed up but never completed onboarding:
| Filter | Operator | Value |
|---|---|---|
subscription_status | is | subscribed |
Event: onboarding_complete | has_not_executed | -- |
Estimating Segment Size
Before saving a segment, you can estimate how many contacts would match your current filters:
- After configuring your filters and exclusion rules, click Estimate.
- The builder shows the total matching count and a per-rule breakdown, so you can see which individual filters are the most or least restrictive.
- Adjust your filters based on the counts until you have the right audience size.
This runs a lightweight count query without creating the segment, so you can iterate quickly.
Archiving and Unarchiving
If you have segments you are not currently using but want to keep for later, archive them instead of deleting:
- Open the segment you want to archive.
- Click Archive.
- The segment is hidden from the default list view but still exists.
To find archived segments, toggle the Show Archived filter on the Segments list page.
To restore an archived segment:
- Find the segment in the archived list.
- Click Unarchive.
- The segment returns to the active list and can be used in flows again.
Archiving is reversible. Deleting is permanent. When in doubt, archive.
Duplicating a Segment
To create a new segment based on an existing one:
- Open the segment you want to copy.
- Click Duplicate.
- A new segment is created with the name "Original Name (copy)" and the same filters, exclusion rules, and tags.
- Edit the duplicate to adjust the filters for your new use case.
Membership History
Synapse records the segment size each time it is evaluated, creating a trend over time. To view the membership history:
- Open a segment.
- Look at the Membership Trend graph.
- The graph shows how the contact count has changed over the selected time range (up to 365 days).
This is useful for understanding whether your audience is growing, shrinking, or stable.
Segment Usage
To see which flows currently reference a segment:
- Open the segment.
- Check the Used By section, which lists all flows that target this segment along with their status (active, draft, paused).
Before deleting or significantly changing a segment's filters, check its usage. Active flows that depend on the segment will be directly affected.
Using Segments in Flows
Once you've created a segment, you can attach it to any flow:
- Open the flow you want to restrict.
- In the flow settings, open the Segment dropdown.
- Select your segment.
Now, only contacts who match the segment will enter the flow -- even if the trigger event fires for other contacts.
Next Steps
- See the full list of Filter Operators
- Learn Best Practices for organizing and naming segments
Looking for the API?
If you prefer to create and manage segments programmatically, see the Segments API Reference.