Overview / Contacts
Contacts
Manage the master contact database used across mailing lists, imports, personalization, validation, and send history.
What the Contacts Module Controls
The Contacts module manages the global contact records in Virtual Mailer. These are the master identities behind mailing list memberships. A single contact can belong to multiple mailing lists without being duplicated as separate master records.
Master Identity
Stores the canonical email address and profile fields such as display name, first name, last name, company, phone, and location data.
Shared Data
Changes made to a contact affect that contact everywhere it is used, including any mailing lists linked to the same master record.
Quality Control
Supports import review, duplicate prevention, filtered validation runs, and bulk cleanup for better deliverability and cleaner audience data.
Working in the Contacts Module
- Create: use
Newto open the Contact Editor and add a new master contact. - Edit: double-click any contact row to open the selected record.
- Delete: remove one or more selected contacts from the database.
- Import: open the CSV preview and mapping workflow to add many contacts at once.
- Validate Emails: run bulk email validation against the currently visible rows in the grid.
- Filter Row: show or hide the grid filter row and work on filtered subsets of contacts.
What the Main Grid Shows
| Column | Meaning | Why It Matters |
|---|---|---|
| Name | Computed display value shown as Last, First when both exist. |
Useful for operator review and quick identification in large datasets. |
| Email Display Name | Friendly display name stored on the contact. | Can be used for sender-facing identity and personalization. |
| Email Address | The primary unique email address for the contact. | This is the critical identity field and duplicate creation is blocked. |
| Phone / Mobile | Optional contact details. | Useful for CRM-style enrichment and operator context. |
| State / Postal | Selected location fields from the contact profile. | Can support segmentation, regional review, and data cleanup. |
| Comments | Free-form notes stored on the contact. | Useful for internal operator context and list-maintenance notes. |
| Lists | How many mailing lists currently reference the contact. | High-value context before editing or deleting a shared record. |
Filtering and Visible-Row Behavior
The Contacts grid updates its record count and validation scope based on the rows currently displayed.
- Filter-aware count: the contact count shown at the bottom reflects visible rows after filtering, not always the full database total.
- Validation scope:
Validate Emailsprocesses only the visible rows currently shown in the grid. - Selection reset: changing filters clears stale selection to avoid accidental operations on previously selected rows.
Using the Contact Editor
The Contact Editor is the detailed profile form for a single master contact record. It supports both new-contact creation and editing of existing records.
Editable Fields
- Email Address
- Email Display Name
- First Name / Last Name
- Company
- Address / City / State / Postal / Country
- Website
- Phone / Mobile
- Comments
Read-Only Context
- Created Date: shown for existing contacts.
- Total Emails Sent: calculated from sent-message records for that contact.
- Mailing Lists Grid: shows which lists the contact belongs to, including unsubscribe and disabled status.
Save Behavior and Validation
- Email required: the email address must be present before the contact can be saved.
- Format check: invalid email syntax is blocked at save time.
- Duplicate protection: new contacts cannot be created with an email address already used by another contact.
- Edit duplicate protection: if you change the email address of an existing contact, the new email must still be unique.
- Dirty-state save: for existing contacts, the Save button only enables when at least one field has changed and the email is still valid.
- New-contact save: for new contacts, Save enables as soon as a valid email address is present.
What the Contact Editor Shows About Mailing Lists
For existing contacts, the editor includes a read-only grid of mailing-list memberships associated with the selected contact.
| Field | Meaning | Use |
|---|---|---|
| Name | The mailing list the contact belongs to. | Shows current audience membership for the selected contact. |
| Unsub | Whether the contact is unsubscribed on that specific list. | Useful for support and consent review. |
| Disabled | Whether the contact is operationally suppressed on that list. | Useful when diagnosing why someone did not receive a campaign. |
| Last Mailed | The latest send date tied to campaigns that used that list for this contact. | Quick support context for delivery-history review. |
| Created | When that list membership was created. | Helpful for auditability and import review. |
How Contact Import Works
Contact import uses the same two-stage CSV workflow used elsewhere in Virtual Mailer: file preview first, field mapping second.
- Select
Importfrom the Contacts module. - Choose a
.csvor tab-delimited.txtfile. - Preview the file and confirm whether the first row contains headers.
- Select the correct delimiter: comma, tab, semicolon, or pipe.
- Continue to the field-mapping step.
- Drag CSV columns onto Virtual Mailer destination fields.
- Map at least the Email Address field.
- Run the import and review Added, Duplicates, and Errors.
What the Mapping Step Does
- Drag-and-drop mapping: source columns are dragged from the file preview list onto Virtual Mailer destination fields.
- Email required: import cannot continue unless Email Address is mapped.
- Clear action: mapped fields can be cleared individually.
- Progress feedback: the import shows progress while records are validated and processed.
- Optional list linking: the same import flow can also be used from Mailing Lists to create contacts and immediately link them to a selected list.
How Imported Data Is Treated
- Invalid emails are skipped: rows with unusable email values count as errors or skipped rows.
- Existing contacts are reused: imports are designed to avoid creating duplicate master contact identities.
- Duplicate email creation is blocked: the system protects the global contact table from duplicate email-address records.
- Import results are summarized: after completion, Virtual Mailer reports Added, Duplicates, and Errors.
Email Validation Workflow
The Contacts module includes a bulk validation tool intended to help identify problematic email addresses before campaigns are sent.
- Visible rows only: validation runs only on contacts currently displayed in the grid.
- Progress panel: the UI shows progress and the current email being checked.
- Cancelable run: active validation can be cancelled.
- Summary output: results show total checked, passed, and failed counts.
- Log support: failed addresses are written to the log when failures are detected.
What Happens When Contacts Are Deleted
Deleting contacts from the Contacts module is a true master-record delete, not just a list-membership cleanup.
- Mailing-list memberships are removed: linked
MailingListMembersrecords are deleted first. - Sent-message history is removed: sent-message records tied to the deleted contacts are also removed.
- The contact record is removed: the master
MailingListAddressesrecord is then deleted. - Multiple selection is supported: the module can delete multiple selected contacts in one operation.
Basic-Version Contact Limits
- Max Contacts: the Basic version is limited to
500total contacts. - Single-contact creation: new-contact creation checks the current global contact count before opening the editor.
- CSV import rows: Basic imports are also capped per run and may be truncated during preview before import continues.
- Import respects remaining capacity: if the file exceeds remaining contact allowance, Virtual Mailer can offer a partial import up to the allowed count.
How to Keep the Contact Database Clean
- Use consistent naming and company conventions so personalization stays predictable.
- Validate newly imported contacts before including them in larger campaigns.
- Avoid deleting contacts when suppression or list-level removal is enough.
- Use comments for operator context, not for storing private or unnecessary sensitive data.
- Review high-list-count contacts carefully before editing or deleting because they may be shared across several active audiences.
Read These Next
- Mailing Lists for list-level memberships, unsubscribe state, and audience management.
- Campaigns for how contacts are selected indirectly through mailing lists at send time.
- Tracking and Unsubscribe for hosted unsubscribe processing that can change list-level suppression state.
- Deliverability and Compliance before large imports or list cleanup projects.