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

# Engagement Segments

> Build audiences from real engagement — opened, clicked, or received — not just sends.

## Overview

The segment editor in **Contacts → Segments** supports engagement-based filters alongside the usual tag, status, and custom-field filters. Pick an action — **Received**, **Opened**, or **Clicked** — and a time mode to express things like *"clicked any email in the past 14 days"* or *"never opened"*.

Engagement segments refresh automatically as new opens and clicks come in, so an audience like *"VIP non-openers"* always reflects who's quiet right now.

***

## What You Can Express

| Action   | Mode               | Reads as                        |
| -------- | ------------------ | ------------------------------- |
| Received | in past N days     | "Got an email from us recently" |
| Opened   | in past N days     | "Engaged recently"              |
| Opened   | not in past N days | "Was engaged but went quiet"    |
| Opened   | never              | "Never engaged at all"          |
| Clicked  | in past N days     | "High-intent recently"          |
| Clicked  | never              | "No click in their history"     |

Each row has an **action**, a **mode** (in past, not in past, or never), and — for the time-bound modes — a duration in **days** or **hours**.

You can stack multiple engagement rows in the same segment. Combined with tags, status, and custom fields, you can express things like *"Tagged VIP, subscribed, opened in past 30 days, has not clicked in past 30 days"* — your high-intent-but-not-converting cohort.

Segments created from Migma's AI or API can also scope **Opened** and **Clicked** to a specific campaign. For example, you can target contacts who received a launch campaign but did not click it. Campaign-scoped filters use the campaign recipient log, so Migma only targets recorded recipients and fails clearly when the campaign activity is no longer retained.

***

## Common Recipes

<CardGroup cols={2}>
  <Card title="Re-engagement" icon="wand-sparkles">
    **Subscribed, received in past 90 days, not opened in past 60 days.**

    A win-back campaign target — they're still subscribed and getting your sends, but they've stopped engaging.
  </Card>

  <Card title="VIP outreach" icon="crown">
    **Tagged VIP, opened in past 14 days.**

    Recent openers from your top tier — high-intent, ready for an offer.
  </Card>

  <Card title="Cold list" icon="snowflake">
    **Subscribed, never opened.**

    Contacts who've stayed on your list but never engaged. Good for a final last-chance email before you suppress.
  </Card>

  <Card title="Recent clickers" icon="hand-pointer">
    **Clicked in past 7 days.**

    Hot prospects across all tags — try a follow-up sequence.
  </Card>
</CardGroup>

***

## How It's Tracked

Migma updates each contact's last-received, last-opened, and last-clicked timestamps from the open and click pixels embedded in your sent campaigns. There's no separate setup — engagement segments work automatically once a campaign goes out and recipients start interacting with it.

<Note>
  Open tracking depends on the recipient's email client loading images. Some clients (Apple Mail Privacy Protection, corporate mail gateways) pre-fetch every image, which can inflate open counts. Migma filters known bot opens from analytics — see [Bot Protection](/changelog#bot-protection) — but the engagement filter uses raw timestamps so it stays inclusive. Use **Clicked** when you want a higher-confidence signal.
</Note>

***

## Limits

* Time windows accept **1–365 days** or **1–8760 hours**.
* Campaign-scoped filters are supported for **Opened** and **Clicked** while the campaign recipient log is retained.
* Segments cap at **100,000 matching contacts** for live count display — larger audiences show as `>100K` and still send normally.
* Engagement membership refreshes on each access, so a segment opened twice five minutes apart may differ if a recipient just opened an email in between.

***

## Related

<CardGroup cols={2}>
  <Card title="Manage Contacts" icon="user-plus" href="/audience/manage-contacts">
    Add tags and custom fields you can combine with engagement filters.
  </Card>

  <Card title="Track Campaign Results" icon="chart-line" href="/campaigns/track-results">
    See per-campaign open and click rates that feed these segments.
  </Card>
</CardGroup>
