Skip to content

👥 CRM & Contact Management

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_exceeded error
  • 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:

  1. Create a segment with your targeting criteria
  2. Get segment contact count via API
  3. Export segment contacts or send directly to all contacts in segment
  4. 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:

  1. Delete the contact via API: DELETE /api/v1/customer/contacts/{contact_id}
  2. 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.