Segments
A segment is a reusable definition of who qualifies for a customer decision. Describe the behavior, time window and exclusions; maxinja generates the condition, and you inspect both its explanation and the matching contacts before using it.
A segment selects contacts from one schema. It can use related objects, ready business events, evaluated relationships and published customer measures as context. It is a live query when used, not a permanently stored list of members.
Start with the customer decision
For a repeat-purchase campaign, define the action and its evidence:
Customers with at least two completed Orders, joined by Order.customerId to Customer.userId, whose latest purchasedAt was at least 14 days ago. Exclude canceled orders and contacts without an email address.
This requires those schemas and fields to exist. State what “completed,” “recent” or “active” means in your own data. For money, specify currency and whether refunds count. For dates, specify which timestamp and time window you intend.
Matching a segment does not establish delivery eligibility. Channel subscriptions, topics, suppressions and email validity still matter when a message is sent. The segment count is not a promise of that many deliveries.
Create a segment
Open Segments → Create segment. Give it a unique Name, an optional Description explaining its purpose, and a Contact schema when more than one exists. The contact-schema choice becomes fixed once the generated condition is attached.
Describe the audience and generate the condition. The form shows:
- A readable description of the generated filter.
- What you asked maxinja, preserving the requirement used to generate it.
- A count and share of contacts, plus a searchable, paginated preview.
Review the result, refine it if needed, generate the refinement and choose Create segment. If you change your intended audience, make sure the new instruction has been generated; saving the name does not reinterpret an unsubmitted prompt.
Describe it well
Use actual fields and relationships. “High-value customers” leaves the measure undefined. “Customers with completed purchase amount above 500 EUR in the last 30 days” gives the generation a concrete rule to implement.
Explain missing values. A computed purchase count with no matching history is empty rather than zero. If your audience means “no observed purchase,” ask how empty and zero should be treated rather than assuming they match the same comparison.
When reusing a saved segment, name it and state the extra condition. maxclicks tracks the resulting dependency so a source segment cannot disappear unnoticed. A saved segment also makes a shared definition visible to the rest of your team.
Read the summary, not the code
The generated expression remains on maxclicks servers. The description, count and sample contacts are your review surface. Check a known inclusion and exclusion, not only the total. Open a contact and inspect the fields that explain why they qualify.
Search narrows the displayed members; it does not rewrite the saved segment. Counts are refreshed with the first page of a new listing request and reused while paging. The table is not a frozen snapshot, so records changing between requests can affect subsequent pages.
For a segment using a computed attribute, check that attribute's published status and Data through timestamp. Refreshing the segment preview does not recalculate the attribute's event history. A delayed source calculation can leave an older published value in use.
What it costs
Generating or refining a condition uses AI credits. Running the saved filter is a data query, not another generation call. Changing only a label does not require generating a new condition.
If generation fails, read the error and check the selected schema, available fields and credits. If counting fails, treat Unable to count contacts as an unresolved check; it does not mean zero contacts match.
Change a segment later
Open the segment, edit its name or description, or generate a refined audience condition. Review the count and sample, then Apply.
Generated logic can depend on another segment's exact definition. Those references can lock a source segment's filter against rewriting. A segment merely selected as an audience may still be editable while deletion remains blocked. Integration-owned segments are managed by their integration.
When dependencies prevent a changed meaning, create a new segment and deliberately move the consuming campaign or workflow to it. A display-name change is not a migration of the audience rule.
Where you use a segment
- Broadcasts: select a reusable audience for a send.
- Workflows: narrow a record trigger or find-records operation.
- Webhooks: restrict contact-related delivery to matching records.
A segment can change between previews and send preparation. A broadcast then seals its selected audience for that send; later changes to segment membership do not continuously add new recipients. See Large audiences.
Saving a segment alone does not start a journey every time someone enters it. Choose an appropriate published workflow trigger. In particular, a Trait Threshold trigger reacts to transitions in published computed values with its own baseline rules.
Delete a segment
Use its row menu to delete it. References from audiences, attributes, workflows or webhooks can block deletion; the error identifies what needs attention. Integration-owned segments cannot be deleted manually.
Deleting the segment definition does not delete the contacts it selected.
Who can do what
Creating, changing and deleting segments requires workspace write access. Workspace members can view the audience definition and inspect its contacts according to their access.
Related
- Contacts: identity, communication preferences and record inspection.
- Evaluated attributes: reusable relationships and on-demand calculations.
- Computed attributes: published measures, empty values and freshness.
- Segments API: the supported generation, counting and listing operations.