# Segments

> Segments are saved filters over your contacts. Build them from all contacts or chosen audiences, send campaigns to them or exclude them, and check your plan's segment limit. Alpha: open to the Emailit team only.

A segment is a saved filter over the contacts in your workspace, such as "Customers on the Pro plan" or "Signed up in the last 30 days". You don't add people to a segment: everyone who matches its rules is in it, and nobody else. Use segments to send a [campaign](/docs/campaigns/) to part of your contacts, or to leave people out of one.

> **Segments are in alpha:** Segments are open only to the Emailit team while we test them. See [Who can use segments](#who-can-use-segments).

## Who can use segments

During the alpha, segments are available to Emailit platform admins only. A workspace Admin role isn't enough.

| Where | Emailit team | Everyone else |
| --- | --- | --- |
| Dashboard | **Email Marketing → Segments**, segment pickers in campaigns, segment triggers in automations and segment events in webhooks | **Segments** in the menu shows **Soon** and can't be opened. The pickers are hidden, but a campaign or automation that already uses a segment still shows it. |
| API and MCP | The segments API, segment recipients and segment triggers, and the segment MCP tools | `403` with `error: "segments_alpha"` |
| API keys | None. API keys belong to a workspace, not to a person. | `403` with `error: "segments_alpha"` |

Campaigns and automations that already use a segment keep working for everyone in the workspace, and tracked segments keep updating.

## How segments work

A segment has two parts:

- **Source.** Every contact in the workspace, or only the subscribers of the audiences you choose.
- **Filters.** Groups of rules on contact fields, [custom fields](/docs/contacts/custom-fields/), audience membership, [tags and lead score](/docs/contacts/tags-and-score/), for example **Email domain** is `acme.com`, **plan** is any of `pro`, `enterprise`, or **Tags** has any of `vip`. Each group matches all or any of its rules, and the segment matches all or any of its groups. With no filters, everyone from the source is in the segment.

Emailit evaluates a segment each time it's counted, listed or sent to, so it's always current. A campaign scheduled for next week reaches whoever matches when it sends, and rules such as "created in the last 30 days" move with the date.

### Who campaigns can reach

Each segment shows two counts: **Contacts**, everyone who matches, and **Subscribed**, the part that campaigns can send to. A contact is subscribed when it isn't globally unsubscribed and is subscribed to at least one audience, any audience. Contacts that never joined an audience match segments but don't receive campaigns. Suppressed addresses are still counted, and are skipped when the campaign sends.

The **Subscription status** field uses the same rule, so **Subscription status** is `subscribed` narrows a segment to the contacts campaigns can reach.

## Create a segment

1. Go to **Email Marketing → Segments** and select **Create segment**.
2. Under **Details**, enter a **Name** and, if you like, a **Description** for your team.
3. Under **Type**, choose **Segment** or **Tracked segment**. You can't change the type later. See [Plain and tracked segments](#plain-and-tracked-segments).
4. Under **Contacts from**, choose **All contacts** or **Subscribers of specific audiences** and pick the **Audiences**.
5. Under **Filters**, select **Add condition** and choose a field, an operator and a value. Use **Add group** for another group of conditions, and switch **all** and **any** to decide how conditions and groups combine.
6. Check the **Preview**: the number of **Matching contacts**, how many are subscribed, and the **First matches**. It updates as you edit.
7. Select **Save segment**.

You can also start a segment from other pages:

- **Save as segment** on the Contacts list turns the current list filters into a segment. Filters that segments don't support are left out, and the editor lists them.
- **Create segment** in the menu of an audience page starts a segment with that audience as the source.
- **Duplicate** in a segment's row menu copies it, as a new segment.

For the full list of fields, operators and values, see [Create a segment](/docs/api-reference/segments/create/#conditions) in the API reference.

## The segment page

Select a segment on **Email Marketing → Segments** to open it. The page shows the **Contacts**, **Subscribed** and **Updated** figures, the segment's **Definition**, and the contacts who match right now, with search and filters. Contacts are listed live, so the list changes as contacts change.

From the header you can **Edit** the segment, **Create campaign** to start a campaign that sends to it, or **Delete** it from the menu.

## Send a campaign to a segment

In the campaign's **Recipients** step, pick one or more **Segments**, alone or together with **Audiences**. To leave people out, use **Exclude audiences** and **Exclude segments**. See [Create a campaign](/docs/campaigns/create/#step-1-recipients).

- **Evaluated at send time.** Emailit works out the recipients when sending starts, so contacts who match by then are included and contacts who stopped matching are left out.
- **One copy per address.** A contact in several selected audiences and segments receives the campaign once.
- **Exclusions win.** A contact in an excluded audience or segment is skipped, even if it's also in a selected one.
- **Deleted exclusions stop the send.** If a campaign excludes an audience or segment that no longer exists, Emailit doesn't send it: sending returns an error, and a scheduled campaign goes back to **Draft**. Update its recipients, then send it again.

You can't delete a segment while a scheduled or sending campaign uses it. Deleting a segment removes it from draft campaigns that send to it. Drafts that exclude it keep the exclusion and can't send until you replace it, so the people you meant to leave out never receive them.

## Plain and tracked segments

When you create a segment, you choose its type:

| | **Segment** | **Tracked segment** |
| --- | --- | --- |
| Counts, contact list and campaigns | Live | Live |
| Records who joins and leaves, and when | No | Yes |
| Starts automations on joins and leaves | No | Yes |
| Sends `segment.contact_added` and `segment.contact_removed` webhooks | No | Yes |
| **Growth** chart and **Joined** column | No | Yes |
| Plans | All | Pro, Business and Custom |

The type is fixed once the segment exists. To switch, create a new segment with the same rules. See [Tracked segments](/docs/segments/tracked/).

Automations can also check any segment, tracked or not, in an If/Else **Condition**, a goal, a **Wait until** step or an exit condition: **Segment** is in **VIP customers**. See [Condition (If/Else)](/docs/automations/steps/#condition-ifelse). A segment that an automation uses can't be deleted until you change the automation.

## Limits

Each plan includes a number of segments per workspace. Tracked and plain segments count toward the same limit.

| | Pay as you go | Pro | Business | Custom |
| --- | --- | --- | --- | --- |
| Segments | 3 | 10 | 100 | Flexible |
| Tracked segments | — | Included | Included | Included |

The Segments list shows how many you've used, for example `3/10 used`. When you reach the limit, **Create segment** and **Duplicate** are disabled until you delete a segment or [upgrade your plan](/docs/billing/plans/). The API returns `422` with the current `usage`:

```json
{
  "error": "Pay as you go includes 3 segments.",
  "message": "Pay as you go includes 3 segments.",
  "usage": { "used": 3, "limit": 3 }
}
```

If you downgrade, your segments keep working, but you can't add more until you're under the new limit. On Pay as you go, tracked segments pause. See [When tracking pauses](/docs/segments/tracked/#when-tracking-pauses).

A segment can have up to 10 groups and 50 rules, and draw from up to 100 audiences.

## Use the API and MCP

The [Segments API](/docs/api-reference/segments/) lets you [create](/docs/api-reference/segments/create/), [retrieve](/docs/api-reference/segments/get/), [update](/docs/api-reference/segments/update/), [list](/docs/api-reference/segments/list/) and [delete](/docs/api-reference/segments/delete/) segments, [list their contacts](/docs/api-reference/segments/contacts/), [preview](/docs/api-reference/segments/preview/) a definition before saving it and [list the fields](/docs/api-reference/segments/fields/) rules can use. The API needs an API key with **Full Access**.

```bash
curl https://api.emailit.com/v2/segments \
  -X POST \
  -H "Authorization: Bearer $EMAILIT_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "name": "Acme team",
    "conditions": { "rules": [{ "field": "email_domain", "operator": "equals", "value": "acme.com" }] }
  }'
```

To send a campaign to a segment, add `{ "segment_id": "seg_…" }` to its `recipients` with [Update a campaign](/docs/api-reference/campaigns/update/), or `{ "segment_id": "seg_…", "exclude": true }` to exclude it.

On the [MCP server](/docs/mcp/), the `segments` toolset has the same operations, so an AI assistant can build and check segments for you. See [Toolsets](/docs/mcp/toolsets/).

## Next steps

  - [Tracked segments](/docs/segments/tracked/): Record joins and leaves and start automations.
  - [Create a campaign](/docs/campaigns/create/): Send to segments and exclude others.
  - [Custom fields](/docs/contacts/custom-fields/): Store the data your rules filter on.
  - [Segments API](/docs/api-reference/segments/): Every segment endpoint.

---
Source: https://emailit.com/docs/segments/
