Audience
Last updated on 2026-08-27
The audience system provides comprehensive subscriber management with segmentation, tagging, list organization, growth tools, import capabilities, and suppression management.
Subscriber List (/audience/subscribers)
The subscriber list is the central hub for managing your audience.
Features
- Search -- search by email, first name, or last name
- Status filtering -- filter by active, subscribed, unsubscribed, bounced, or complained
- Engagement tiers -- visual indicators for hot, warm, and cold subscribers
- Tag display -- inline tag badges for each subscriber
- Sortable columns -- sort by name, email, status, engagement, join date, or last activity
- Bulk actions -- select multiple subscribers for tag assignment, list moves, or deletion
Subscriber Statuses
| Status | Description |
|---|---|
active |
Actively receiving emails |
subscribed |
Confirmed subscription, receiving emails |
unsubscribed |
Opted out of emails |
bounced |
Email address bounced |
complained |
Marked email as spam |
Engagement Tiers
| Tier | Description | Score Range |
|---|---|---|
| Hot | Highly engaged -- opens and clicks regularly | High engagement score |
| Warm | Moderately engaged -- opens occasionally | Medium engagement score |
| Cold | Low engagement -- rarely opens or clicks | Low engagement score |
Data Model
interface Subscriber {
id: string;
email: string;
firstName: string;
lastName: string;
status: 'active' | 'subscribed' | 'unsubscribed' | 'bounced' | 'complained';
engagement?: 'hot' | 'warm' | 'cold';
engagementScore?: number;
tags: string[];
lists?: string[];
listIds?: string[];
joinDate?: string;
joinedAt?: string;
lastActivity?: string | null;
lastActivityAt?: string | null;
unsubscribedAt?: string | null;
customFields?: Record<string, string | number | boolean>;
avatar: string | null;
}
Subscriber Profile (/audience/subscribers/[id])
The subscriber profile page shows a complete view of an individual subscriber.
Sections
- Contact information -- email, first name, last name, avatar
- Engagement score -- numerical score and tier (hot/warm/cold)
- Subscription details -- status, join date, last activity, unsubscribe date
- Tags -- list of applied tags with add/remove actions
- Lists -- mailing lists the subscriber belongs to
- Custom fields -- key-value pairs for additional subscriber data
- Activity timeline -- chronological feed of subscriber actions (opens, clicks, purchases)
Segment List (/audience/segments)
Segments are dynamic groups of subscribers defined by rules.
Features
- Segment overview -- name, description, subscriber count, and creation date
- Rule summary -- human-readable display of segment rules
- Last refreshed -- timestamp of the last subscriber count recalculation
- Quick actions -- edit rules, duplicate, or delete segments
Data Model
interface Segment {
id: string;
name: string;
description?: string;
subscriberCount: number;
rules: SegmentRule[];
lastRefreshed?: string;
createdAt: string;
}
Segment Builder (/audience/segments/builder)
The segment builder provides a visual rule editor for creating complex audience segments.
Rule Structure
Rules are organized in groups with AND/OR logic:
Group 1 (AND):
- Email opened in last 30 days
- Tag contains "vip"
OR
Group 2 (AND):
- Subscriber since > 90 days
- List is "Premium Members"
Available Fields
| Field Category | Fields |
|---|---|
| Subscriber Data | Email, first name, last name, join date |
| Email Activity | Last opened, last clicked, open count, click count |
| Tags | Has tag, does not have tag |
| Lists | Is in list, is not in list |
| Dates | Joined before/after, last active before/after |
| Custom Fields | Any custom field with appropriate operators |
Operators
| Field Type | Available Operators |
|---|---|
| String | equals, not equals, contains, starts with, ends with |
| Number | equals, greater than, less than, between |
| Date | before, after, in last N days, more than N days ago |
| Tag | has tag, does not have tag |
| List | is in list, is not in list |
Data Model
interface SegmentRule {
field: string;
operator: string;
value: string | number | boolean | string[];
logic?: 'and' | 'or';
}
Builder Features
- Add rule -- add a new rule to the current group
- Add group -- add a new AND/OR group
- Remove rule -- delete individual rules
- Live count -- real-time subscriber count preview as rules are configured
- Save segment -- save with name and optional description
Tag Manager (/audience/tags)
Tags provide flexible, lightweight categorization for subscribers.
Features
- Tag list -- all tags with subscriber counts
- Group organization -- tags organized by groups (e.g., "Source", "Interest", "Status")
- Color labels -- optional color assignment for visual distinction
- Subscriber count -- number of subscribers with each tag
- Tag actions -- rename, delete, merge, or view subscribers with a tag
Data Model
interface Tag {
id: string;
name: string;
subscriberCount: number;
group: string;
color?: string;
createdAt?: string;
}
List Management (/audience/lists)
Mailing lists provide structured subscriber organization.
Features
- List overview -- name, description, subscriber count, and creation date
- Double opt-in toggle -- enable or disable double opt-in for the list
- Welcome email -- configure an optional welcome email for new subscribers
- List stats -- total subscribers, active subscribers, unsubscribed, bounced, average open rate, average click rate
Data Model
interface SubscriberList {
id: string;
name: string;
description?: string;
subscriberCount: number;
doubleOptIn?: boolean;
welcomeEmail?: string | null;
createdAt: string;
stats?: SubscriberListStats;
}
Growth Tools (/audience/forms)
Growth tools help you acquire new subscribers through various form types.
Form Types
| Type | Description |
|---|---|
embedded |
Inline form embedded on a webpage |
popup |
Modal/overlay form triggered by behavior |
landing / landing-page |
Standalone signup landing page |
Features
- Form list -- all forms with type, status, and performance metrics
- View count -- number of times the form was displayed
- Submission count -- number of successful submissions
- Conversion rate -- percentage of views that resulted in submissions
- Status toggle -- activate or deactivate forms
- List assignment -- assign new subscribers to specific lists
Data Model
interface GrowthForm {
id: string;
name: string;
type: 'embedded' | 'popup' | 'landing' | 'landing-page';
views: number;
submissions: number;
conversionRate: number;
status?: 'active' | 'inactive';
listIds?: string[];
createdAt?: string;
}
Import Tool (/audience/import)
The import tool provides CSV-based subscriber import.
Features
- File upload -- drag-and-drop or click-to-upload CSV files
- Column mapping -- map CSV columns to subscriber fields
- Duplicate handling -- skip, update, or overwrite existing subscribers
- List assignment -- assign imported subscribers to a mailing list
- Import progress -- real-time progress with processed, imported, skipped, and duplicate counts
- Import history -- log of past imports with status and results
Data Model
interface ImportJob {
id: string;
fileName: string;
totalRows: number;
imported: number;
skipped: number;
duplicates: number;
status: 'pending' | 'processing' | 'completed' | 'failed';
createdAt: string;
}
Suppression List (/audience/suppressions)
The suppression list prevents emails from being sent to specific addresses.
Features
- Suppression entries -- email address, reason, and date added
- Add entries -- manually add email addresses to the suppression list
- Bulk operations -- add or remove multiple addresses at once
- Search -- search for specific email addresses in the list
Data Model
interface SuppressionEntry {
id: string;
email: string;
reason: string;
dateAdded?: string;
addedAt?: string;
}
Related Docs
- Screens -- complete screen catalog
- Campaigns -- campaign management and editor
- Analytics -- audience growth analytics
- Customization -- modify seed data structure