Subscriber Data Model
Each subscriber in listmonk has the following properties:- ID: Unique numeric identifier
- UUID: Unique universal identifier for public-facing operations
- Email: Unique email address (case-insensitive)
- Name: Subscriber’s name
- Attribs: JSONB custom attributes field for flexible data storage
- Status:
enabled,disabled, orblocklisted - Created At: Timestamp when subscriber was added
- Updated At: Timestamp of last modification
Adding Subscribers
- Manual Creation
- CSV Import
- API
Add subscribers individually through the admin interface:
Create New Subscriber
Click the New button and fill in:
- Email address (required, validated)
- Name (1-500 characters)
- Custom attributes in JSON format
- Select lists to subscribe to
Subscriber Statuses
Subscribers can have one of three statuses:Enabled
Active subscribers who can receive campaigns
Disabled
Temporarily disabled subscribers (excluded from campaigns)
Blocklisted
Permanently blocked subscribers who cannot receive any emails
Status vs Subscription Status
Subscriber Status (enabled/disabled/blocklisted) is global, while Subscription Status (unconfirmed/confirmed/unsubscribed) is per-list in the
subscriber_lists table.Custom Attributes
Subscribers support flexible JSONB attributes for storing custom data:Using Attributes in Templates
Access subscriber attributes in campaign templates:Querying and Filtering
Search Subscribers
Search by email or name using the search bar in the admin interface.SQL Queries
Execute custom SQL queries for advanced filtering:Filter by Lists
Filter subscribers by:- List membership
- Subscription status (unconfirmed/confirmed/unsubscribed)
- Multiple list combinations
Subscriber Management
Bulk Operations
Perform actions on multiple subscribers:- Add to Lists: Subscribe to one or more lists
- Remove from Lists: Delete subscriptions
- Unsubscribe: Mark as unsubscribed from lists
- Blocklist: Permanently block subscribers
- Delete: Remove subscribers entirely
- By Selection
- By Query
Select specific subscriber IDs and apply bulk actions
Managing List Subscriptions
For individual or bulk subscribers:- Add to Lists: Specify target lists and subscription status
- Remove from Lists: Delete subscriber-list relationships
- Unsubscribe: Sets subscription status to
unsubscribed
Export Subscribers
Export subscriber data as CSV:Choose Export Scope
- All subscribers
- Filtered by search/query
- Selected subscribers by ID
- By list or subscription status
Privacy Features
listmonk includes built-in privacy tools configurable via settings:Subscriber Self-Service
Blocklist
Allow subscribers to blocklist themselves (
privacy.allow_blocklist)Data Export
Let subscribers export their data (
privacy.allow_export)Preferences
Enable subscription preference management (
privacy.allow_preferences)Data Wipe
Allow subscribers to delete all their data (
privacy.allow_wipe)Data Export for Subscribers
Exportable data types (configured inprivacy.exportable):
profile: Subscriber profile informationsubscriptions: List membershipscampaign_views: View tracking datalink_clicks: Click tracking data
Domain Filtering
- Domain Blocklist: Prevent subscriptions from specific domains (
privacy.domain_blocklist) - Domain Allowlist: Only allow subscriptions from specific domains (
privacy.domain_allowlist)
Tracking Controls
- Individual Tracking: Track opens/clicks per subscriber (
privacy.individual_tracking) - Disable Tracking: Turn off all tracking (
privacy.disable_tracking) - Record Opt-in IP: Store IP addresses during subscription (
privacy.record_optin_ip)
Bounce Management
View and manage bounces for subscribers:- Bounces are tracked per subscriber and campaign
- Types:
soft,hard,complaint - Delete all bounces for a subscriber to reset their bounce count
Automatic Actions
Configure bounce handling in settings:- Soft bounces: Action after N occurrences
- Hard bounces: Immediate blocklist
- Complaints: Immediate blocklist
Subscriber Activity
View subscriber engagement:- Campaign Views: Which campaigns they opened
- Link Clicks: Links they clicked with timestamps
- Activity is tracked per campaign (if tracking is enabled)
Activity tracking requires
privacy.individual_tracking to be enabledAdvanced Features
Orphan Subscribers
Subscribers not subscribed to any lists are considered “orphans” and tracked in dashboard statistics.Double Opt-in Workflow
For lists withoptin: double:
Manually trigger opt-in emails via the subscriber management interface.
Database Schema
Subscription Relationship
unconfirmed, confirmed, unsubscribed