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

# Segments

> Build the audience you want to talk to — with a rule builder or by simply describing it in your own words — then publish it so campaigns can use it.

A **segment** is a saved list of customers, defined by rules rather than by hand. "Customers with at least 2 visits who haven't come in 3 months" is a segment. Once published, you can reuse it for as many campaigns as you like, and it recalculates itself every time.

**Where:** left sidebar → **Marketing** → **Segments** tab.

<Frame caption="The Segments tab. The list on the left, the editor on the right.">
  <img src="https://mintcdn.com/eatnow/5x7LGoI0C2epW1cz/images/screenshots/marketing-segments-list-en.png?fit=max&auto=format&n=5x7LGoI0C2epW1cz&q=85&s=39ef0707f68611539b19aff58b382ae9" alt="The Segments list in the Marketing Suite" width="1440" height="900" data-path="images/screenshots/marketing-segments-list-en.png" />
</Frame>

## Create a segment

<Steps>
  <Step title="Click Create segment">
    Top-left of the Segments list. The **New segment** editor opens.
  </Step>

  <Step title="Name it and pick a channel">
    In the **Segment settings** card, fill in **Name** (required) and, optionally, **Description**. Then choose the **Channel**:

    | Channel          | Who ends up in the segment                     |
    | ---------------- | ---------------------------------------------- |
    | **All channels** | Everyone matching your rules, reachable or not |
    | **Email**        | Only customers who have an email address       |
    | **WhatsApp**     | Only customers who have a phone number         |

    <Tip>Pick the channel you intend to send on. It keeps the preview count honest — there's nothing worse than an audience of 800 that turns into 210 at launch.</Tip>
  </Step>

  <Step title="Write the rules">
    In the **Segment builder** card, use the **Manual Editor** or the **AI Editor** — both are covered below.
  </Step>

  <Step title="Check the live preview">
    On the right, **Live preview** updates as you type: how many contacts match, and a sample of them with their email, phone, language and visit count. If it says 0, your rules are too narrow.
  </Step>

  <Step title="Save draft">
    The **Save draft** button appears as soon as you change something. A draft is saved but **not usable by a campaign yet**.
  </Step>

  <Step title="Publish">
    Click **Publish**. This creates version **v1** (then v2, v3… on each republish). Campaigns can only select published segments.
  </Step>
</Steps>

## The manual editor

<Frame caption="The manual rule builder, with the live preview on the right.">
  <img src="https://mintcdn.com/eatnow/5x7LGoI0C2epW1cz/images/screenshots/marketing-segment-editor-en.png?fit=max&auto=format&n=5x7LGoI0C2epW1cz&q=85&s=9be3d11d7efad4e45a364c91f8777f68" alt="The segment rule builder with a live audience preview" width="1440" height="900" data-path="images/screenshots/marketing-segment-editor-en.png" />
</Frame>

A segment is a tree of **rules** grouped inside **groups**.

* A **rule** is one condition: *field* + *operator* + *value*. Example: `Number of visits` — `Greater than or equal` — `2`.
* A **group** joins its children with **AND** (all conditions must match) or **OR** (any one is enough).
* The **NOT** toggle inverts a whole group: it targets customers who do **not** match what's inside.
* Use **+ Rule** to add a condition to a group, **+ Group** to nest a sub-group.

<Note>
  Limits: **50 rules** maximum and a nesting **depth of 4**. The two grey badges above the builder (`1/50 rules`, `Depth 2/4`) always show where you stand.
</Note>

### A worked example

Target *regulars who haven't come back recently*:

```
ROOT GROUP — AND
├── Number of visits          Greater than or equal   3
└── Last visit date           Older than N days       90
```

Now target *regulars who haven't come back recently, and either speak French or booked by phone*:

```
ROOT GROUP — AND
├── Number of visits          Greater than or equal   3
├── Last visit date           Older than N days       90
└── GROUP — OR
    ├── Language              Equals                  FR
    └── Reservation source    Equals                  Phone
```

## The AI editor

Don't want to assemble rules by hand? Open the **AI Editor** tab, describe your audience in plain language, and click **Generate rules**.

<Frame caption="Describe the audience in your own words; the rules are written for you.">
  <img src="https://mintcdn.com/eatnow/5x7LGoI0C2epW1cz/images/screenshots/marketing-segment-ai-en.png?fit=max&auto=format&n=5x7LGoI0C2epW1cz&q=85&s=61ec17a8d09e367dab6817e1307061cb" alt="The AI editor for building segments from a description" width="1440" height="900" data-path="images/screenshots/marketing-segment-ai-en.png" />
</Frame>

Things that work well:

* *"VIP clients who visited in the last 30 days and speak French"*
* *"Customers with more than 2 no-shows"*
* *"People who have never come but gave us their email"*
* *"Customers who spent more than 500 in total, tagged Birthday"*

Once generated, you land back on the **Manual Editor** with the rules filled in. **Always read them before publishing** — the AI is good, not infallible, and you're the one who knows what you meant.

<Warning>
  If your request can't be turned into rules (it asks for data EatNow doesn't have, or it's not about audience selection), you'll get a short message explaining why instead of a broken segment. Rephrase and try again.
</Warning>

## Available fields

| Field                      | Type   | Typical use                                                |
| -------------------------- | ------ | ---------------------------------------------------------- |
| **Name**                   | Text   | Rarely useful on its own                                   |
| **Email**                  | Text   | `Is filled` / `Is empty` to check reachability             |
| **Phone number**           | Text   | Same, for WhatsApp                                         |
| **Country**                | List   | Target one country or a group of countries                 |
| **Language**               | List   | EN, FR, ES, DE, IT, PT                                     |
| **Tags**                   | List   | Your own customer tags (VIP, Allergy, Press…)              |
| **Custom note**            | Text   | The free note on the customer file                         |
| **Number of visits**       | Number | Loyalty                                                    |
| **Confirmed reservations** | Number | Reliability                                                |
| **No-shows**               | Number | Exclude repeat no-shows                                    |
| **Total amount paid**      | Number | Value of the customer                                      |
| **Average basket**         | Number | Spend per visit                                            |
| **Last visit date**        | Date   | Win-backs, "we miss you"                                   |
| **Customer since**         | Date   | New customers, anniversaries                               |
| **Reservation source**     | List   | Website, Phone, Instagram, WhatsApp, Google Business Link… |
| **Reservation status**     | List   | Arrived, No-show, Seated, Confirmed, Cancelled…            |
| **Reservation date**       | Date   | People who booked a specific period                        |

<Note>
  Your own **customer custom fields** also appear in the list, below the standard ones, with their own name. If you've created a "Favourite table" or "Wine club" field, you can segment on it.
</Note>

## Available operators

Which operators you get depends on the field type.

| Operator                                   | Meaning                                     |
| ------------------------------------------ | ------------------------------------------- |
| Equals / Does not equal                    | Exact match                                 |
| Contains / Does not contain                | Text contains the value                     |
| Starts with / Ends with                    | Text prefix / suffix                        |
| Greater than / Less than                   | Numbers                                     |
| Greater than or equal / Less than or equal | Numbers, inclusive                          |
| Between                                    | Number range (two values)                   |
| In list / Not in list                      | Several accepted values                     |
| Is empty / Is filled                       | The field has no value / has one            |
| Before date / After date                   | Dates                                       |
| Between dates                              | Date range (two values)                     |
| Within last N days                         | Rolling window — recalculated at every send |
| Older than N days                          | The opposite — the win-back operator        |

<Tip>
  Prefer **Within last N days** and **Older than N days** over fixed dates. A segment written with "last 90 days" stays correct forever; one written with "before 12 March" quietly rots.
</Tip>

## Two exclusions you never have to write

Whatever your rules say, EatNow always removes:

1. **Blacklisted customers** — the preview shows a `Blacklisted contacts excluded` badge to remind you.
2. **Incomplete WhatsApp contacts** (draft records that aren't real customers yet).

Unsubscribes and bounced addresses are removed too, but *at launch time* rather than in the segment — see [Quota & deliverability](/marketing/deliverability).

## Statuses and versions

| Status        | Meaning                                                     |
| ------------- | ----------------------------------------------------------- |
| **Draft**     | Saved, still being worked on. Not selectable in a campaign. |
| **Published** | Has at least one published version. Campaigns can use it.   |
| **Archived**  | Kept for the record, no longer usable for new campaigns.    |

Each **Publish** creates a new version. The **Version history** card at the bottom of the editor lists them with their date and channel.

<Warning>
  Editing a published segment changes the **draft** only. The change reaches campaigns when you press **Publish** again — and never touches campaigns that were already launched.
</Warning>

## Archive or delete

Both buttons sit at the top-right of the editor.

* **Archive** keeps the segment and its history, but takes it out of circulation. Reversible in spirit: nothing is lost.
* **Delete** removes it permanently. Use it for mistakes and test segments only.

## Next step

<CardGroup cols={2}>
  <Card title="Prepare your template" icon="mail" href="/marketing/templates">
    Your segment is ready — now write the message.
  </Card>

  <Card title="Create a campaign" icon="send" href="/marketing/campaigns">
    Put the segment and the template together and send.
  </Card>
</CardGroup>
