Audiences and segments
Before you send anything, you pick who receives it. A segment is a named filter over the contacts in one contact schema. You describe the audience you want in plain language, and maxinja builds the condition behind it.
A segment evaluates the current customer data each time it is used. Its membership can change as those records change, so a saved audience is not a frozen list. The campaign still applies sending eligibility and consent checks.
Segments filter contacts
Each segment targets one contact schema. Segments filter contacts only, not objects or events. Think of the schema as a table and the segment as a saved filter on its rows.
Describe it, maxinja builds it
You do not stack dropdowns or write a formula. You write a requirement in plain language and maxinja generates the condition:
- Contacts who signed up in the last 30 days but have not placed an order.
- Paying customers whose company has more than 100 employees.
A condition can use evaluated attributes, which reach into related records. So a segment can filter on data you never stored on the contact, like "contacts whose company is in the Tech industry." A segment can also build on another segment, and maxclicks stops you deleting a segment that another one depends on.
Read the description, not the code
Each segment keeps three things: the requirement you wrote, a readable description of the condition maxinja built from it, and the logic itself. The logic stays on maxclicks servers and is never sent to your browser or the API. You confirm a segment by reading its description, not by reading code.
Before you save, the preview shows a count and a searchable table of matching contacts. Check a known inclusion, a known exclusion and a missing-data case. Counts refresh with the first page of a new listing request and are reused while you page; the table is not a frozen audience snapshot.
For a rule based on a computed attribute, inspect Data through on its published result. Empty history is not zero and refreshing the segment does not rerun the background calculation. Tell maxinja how the audience should treat missing values.
Defining a segment always goes through maxinja, and each generation consumes credits. There is no manual rule builder.
Where segments plug in
A saved segment is a reusable audience definition. Each consuming feature applies it at its own point in the lifecycle; a broadcast seals its selected audience for that send rather than continuously adding later matches.
| Feature | The segment becomes |
|---|---|
| Broadcast | Candidate audience; consent, destination deduplication, suppressions and delivery checks still apply. |
| Workflow trigger | A narrowing, so a run starts only for matching contacts. |
| Workflow step | A filter on a find-records step. |
| Webhook | A filter on contact and email-event triggers. |
Anywhere you can reference a segment, you can also describe a one-off condition inline instead. Saving it as a segment is what makes the same audience reusable across features.
Next
With the audience settled, the next question is what you send them and how one email personalizes for every contact in the segment. For the full feature detail, see the segments reference.
Designing and personalizing email