> ## Documentation Index
> Fetch the complete documentation index at: https://docs.verbose.cx/llms.txt
> Use this file to discover all available pages before exploring further.

# Segments

> Build live, rule-based audiences that keep themselves up to date.

A **segment** is an audience defined by **rules**, not by hand. Instead of adding
people to it, you describe who belongs — "clicked in the last 7 days and hasn't
converted" — and membership recalculates itself as contacts act. It's the
dynamic counterpart to a **list** (a static set you add people to). A campaign
can target either.

## Build a segment

<Steps>
  <Step title="Add conditions">
    Each condition is a **field**, an **operator**, and a **value** — e.g.
    *Total clicks · at least · 1*, or *Last replied · within last · 14 days*.
  </Step>

  <Step title="Combine with all / any">
    Conditions sit in a **group** that matches **all** of them (AND) or **any**
    of them (OR). Add more groups to express subsets like "(A and B) or C."
  </Step>

  <Step title="Preview the size">
    The builder shows how many contacts currently match as you edit, so you never
    build a campaign against an audience of zero (or of everyone). You can also
    preview over the API before saving.
  </Step>

  <Step title="Save and use it">
    Save the segment, then pick it as a campaign's audience, or **snapshot it to
    a list** to freeze the current members as a static set.
  </Step>
</Steps>

## What you can segment on

**Engagement**

| Field                                                                                                                             | Matches on                              |
| --------------------------------------------------------------------------------------------------------------------------------- | --------------------------------------- |
| Total clicks · Campaigns clicked in · Campaigns replied to · Times contacted                                                      | Counts (at least / at most / exactly).  |
| Replied to an agent · Agent conversation turns · Agent intent · Reached the agent's goal · Escalated to a human · Talked to agent | How a contact engaged with an AI agent. |

**Recency** (within last / older than N days)

| Field                                                                          | Matches on                    |
| ------------------------------------------------------------------------------ | ----------------------------- |
| Last clicked · Last replied · Last contacted · Last agent message · Date added | When something last happened. |

**Conversions**

| Field                                                                              | Matches on                                                |
| ---------------------------------------------------------------------------------- | --------------------------------------------------------- |
| Converted (any offer) · Converted on offer · Converted on vertical · Total revenue | Whether/where they converted, and how much they're worth. |

**Attributes**

| Field                               | Matches on                       |
| ----------------------------------- | -------------------------------- |
| Has tag · Source website · Opted in | Fixed properties of the contact. |

## Segments vs lists

|               | Segment                         | List                               |
| ------------- | ------------------------------- | ---------------------------------- |
| Membership    | **Rules** — recalculates itself | **Manual** — you add/remove people |
| Stays current | Yes, automatically              | Only when you edit it              |
| Best for      | "everyone who did X recently"   | a fixed, curated set               |

<Note>
  **Orphans.** A segment can include or exclude contacts who aren't on any list
  (the `accept_orphans` setting), so an audience built purely from behavior isn't
  accidentally limited to list members.
</Note>

## Snapshot to a list

Segment membership is live, which is usually what you want — but sometimes you
need a frozen set (to send to *exactly these people*, or to hand off elsewhere).
**Snapshot to list** copies the current members into a new static list, leaving
the segment untouched.

## Over the API

Build and size segments programmatically — [Create a segment](/api-reference)
(`POST /v1/segments`), [Preview a segment count](/api-reference)
(`POST /v1/segments/preview`), and [List segment members](/api-reference) — or in
natural language through the [MCP server](/mcp).
