Importing Contacts: auto-split of name and address columns

Most exports from other tools — Mailchimp, Gmail Contacts, an old CRM, a spreadsheet someone has been maintaining in Google Sheets for years — give you a single "Name" column and sometimes a single "Address" column. The Turtini importer doesn't require you to manually split those out before upload. It does the splitting for you.

How the importer handles a name column:

When you upload a CSV that has a column named "Name," "Full Name," "Contact," or anything similar, the importer maps it to the new "Full Name (auto-split)" import target by default. At commit time, the importer splits each row's name on the last whitespace:

- "Jane Smith" → First Name = Jane, Last Name = Smith
- "Jane Quincy Smith" → First Name = Jane Quincy, Last Name = Smith
- "Madonna" → First Name = Madonna, Last Name = (blank — single-token names go entirely into First Name)
- "Dr. John Doe Jr." → First Name = Dr. John Doe, Last Name = Jr. (the last whitespace is the split point — adjust manually if the result is wrong)

If your CSV has separate First Name and Last Name columns, the importer maps those directly and ignores the Full Name column even if it's also present.

How the importer handles an address column:

When you upload a CSV with a single "Address" or "Mailing Address" column, the importer maps it to "Full Address (auto-split)" and parses the value on commit. The format it understands:

- "123 Main St, Springfield, IL 62701"
- "123 Main St, Apt 5, Springfield, IL 62701"
- "47 Old Hampton Lane, Suite G, Hampton, VA 23669"

The importer splits on commas, then:
- Last part is parsed as "STATE ZIP" via regex (e.g. "IL 62701" or "Texas 75001-1234"). State and zip land in their respective fields.
- Second-to-last part becomes City.
- First part becomes Address Line 1.
- Anything between Line 1 and City becomes Line 2 (collapsed if multi-part).

If your CSV has separate Street / City / State / ZIP columns, those take precedence over a single Address column.

Other columns the importer auto-detects:

The importer auto-detects column names case-insensitively against known patterns:
- "Email" / "E-mail" / "Work Email" → email
- "Phone" / "Mobile" / "Cell" → phone
- "Company" / "Organization" / "Account" → accountName
- "Title" / "Position" / "Role" → title
- "DOB" / "Birthday" / "Date of Birth" → dateOfBirth
- "Member Since" / "Date Joined" / "Customer Since" → dateJoined
- "Notes" / "Comments" / "Memo" → notes

You can review and override every mapping on the Map step of the import wizard before clicking Import.

Dedupe by email:

If a row's email matches an existing Contact (case-insensitive), that row is skipped rather than creating a duplicate. The skipped count is reported in the import results.

What it doesn't do:

- It doesn't try to enrich or correct addresses (no USPS validation, no zip-to-city lookup). What you upload is what gets stored.
- It doesn't split state abbreviations from full state names — both "IL" and "Illinois" land in State as-is.
- It doesn't infer Country from the row unless there's a Country column. Default is US.