Q: What is the Contact Management feature?
MailerLogic includes built-in CRM functionality for storing, organizing, and segmenting your contacts. You can store unlimited contacts (based on your tier), add custom properties, create tags, and build dynamic segments - all through our API.
Q: How many contacts can I store?
Contact limits vary by plan. Please check the MailerLogic pricing page for current plan limits and features.
Contact usage is tracked in real-time and enforced automatically.
Q: What's the difference between contacts and suppressions?
- Contacts: Your contact database (CRM). Includes subscribed, unsubscribed, bounced, and complained contacts. Used for segmentation and email history tracking.
- Suppressions: Addresses that should never receive emails (hard bounces, spam complaints, manual blocks). Prevents sending to invalid/problematic addresses.
You can have a contact who is also suppressed - they exist in your CRM but won't receive emails until removed from suppressions.
Q: What data can I store with each contact?
Built-in properties:
- email (required, unique)
- first_name, last_name
- phone, company
- address, city, state, zip, country
- status (subscribed, pending_confirmation, unsubscribed, bounced, complained)
- source (api, csv_import, form, integration, manual)
Custom properties:
- Add unlimited custom fields with flexible data types
- Supported types: text, textarea, number, date, boolean, url, email, phone, select
- Define validation rules and default values
- Group properties into logical categories
Q: How do segments work?
Segments are dynamic filters that automatically update as contacts change:
- Create filters with advanced operators (equals, contains, greater_than, etc.)
- Combine multiple conditions with AND/OR logic
- Filter by contact properties, tags, status, and source
- Segments update in real-time - no manual refresh needed
- Get contact counts instantly via API
- Export segment results to CSV
Example use cases:
- "All subscribed contacts in California with email ending in .edu"
- "Contacts tagged 'premium' who opened an email in last 30 days"
- "Contacts with company field not empty and status = subscribed"
Q: What segment operators are available?
String operators:
- equals, not_equals, contains, not_contains
- starts_with, ends_with, is_empty, is_not_empty
Numeric operators:
- equals, not_equals, greater_than, less_than, between
Date operators:
- before, after, between, is_empty, is_not_empty
Tag operators:
- has_tag, not_has_tag, has_any_tag, has_all_tags
Q: How do tags work?
Tags are simple labels you can add to contacts for organization:
- Create unlimited tags (e.g., "newsletter", "customer", "vip", "trial")
- Add multiple tags to any contact
- Tags are shared across all contacts
- Use tags in segment filters
- Bulk tag operations supported
- Track tag usage and statistics
Q: Can I import contacts in bulk?
Yes! CSV import is fully supported:
- Upload CSV files with any column structure
- Automatic field mapping with preview
- Validation before import (email format, required fields)
- Duplicate handling options (skip, update, or create new)
- Import custom properties
- Tag contacts during import
- Get import status and error reports
Q: Can I export contacts?
Yes, you can export:
- All contacts or specific segments
- Include/exclude custom properties
- CSV format ready for Excel or Google Sheets
- Export includes all built-in and custom fields
Q: How do I track email history per contact?
Each contact automatically tracks:
- All emails sent to that contact
- Opens, clicks, bounces, and complaints
- Engagement metrics and scoring
- Timeline view of all interactions
- Filter by date range and email status
Access via /api/v1/customer/contacts/{contact_id}/emails
Q: What are custom property definitions?
MailerLogic supports two approaches for custom properties:
1. Centralized Definitions (Recommended for CRM)
- Define properties once with type, validation, and help text
- Enforce consistency across all contacts
- Dropdown options for select fields
- Required/optional field configuration
- Better for structured data and forms
2. Schema-less (Flexible)
- Add any property to any contact without pre-definition
- Maximum flexibility
- No type enforcement
- Better for dynamic or unstructured data
Q: How many custom properties can I add?
There's no hard limit on custom properties, but we recommend:
- Keep under 50 properties for performance
- Use property groups to organize related fields
- Use tags for simple categorization instead of boolean properties
- Consider data types carefully (text vs textarea, number vs string)
Q: Can I update contacts in bulk?
Yes, bulk operations are supported:
- Bulk tag/untag contacts
- Bulk update properties (coming soon)
- Bulk delete contacts
- Bulk status changes
- All operations via API
For large updates, use CSV import with "update" mode.
Q: What happens when I reach my contact limit?
- You can still view and manage existing contacts
- New contact creation will fail with a
limit_exceedederror - Consider upgrading to increase your limit
- You can delete unused contacts to free up space
Q: How do contact statuses work?
Contacts have four statuses:
- subscribed: Active contact, can receive emails
- unsubscribed: Contact opted out, should not receive marketing emails
- bounced: Email address bounced (hard bounce), cannot receive emails
- complained: Contact marked email as spam, should not receive emails
Status changes automatically based on email events, or you can update manually via API.
Q: Do contacts integrate with email sending?
Yes! When sending emails:
- Reference contacts by email or contact_id
- Use contact properties for personalization (merge tags)
- Automatic engagement tracking linked to contact record
- Bounces and complaints update contact status automatically
- Build segments for targeted campaigns
Q: Can I use segments for email campaigns?
Absolutely! Segments are designed for this:
- Create a segment with your targeting criteria
- Get segment contact count via API
- Export segment contacts or send directly to all contacts in segment
- Segment auto-updates, so recurring campaigns always target current matches
Example:
# Get contacts in a segment
GET /api/v1/customer/segments/{segment_id}/contacts
# Send to all contacts in segment
POST /api/v1/batch
{
"segment_id": "segment-uuid",
"subject": "Monthly Newsletter",
"html": "<html>...</html>"
}Q: How do I handle GDPR data deletion requests?
To comply with GDPR right to erasure:
- Delete the contact via API:
DELETE /api/v1/customer/contacts/{contact_id} - This removes:
- Contact record and all properties
- Tags associated with the contact
- Email history linked to the contact
- Personal data from our system
Email event logs are anonymized (email address removed) but aggregate statistics remain for deliverability purposes.
Q: Can I sync contacts from my CRM/database?
Yes! Common integration patterns:
- Webhook-based sync: Your CRM webhooks to MailerLogic when contacts change
- Scheduled sync: Periodic API calls to sync contact updates
- CSV sync: Export from your CRM, import to MailerLogic
- Zapier/Make: Use integration platforms for automated sync
Most customers sync nightly or in real-time via webhooks.