3. Lists & segments
Contents
- Three kinds of list
- Creating a list
- Static lists — hand-picked
- Dynamic lists — rules over your contacts
- Customer Query lists — rules over your guests
- Preview — always press it
- Why the preview count and the sent count differ
- Editing and deleting lists
- A starter set of lists
Three kinds of list
A list is a named group of recipients that a campaign can point at. The type decides when the membership is worked out.
| Type | Screen label | Members are | Draws from |
|---|---|---|---|
| Static | Static List |
Fixed — the people you added | Contacts |
| Dynamic | Dynamic Tags |
Recalculated at send time from tag / custom-field rules | Contacts |
| Customer Query | Customer Query |
Recalculated at send time from visit / spend / VIP rules | POS customers |
In the Members column, Static lists show a number; the other two show "Computed at send", because there's nothing to count until you send.
Rule of thumb:
- Hand-picked group that won't change → Static
- Group defined by something you label yourself → Dynamic
- Group defined by guest behaviour (visits, spend, recency, VIP) → Customer Query
Customer Query is the one that does the heavy lifting for most restaurants, because behaviour is what you actually want to target.
Creating a list
Marketing → Lists & Segments → New List:
| Field | Notes |
|---|---|
| Name | Required. Shown when you pick recipients for a campaign — make it obvious: Lapsed 60+ days
|
| Description | Optional. Worth using for the rule in plain English |
| Type | Static / Dynamic / Customer Query. You cannot change this later |
Press Create and NX takes you straight into the right editor for that type: members for Static, rules for Dynamic, filters for Customer Query.
Type is permanent. There's no convert. If you pick wrong, create a new list and delete the old one.
Build Customer Query lists with your Enterprise selected. A Customer Query list created against a single venue resolves to zero recipients — guest records live at the Enterprise level. The other two types are fine at either level.
Static lists — hand-picked
Open Manage Members on the row (or create the list and land there).
- The header shows the live member count.
- Add Contacts opens a searchable, multi-select picker of your contacts. People already on the list are excluded from it. Tick as many as you like → Add Selected.
- Remove on a member row takes them off the list. It does not delete the contact.
- Filter members… searches within the list.
Only contacts can be added, and only from the pool that exists — if the person isn't in Contacts yet, add them there first (§2).
What Static lists are good for:
-
Team test— your own addresses, for testing every campaign before it goes out. Build this first. - Catering and private-event leads.
- Corporate accounts.
- A wine club or supper club with a fixed roster.
What they're bad for: anything that should grow by itself. If you find yourself adding people to the same Static list every week, it wants to be a Dynamic list with a tag.
Dynamic lists — rules over your contacts
Open Manage Rules. Two kinds of rule:
Tags
Add one or more tags. A contact matches if they have at least one of them — tags are an or.
wine-club + whisky-club → everyone in either club.
Type a tag and press Enter (or the +). Case doesn't matter. If you leave a tag half-typed in the box, pressing Preview or Save commits it for you rather than losing it.
Custom Fields
Key/value pairs matched against a contact's merge fields. Every custom field you list must match — these are an and.
city = Austin + birthMonth = 03 → contacts with both.
Values are compared as exact text, and the key is case-sensitive.
How the two combine
Tags and Custom Fields are combined with and. With tags wine-club and custom field city = Austin, a contact must have the wine-club tag and the Austin city field.
The panel's own hint says "Contacts matching any of the criteria below" — that's not what happens. Within the tag box it's any; between the two sections it's all. Build the rule, then Preview to confirm what you actually got.
Leave every rule empty and the list matches all contacts in scope. That's a legitimate way to build a "whole mailing list" audience — just be deliberate about it.
Customer Query lists — rules over your guests
Open Manage Filters. These run against your POS guest records at send time.
| Filter | Meaning | Example |
|---|---|---|
| Visit Count min / max | Lifetime visits | min 1, max 1 → first-timers only |
| Total Revenue ($) min / max | Lifetime spend, in dollars | min 250 → your best guests |
| Last Visit Date After / Before | Recency | Before 2026-06-06 → not seen in 60 days |
| VIP Status | Any / VIP Only / Non-VIP Only | VIP Only → invitations |
| Customer Tags | At least one tag matches | gluten-free |
Every filter you fill in must be satisfied — they're combined with and. Empty filters are ignored. All filters empty → every guest with an email address on file.
Enter revenue in dollars; NX converts. 250 means $250.00.
Notes that matter:
- Guests with no email address are skipped automatically. They can't be mailed, so they never appear in the count.
- A guest who has opted out is not skipped in the preview, but is dropped at send. See below.
- Last Visit filters need a recorded last-visit date. A guest with no visit history on file doesn't match either direction.
- Dates are plain dates. To express "hasn't been in for 60 days", work out the calendar date 60 days ago and put it in Before.
Preview — always press it
Every Dynamic and Customer Query editor has Run Preview. It shows a match count and the first ten names/emails.
Preview evaluates the rules currently on screen — including edits you haven't saved. So the loop is: change a filter → Preview → change it again → Preview → Save Filters when the number looks right.
(The small print next to the button says it runs against saved rules. It doesn't; it runs what you're looking at. That's the more useful behaviour, which is why the guide points it out rather than warning you off it.)
For Static lists, the members panel itself is the preview.
If Preview returns 0, work through §10 — the usual causes are a Customer Query list built at venue level, an over-tight and of filters, or tags that don't exist on anybody.
Why the preview count and the sent count differ
Both numbers are correct; they measure different things. The Sent figure on a campaign is normally lower than the previews you added up, for three reasons:
- De-duplication across lists. Send to three lists and anyone on more than one is counted once. Nobody ever gets two copies of the same campaign.
- Suppressions are removed at send. Unsubscribed, hard-bounced and opted-out recipients are dropped. Preview doesn't do this.
- Recipients with no email are dropped (customer-sourced only).
If the gap is large and unexplained, your list is probably full of suppressed addresses — check Contacts filtered to Unsubscribed/Bounced, and the Unsubscribes log.
Editing and deleting lists
- Edit changes the name and description. Not the type.
- Manage Members / Rules / Filters changes who's in it. Changes to a Dynamic or Customer Query rule affect every future send, including campaigns already saved as drafts and campaigns already scheduled. Editing "Lapsed 60 days" into "Lapsed 90 days" the night before a scheduled send changes who that send goes to.
- Delete removes the list. Campaigns that pointed at it keep the reference but resolve to nobody from that list — check any scheduled campaigns after deleting one.
A starter set of lists
Four lists cover most of what a single restaurant needs. Build them once, at the Enterprise level:
| Name | Type | Rule |
|---|---|---|
Team test |
Static | Your own team's addresses |
All guests |
Customer Query | No filters at all |
Active — last 90 days |
Customer Query | Last Visit After = 90 days ago |
Lapsed — 60+ days |
Customer Query | Last Visit Before = 60 days ago, Visit Count min 1
|
Then add as your marketing gets more specific:
| Name | Type | Rule |
|---|---|---|
VIPs |
Customer Query | VIP Only |
Big spenders |
Customer Query | Total Revenue min 250
|
First-timers |
Customer Query | Visit Count min 1, max 1
|
Catering leads |
Dynamic | Tag catering-lead
|
§9 Playbooks pairs each of these with a campaign worth sending to it.
The "Lapsed" and "Active" lists use a fixed calendar date, so they drift. Re-open the filter and move the date each time you run the campaign — it's a ten-second job, and the Preview count tells you immediately whether you got it right.
Next: §4 Designing emails