Subscribers & Segments

Build dynamic segments

Segments are saved filters that always reflect the current state of your subscriber list. Target the right people in campaigns and automations — automatically.

What segments are

A segment is a saved set of conditions that filters your subscriber list. Unlike a static list, a segment is dynamic — it re-evaluates at the moment you use it. When you send a campaign to a segment, Mally runs the conditions at send time and builds the recipient list from whoever matches right then.

This means a "High engagers" segment automatically includes new subscribers who have opened the last three campaigns — you do not need to manually update the list. It also means a subscriber who stops engaging will fall out of the segment without any action on your part.

Segments can be used as campaign audiences and as automation triggers (via the "subscriber enters segment" trigger — coming soon). They are scoped to a list — a segment filters subscribers within one specific list.

Creating a segment

Go to Subscribers → Segments → New Segment. Give the segment a descriptive name (you will be selecting it from a dropdown in campaign and automation settings, so clear naming helps).

Select the list this segment applies to. Then add your conditions.

Available conditions

Each condition has a field, an operator, and a value. Add as many conditions as you need.

Email field

  • Email contains / does not contain [text]
  • Email equals / does not equal [text]
  • Email domain is [domain]

Tags

  • Has tag [tag name]
  • Does not have tag [tag name]
  • Has any of [tags]
  • Has all of [tags]

Custom fields

  • Custom field [field] equals / does not equal [value]
  • Custom field [field] contains [text]
  • Custom field [field] is greater than / less than [number] (numeric fields)
  • Custom field [field] is before / after [date] (date fields)
  • Custom field [field] is empty / is not empty

Engagement

  • Opened campaign [specific campaign or any campaign]
  • Clicked in campaign [specific campaign or any campaign]
  • Has not opened any campaign in the last [N] days
  • Has not clicked in the last [N] days
  • Total opens is greater than / less than [N]

Dates

  • Subscribed before / after [date]
  • Subscribed in the last [N] days
  • Subscribed more than [N] days ago

Combining conditions (AND / OR)

When you add multiple conditions, you can choose how they combine:

  • All conditions (AND): The subscriber must match every condition. Use this for precise targeting — e.g. has tag "customer" AND opened in last 30 days AND custom field "plan" equals "pro".
  • Any condition (OR): The subscriber must match at least one condition. Use this for broader reach — e.g. has tag "lead" OR has tag "trial".

You can mix AND/OR logic by grouping conditions. Click Add group to create a condition group — conditions within a group use one logic type, and groups themselves can be combined with the other logic type. This allows complex queries like "(has tag A OR has tag B) AND (opened in last 60 days)".

Using segments in campaigns and automations

In campaigns: On the audience step, instead of selecting a full list, click Send to segment and select the segment. The estimated recipient count is shown based on the current segment result. At send time, Mally re-evaluates the segment and sends to everyone who qualifies at that moment.

In automations: The Condition step in a flow can reference a segment — if a subscriber is in segment X, route them down the Yes branch. This lets you build sophisticated flows that react to subscriber state.

Use segments for targeted resends

A common use case: create a segment of subscribers who did not open your last campaign (condition: has not opened campaign X). Send the campaign again to this segment with a different subject line 3 days later. This boosts reach without sending duplicate messages to people who already opened.