Contact Import Guide: Map Fields Correctly | K2Mailer
Learn how to safely import contacts and map fields in K2Mailer to keep your email lists accurate and organized.
Quick answer: how do you import contacts into K2Mailer?
To import contacts, open Contacts → Import Contacts, upload a CSV or delimited file, map each column to the right field, choose one or more lists, set how existing values are handled, and start the import. A background job then creates or updates the contacts and attaches the list memberships.
The step that decides whether your data stays clean is field mapping. Mapping tells K2Mailer which column holds the email address and which columns hold things like first name, city, or a custom field. A wrong mapping puts good data in the wrong place, and that is hard to untangle after a send.
- Accepted formats: comma, semicolon, tab, and pipe-delimited files with a header row.
- Required column: Email. Everything else is optional but useful.
- One import can attach contacts to several lists at once.
- Imports never silently reopen an unsubscribed membership.
What is field mapping and why does it matter?
Field mapping connects the columns in your file to the fields in K2Mailer. If your file has a column called “First Name,” mapping sends its values into the first-name field. If it has a column called “Renewal,” you map it to a date-type custom field so it can later power a segment or an email.
It matters because personalization, segmentation, and reporting all read from these fields. A swapped first name and last name turns “Hi Sarah” into “Hi Johnson.” A text value mapped into a date field can fail the row entirely. A few minutes of checking the mapping preview saves a lot of cleanup, and pairs well with the guidance on custom fields.
Prepare your file before you upload
A good import starts in the spreadsheet, not in the importer. The CSV format is simple but loose, as the RFC 4180 specification and the overview of comma-separated values both note, so small inconsistencies in the file become big differences after import.
- Keep one header row with clear names, such as Email, First Name, City, Plan.
- Keep one email address per row and remove blank rows and obvious duplicates.
- Fix visible typos such as “gmial.com” and addresses with spaces or missing @ signs.
- Save the file as UTF-8 so names with accents or non-Latin characters import correctly.
- Use one consistent date format in any date column.
- Only include people who gave permission. If you are unsure about a purchased or scraped list, do not import it.
- Consider verifying uncertain addresses before you import, since bounces hurt reputation.
How to import contacts and map fields in K2Mailer
- 1
Upload a CSV or supported delimited text file. The current importer accepts comma, semicolon, tab, and pipe-delimited files and validates the header before continuing.
- 2
Map Email plus any supported system fields and custom fields. Common headings are auto-mapped when unambiguous, and sample values are shown to help verify the mapping.
- 3
Review rules and choose one or multiple tenant-owned lists in the searchable list picker. One import can attach each canonical contact to several lists.
- 4
Choose how existing profile values and blank mapped values should be handled. Existing subscription, complaint, hard-bounce, and suppression protections remain authoritative.
- 5
Start the import and monitor Import progress. The background job reports canonical contacts separately from list memberships and reports invalid, protected, quota-skipped, and other row outcomes.
Try a small file first
Import ten rows before you import ten thousand. Check a few contacts in Contacts to confirm each value landed in the right field, then run the full file.
Common field mapping mistakes
- Swapped name columns
- First and last name mapped the wrong way round. Read the sample values beside each column before you confirm.
- Text in a date field
- A value that does not look like a date can fail the row. Keep date columns in one consistent format.
- Two columns, one field
- Mapping two columns to the same field overwrites one with the other. Merge them in your spreadsheet first.
- Missing custom field
- A column with no matching field has nowhere to go. Create the custom field first, then map it.
- Wrong delimiter
- A semicolon file read as comma-separated puts everything in one column. Pick the format that matches your export.
How canonical imports behave
When an email already exists in the tenant, K2Mailer reuses the canonical contact identity and attaches the selected list memberships instead of creating another person row for the same email. That is why importing the same file twice does not double your audience.
Contact quota is consumed only when a genuinely new canonical identity is needed. Existing contacts can still be updated or attached to additional lists when no new identity is required.
A normal import cannot silently reopen an unsubscribed membership. On a double-opt-in list, a newly attached membership remains pending unless valid DOI evidence is obtained through the normal confirmation flow; a CSV Confirmed value is not treated as proof.
Compliance fields are sticky
- Previously unsubscribed memberships are not made less restrictive by ordinary import.
- Global marketing opt-out, complaint, hard-bounce, and applicable suppression protections remain authoritative.
- Allowing or importing a row does not create proof of renewed marketing consent.
- Use Contact Edit for an explicit administrator resubscription only when renewed consent can be supported. DOI still requires fresh confirmation.
Do not use import to bypass a delivery block
Import is a data-ingestion workflow, not a consent-restoration mechanism. K2Mailer intentionally keeps the more restrictive compliance state when the same email is seen again. The reasoning is explained in the Email Preference Center guide.
Read the import results
When the job finishes, Import progress tells you what happened to every row. Contacts and list memberships are counted separately, because one contact can join several lists in one run.
- Invalid rows
- Rows with a missing or malformed email address, or a value the mapped field cannot accept. Fix them in the file and import again.
- Protected rows
- Rows that match a contact with an unsubscribe, complaint, hard-bounce, or suppression protection. They are skipped on purpose.
- Quota-skipped rows
- Rows that would have created a new contact beyond your plan quota. Existing contacts are still updated.
Contact import best practices
- Import into the list that matches how people signed up, so the list name still tells the truth.
- Add a custom field for the source, such as “webinar” or “checkout,” so you can segment by origin later.
- Send a welcome email soon after import so new contacts remember why they are hearing from you. See email list building strategies.
- Watch bounces after the first send. A spike usually means the source list was stale. See hard vs soft bounces.
- Warm up gradually if the imported audience is large and your sending domain is new. See the email deliverability guide.
Moving contacts from another email platform or CRM
Switching tools is one of the most common reasons to import a large file. Export your contacts from the old platform as CSV, and export the people who unsubscribed or bounced there too. Those contacts must not start receiving mail again just because you changed platforms, so keep that list and check it against your new audience.
Expect column names to differ between systems. “Email Address” in one export may be “E-mail” in another, and custom data often arrives under platform-specific names. Rename the headers to something clear before upload so auto-mapping can match them, and create any missing custom fields first. Then follow the protections for suppressions, bounces, and complaints so earlier opt-outs carry over.
Troubleshooting import problems
- Everything landed in one column
- The delimiter did not match the file. Re-export with commas, semicolons, tabs, or pipes and confirm the header is read correctly before mapping.
- Names show strange characters
- The file was probably not saved as UTF-8. Re-save it with UTF-8 encoding and import again.
- Fewer contacts than rows
- Duplicate emails collapse into one canonical contact, and invalid, protected, or quota-skipped rows are counted separately in Import progress.
- A custom field stayed empty
- The column was not mapped, or the field is not attached to the list you imported into. Check the mapping and the list assignment.
Frequently asked questions
- What file formats can I import into K2Mailer?
- The importer accepts CSV and delimited text files that use commas, semicolons, tabs, or pipes. The first row must be a header, which K2Mailer validates before you continue.
- What is field mapping in a contact import?
- Field mapping links each column in your file to a K2Mailer field, such as Email, first name, or a custom field. Correct mapping keeps personalization and segments accurate.
- Will importing duplicates create duplicate contacts?
- No. When an email already exists, K2Mailer reuses the canonical contact and attaches the selected list memberships rather than creating another row for the same address.
- Can I import contacts into more than one list at once?
- Yes. Use the searchable list picker to choose several lists, and each canonical contact is attached to all of them in the same import.
- Does importing a CSV re-subscribe unsubscribed contacts?
- No. A normal import cannot silently reopen an unsubscribed membership, and it does not create proof of renewed consent. Resubscribe only through an explicit action with valid consent.
- Why was a row skipped as protected?
- The email matches a contact with an unsubscribe, complaint, hard-bounce, or applicable suppression. K2Mailer keeps the more restrictive state so an import cannot bypass a delivery block.
- Does a CSV value of Confirmed count as double opt-in?
- No. On a double-opt-in list, a newly attached membership stays pending until valid confirmation evidence arrives through the normal confirmation flow.
- Should I clean my list before importing?
- Yes. Remove duplicates and typos, import only people who gave permission, and consider verifying uncertain addresses first. Clean data protects your sender reputation and reduces bounces.
Was this guide enough?
Contact support if your screen or result is different.