Skip to main content

Contact Segments

What it is

Contact Segments let you group profiles based on shared attributes, behaviors, or tags. A segment is a saved set of conditions that defines which profiles belong to it. Segments are dynamic by default, meaning profiles are automatically added or removed as their data changes, ensuring your audience definitions are always current without manual maintenance.

Segments are one of the most powerful features of the BotBat CDP because they connect customer data directly to action. Once you define a segment, you can use it as the target audience for campaigns, as a trigger condition in automation workflows, or as a filter in analytics reports. For example, you might create a segment called "High-value customers" that includes all profiles with a lifetime purchase value above $1,000 and at least one purchase in the last 90 days. That segment updates automatically as customers cross those thresholds in either direction.

The query builder supports combining multiple conditions using AND/OR logic, nested condition groups, and a wide range of operators depending on the property type (equals, contains, greater than, between, exists, and more). You can base conditions on profile properties, event history, session data, or existing segment membership. This flexibility makes it possible to define audiences that range from simple demographic slices to complex behavioral cohorts.

Segments list showing the Contacts Segments tab with multiple segments visible, each displaying name and profile count

Segment types

BotBat supports different segment types depending on how you want the membership to be managed.

TypeBehaviorBest for
Dynamic segmentProfiles are automatically added or removed as their data changes. The segment recalculates periodically and on relevant data updates.Ongoing campaign targeting, real-time audience definitions, behavioral cohorts that change over time.
Static segmentMembership is fixed at the time of creation or manual update. Profiles are not automatically added or removed.One-time campaign sends, compliance snapshots, audiences that should not change.
Compound segmentCombines two or more existing segments using AND/OR/NOT operators to create a derived audience without duplicating conditions.Complex targeting that reuses existing segment definitions, exclusion lists, intersection audiences.

When to use

  • Targeting a campaign audience: When you want to send a campaign to a specific subset of your contacts. For example, "Users who signed up in the last 30 days" or "Customers in the United States who have opened at least one email." Segments ensure that only the right people receive your message, and dynamic segments keep the audience current right up to the moment of send.

  • Building behavioral cohorts: When you need to create audience groups based on what customers have done rather than who they are. Behavioral segments use event conditions, such as "Contacts who clicked a promotional link in the last 7 days" or "Customers who abandoned their cart without completing a purchase." These segments are essential for re-engagement and lifecycle marketing.

  • Monitoring audience trends: When you want to track how the size and composition of a particular audience changes over time. The segment list shows the current profile count for each segment, and you can monitor growth or decline to inform your strategy.

  • Powering automation workflows: When you need a segment to serve as the entry condition for a workflow. For example, a workflow that sends a welcome series to all profiles that enter the "New subscribers" segment. The workflow triggers automatically as profiles join the segment.

  • Filtering analytics and reports: When you want to restrict a report or dashboard view to a specific audience. Segments can be applied as filters in campaign analytics and engagement reports.

Steps

  1. Navigate to Contacts: Click "Customers" in the main navigation sidebar to open the CDP module.

  2. Open Segments: Click the "Segments" tab at the top of the Contacts page. The list view shows all existing segments with their name, type, profile count, and last updated timestamp.

  3. Create a new segment: Click "New Segment" to open the segment creation dialog. Enter a descriptive name that clearly communicates the audience definition (for example, "US customers, active last 30 days" rather than "Segment 1"). Optionally add a description for your team's reference.

Segment query builder showing the New Segment dialog with multiple conditions added using AND/OR logic
  1. Define conditions: Use the query builder to add filter conditions. Select a property or event type from the dropdown, choose an operator, and enter the value. Click "Add condition" to add more rules. Use the AND/OR toggle to control how conditions combine. You can also create nested groups for complex logic.

The following table describes the most commonly used condition types:

Condition typeDescriptionExample
Profile propertyMatches profiles based on a standard or custom property value.country equals "US"
Event occurrenceMatches profiles that have (or have not) generated a specific event type.has event "purchase" in last 30 days
Event countMatches profiles based on how many times a specific event occurred.event "page_view" count greater than 10
Event propertyMatches profiles based on a property within a specific event.event "purchase" where "amount" greater than 100
Segment membershipMatches profiles that belong to (or do not belong to) another segment.is member of "VIP Customers"
Date-basedMatches profiles based on date fields relative to today.signup_date within last 7 days
  1. Preview results: Click "Preview" to see how many contacts match your segment criteria. The preview also shows a sample of matching profiles so you can verify the conditions are selecting the right audience.
Segment preview showing the contact count and a sample list of matching profiles
  1. Save the segment: Click "Save" to create the segment. Dynamic segments begin recalculating immediately and will update automatically as contact data changes. You can edit segment conditions at any time by reopening the segment from the list.

Common pitfalls

  • Overly broad segments: Segments with no conditions or very loose conditions match all or nearly all contacts, which defeats the purpose of targeting. Always add at least one meaningful filter condition. Review the preview count before saving to ensure the audience size makes sense for your use case.

  • Date filter confusion: "Last 30 days" means the last 30 calendar days from today, recalculated each time the segment updates. It does not mean 30 days from when the segment was created. This distinction matters for time-sensitive campaigns. If you need a fixed date range, use absolute date conditions (e.g., "between January 1 and January 31") instead of relative ones.

  • Segment update delay: Dynamic segments recalculate periodically rather than instantaneously. After a customer's data changes, it may take a few minutes for their segment membership to update. This is normal behavior and should be accounted for in time-critical workflows. If you need immediate evaluation, consider using rule-based triggers instead.

  • Too many overlapping segments: Creating many segments with similar but slightly different conditions leads to confusion and makes it hard to choose the right audience for a campaign. Consolidate overlapping segments when possible, and use compound segments to combine existing definitions rather than duplicating conditions.

  • Forgetting to test with preview: Always use the Preview function before saving a new segment or after editing conditions. A small syntax mistake in a condition can result in zero matches or matching the entire database. The preview is your safety net.

Segments vs. static lists

A common point of confusion is the difference between dynamic segments and static contact lists. The table below clarifies when to use each.

FeatureDynamic segmentStatic list
MembershipAutomatically recalculated as profile data changes.Fixed at the time of creation or manual update.
Use caseOngoing campaigns, workflows, and reports that need a current audience.One-time sends, compliance snapshots, or manually curated audiences.
MaintenanceZero maintenance; conditions drive membership.Requires manual additions and removals to keep current.
PerformanceRecalculation has a slight delay (seconds to minutes).Instant lookup since membership is pre-computed.
Editable conditionsYes, you can modify conditions at any time.No conditions; membership is managed by adding or removing profiles directly.

If you are unsure which to use, start with a dynamic segment. You can always export a segment to a static list later if you need a frozen snapshot.

tip

Name your segments descriptively so that anyone on your team can understand the audience at a glance. A name like "US, purchased last 90d, email opted-in" is far more useful than "Campaign segment 3." Good naming saves time when selecting audiences in campaign setup.

  • Segments
  • Segments List
  • Create Segment
  • Query Builder
  • Segment Preview