Segments
Segments divide a campaign's audience into named groups so each group can receive different email copy, personalization, and targeting - the core tool for sending relevant outreach at scale.
Overview
A segment is a named sub-group of contacts inside a campaign. Instead of sending one message to everyone, you split the audience into segments and configure separate email sequences and AI personalization for each group.
Every campaign always has one default segment that catches all contacts not assigned to a specific group. On top of that you can create additional segments using one of three modes:
- AI Segments - the platform proposes audience groups based on a description of your ideal customer. AI assigns each contact to a matching segment when the campaign runs.
- Manual Segments - you build a precise filter using 40+ contact and company fields. Matching contacts are moved into the segment immediately when you save.
- A/B Testing - split ready contacts into named percentage buckets to test different messaging approaches.
To reach segments, open a campaign and click the Actions tab. The three segment panels appear under the Segmentation group in the left sidebar: AI Segments, Manual Segments, and A/B Testing.
Before you start
- You need at least one campaign with contacts imported. Segments divide an existing contact list - they do not source new contacts.
- Contacts must be imported before manual segment filters can be previewed or applied.
- To launch, A/B test percentages must total exactly 100%. Campaigns will not activate until this condition is met.
How to set up segments
Use the default segment
Every campaign has a default segment automatically. You do not need to create it. All contacts start in the default pool, and any contact not matched by a named segment stays there.
On the AI Segments panel you can add an Audience description - a short description of your ideal customer - to the default segment. This description feeds into AI personalization for contacts that stay in the default group.
You cannot deactivate or delete the default segment.
Set up AI Segments
- Open the campaign, click the Actions tab, then click AI Segments in the sidebar.
- In the Audience description field, describe your ideal customer. Example: "Marketing Directors at B2B SaaS companies with 10-1000 employees."
- Review the segment list below. Each segment shows a name and an optional description. Toggle a segment on or off using its checkbox.
- To add a new segment, type its name in the Type a custom segment... field and optionally add a description. Press Enter or click the plus button to create it.
- If you want AI to process all contacts without splitting them, check No segments - process all contacts.
- Click Save Segments to persist your changes.
AI assignment happens when the campaign runs, not at save time. The AI reads each contact's profile and the segment descriptions and assigns the contact to the best-matching group.
Set up Manual Segments
Manual segments use rule-based filters to move contacts into the segment immediately. They are good for precise, deterministic splits - for example, separating VPs from Directors, or US contacts from everyone else.
- Open the Actions tab and click Manual Segments in the sidebar.
- Click Add Segment to create a new segment row.
- Type a name in the Segment Name field.
- Click the filter icon next to the segment name to open the Choose Filters dialog.
- Fill in only the fields that matter. Empty fields are ignored. Fields are organized into groups (contact attributes, email attributes, company attributes).
- Click Save Filters to apply the filters to the segment draft.
- Click Save Segments to persist all segments and apply the filters. Matching contacts are moved into the segment immediately.
To delete a segment, click its trash icon and confirm the dialog. Its filters are removed and contacts return to the default pool.
Filter logic
- Fields are combined with AND logic - every filled field narrows the result further.
- Values within a single field are combined with OR logic. Setting Titles to "VP, Director" matches contacts with either title.
- Filters can only be saved on Manual segments. Trying to add a filter to an A/B segment or an AI segment will be rejected.
Set up A/B Testing
A/B testing splits contacts into named percentage buckets. Each bucket can receive a different email sequence to compare results.
- Open the Actions tab and click A/B Testing in the sidebar.
- The panel shows a list of buckets. Each row has a name field and a percentage field.
- Type a name in the name field (for example: "Bucket A").
- Enter a percentage (for example: "50").
- Click Add Segment to add more buckets.
- Adjust percentages until the Total counter at the bottom shows 100% in blue. The campaign cannot launch until this total is exactly 100.
- Click Save Segments.
To remove a bucket, click its trash icon. If the bucket has a name or percentage already set, a confirmation dialog appears before removing it. Contacts assigned to the removed bucket are unassigned.
How it works
When you save Manual Segments, the platform immediately evaluates the filter criteria against the campaign's contact list and moves matching contacts into the segment. The filter runs as a single database query across all active criteria - no contacts are loaded into memory to be filtered. Contacts can only move between segments within the same campaign; they cannot leak into another campaign.
Each campaign is guaranteed to have exactly one default segment at all times. The system enforces this at the database level. A segment's name must be unique within its campaign - names are compared after trimming, collapsing extra whitespace, and converting to lowercase, so "Fintech Founders" and "fintech founders" are treated as the same name.
When you delete or deactivate a Manual Segment, the contacts that were in that segment are returned to the default pool. You cannot delete or deactivate the default segment, and you cannot deactivate the last remaining active segment in a campaign.
For A/B Testing, the split happens at launch time when ready contacts are distributed across the buckets according to the percentages you set.
Cross-campaign segment imports (copying a segment from one campaign to another) reserve the segment and import contacts in batches. If the import fails partway through, the platform rolls back the partial import automatically so a retry can proceed cleanly.
Contact counts: the default segment's count includes both contacts explicitly assigned to it and contacts that have not yet been assigned to any segment. Named segment counts include only their explicitly assigned members.
Troubleshooting & debugging
Symptom: Manual segment shows 0 contacts after saving
- Likely cause: the filter criteria do not match any contacts in the campaign.
- What to check: re-open the segment's Choose Filters dialog and review each active field. Verify that the contacts in the campaign actually have the values you are filtering on (check the Leads tab for a sample). Check whether an AND combination is too narrow - try relaxing one field at a time to see which criterion eliminates all contacts.
Symptom: "A segment with this name already exists in this campaign" error
- Likely cause: a segment with the same name (ignoring case and extra spaces) already exists in this campaign, even if it was recently deleted.
- What to check: soft-deleted segments free their name slot immediately. If the error persists after a recent deletion, wait a moment and retry. If the error appears on create, check the current segment list for a name that normalizes to the same value (for example, "Fintech Founders" with two spaces vs "Fintech Founders").
Symptom: "Filter criteria can only be saved on Manual segments" error
- Likely cause: you are trying to apply structured filters to an AI Segment or an A/B test bucket.
- What to check: filters are only supported on Manual segments. Switch to the Manual Segments panel to use filter-based targeting.
Symptom: A/B Testing - "Must total 100% to launch" warning persists
- Likely cause: the sum of all bucket percentages is not exactly 100.
- What to check: the Total counter below the bucket list shows the current sum in red when it is not 100. Adjust bucket percentages until the total turns blue. Note: the field accepts only whole numbers.
Symptom: Segment contact count differs between the Analytics tab and the Sequence tab
- Likely cause: Analytics shows total contacts assigned to the segment; Sequence shows only contacts that are "ready" (enriched, verified, and eligible to receive emails). These are two different counts and it is expected for them to differ.
- What to check: a large gap between the two numbers typically means contacts are still being enriched or have failed verification. Check the campaign's Leads tab for status details.
Symptom: AI Segments - contacts are not assigned to segments after the campaign runs
- Likely cause: the AI segmentation step requires both an audience description and at least one active named segment.
- What to check: open AI Segments and verify that the Audience description field is filled in and that at least one segment is checked. If No segments - process all contacts is enabled, contacts are intentionally not split.
Symptom: Import from another campaign failed and the segment is missing
- Likely cause: the cross-campaign import failed partway through and was rolled back.
- What to check: the failed import cleans up its reservation automatically, freeing the segment name. Retry the import. If it fails again, check whether the source campaign still exists and has accessible contacts.
FAQ
Can I use AI Segments and Manual Segments together in the same campaign? Yes. They are independent panels and can both be active at once. Contacts matched by a Manual Segment filter are moved into that segment immediately on save. AI Segments assign remaining contacts at campaign run time based on AI matching.
What happens to contacts in a segment I delete? Contacts in a deleted Manual or AI segment are returned to the default segment pool. They are not removed from the campaign.
Can I rename a segment? Yes. For Manual Segments and A/B test buckets, edit the name field directly and click Save Segments. For AI Segments, click the segment's name field in the AI Segments panel, edit it, and click Save Segments.
Why is my filter being rejected with a range error? Manual segment filters validate that numeric ranges have a minimum that is less than or equal to the maximum (for example, headcount min must be less than or equal to headcount max). If the range is inverted - minimum larger than maximum - the filter is rejected at save time rather than silently returning zero results.
Do filters run in real time as I edit them? No. Filters are applied when you click Save Segments. The Choose Filters dialog lets you build and review criteria before saving. After save, the platform runs the filter against the campaign's contact list and moves matching contacts into the segment.
Can two segments in the same campaign have the same name? No. Segment names must be unique within a campaign. Names are compared after trimming whitespace and converting to lowercase, so "Fintech Founders" and "fintech founders" are treated as duplicates.