Import Contacts from a Spreadsheet

795 views Victor Ayala

Import Contacts from a Spreadsheet

Purpose: This article walks you through importing contacts into Sure Send from a CSV file, including preparing your file, mapping columns to fields, configuring import settings, and understanding how duplicates are handled.

Note: This article covers the Import Contacts feature for adding contacts to your CRM database. If you're uploading a list for email marketing, see the newsletter list import under Newsletters → Lists. That's a separate feature with a different field set.

Download the Import Template

The fastest way to get a clean import is to start from our template. It has every supported column, in the right order, with the exact header names Sure Send recognizes automatically.

Download the Sure Send CSV Import Template

The template includes an Instructions tab, a Field Reference tab listing every supported field, and the Import Template tab itself with a sample row. Copy the Import Template tab into a new spreadsheet, delete the sample row and any columns you don't need, then add your data.

Before You Begin

To import contacts, you'll need:

  • Admin or Owner access to your Sure Send account
  • A CSV file (.csv format only) with a header row
  • At least one contact method column: an email address or a phone number

Important: Import Contacts is an admin and owner function only. Member users (agents) do not see this option in their settings and cannot run imports themselves. If an agent on your team has a spreadsheet they need imported, an admin or owner will need to handle it on their behalf. When running the import, you can use the "Assigned To" column to map each contact to the correct agent automatically, so contacts land on the right person's desk even though you're running the import centrally.

Recommended: scrub your data first. If you're exporting from another CRM like HubSpot, Follow Up Boss, or Sierra Interactive, most platforms let you export your contacts as a CSV. That export will import, but we strongly recommend cleaning it up first and moving it into our template rather than uploading it raw.

Scrubbing your data means:

  • Removing old, stale contacts you'll never work again
  • Deleting rows with bad or missing contact information
  • Fixing formatting so it matches what Sure Send expects (dates, phone numbers, zip codes, tags)
  • Consolidating duplicate columns so each piece of information lives in exactly one place
  • Renaming your column headers to match the template

The recommended sequence: export from your old CRM, scrub the data in a spreadsheet, paste it into the Sure Send import template, then import. Auto-mapping works best when your headers match the template exactly, and a clean file is the difference between an import that just runs and an import you can actually trust.

A migration is the one chance you get to start clean. It is worth the extra hour.

Other Ways to Get Contacts Into Sure Send

Method Who Can Do It How It Works
Add New Lead (manual entry) All users (including agents) Click Add New Lead in the top navigation to create contacts one at a time
Email Parsing All users (including agents) Forward emails to your team's lead email address (on your Profile page) to automatically create contacts
Integrations (Sierra, FUB, Lofty, etc.) Admin/Owner only Connect a third-party CRM under Settings → Integrations to sync contacts continuously
Forms Admin/Owner only Build lead capture forms under Settings → Forms
API Tokens All users (own scope); Admin/Owner (team scope) Create API tokens under Settings → API Tokens
Pixel Tracking Admin/Owner only Install tracking code under Settings → Pixel Tracking

Preparing Your CSV File

Your CSV file should have column headers in the first row. Sure Send supports 36+ built-in fields plus all of your team's custom fields.

Requirements

Every contact needs at least one way to reach them. A row must have a value in at least one of these: Email Address, Email 2, Phone, Phone 2, or Phone 3. Rows with none of these are skipped.

File format:

  • .csv only. If your data is in Excel (.xlsx), save it as CSV first.
  • Comma-delimited only. Sure Send does not auto-detect other delimiters. If your export uses semicolons or tabs (common with European exports), the whole file will read as a single column. Re-save it comma-delimited.
  • Encoding: UTF-8 is preferred. Files with a byte-order mark, or saved as Windows-1252 or ISO-8859-1, are also handled.
  • Fields containing commas or line breaks must be wrapped in double quotes. Standard spreadsheet apps do this automatically.
  • Maximum file size: 250MB

Formatting tips

  • Dates: Use 2025-01-15 (year-month-day). This is the safest format and is never ambiguous. Sure Send also accepts 01/15/2025, 01-15-2025, and long forms like January 15, 2025. Avoid two-digit years like 15-Jan-25, which can be misread.
  • Phone numbers: Include area codes (at least 10 digits). Country codes are fine. Remove extensions before importing. Sure Send does not store phone extensions, and a number like 555-123-4567 x89 will not save or match correctly. Put the extension in the Notes column if you need to keep it.
  • Zip codes: Spreadsheet apps often strip leading zeros, turning 07302 into 7302 and 00716 into 716. Format the zip column as Text before entering data, or add the zeros back before exporting. Sure Send will import a broken zip without complaint, so check this yourself.
  • Tags: Comma-separated within a single cell (e.g., Buyer, Referral, VIP).
  • Names: Use separate First Name and Last Name columns whenever possible. If you only have a Full Name column, Sure Send splits on the first space. That works for John Smith, but Smith, John and John & Mary Smith will not split correctly.

Available Fields

Contact Information

Field Notes
Email Address Used to match existing contacts
Email 2 Secondary email. Also used for matching.
Full Name Splits on the first space into first and last name
First Name
Last Name
Phone (Primary) Include area code. Also used for matching.
Phone Type mobile, home, or work
Phone 2 / Phone 3 Additional numbers. Also used for matching.
Phone 2 Type / Phone 3 Type mobile, home, or work

Address Fields

Up to three addresses per contact.

Field Address 1 Address 2 Address 3
Street
Line 2 (Apt/Suite)
City
State
Zip
Country

Note: The Address 1 - Line 2 column does not auto-map. Select it manually from the dropdown on the mapping screen, or the apartment and suite data will be skipped.

CRM Fields

Field Notes
Stage Matches an existing stage by name, case-insensitive. If no stage matches, the contact still imports and falls back to the Default Stage you set (or no stage). No error is shown.
Assigned To Matches a Sure Send user by email address, case-insensitive. If no user matches, the contact still imports and falls back to the blanket Assignment you set (or unassigned). No error is shown.
Lead Source Sets the lead source. Created automatically if it doesn't exist.
Company Name Links the contact to a company, creating it if needed

Timestamps

Field Notes
Created Date Preserves the original created date from your previous CRM
Last Activity Date
Last Contacted Date

Important: If a date can't be read, Sure Send skips that value silently and does not show an error. For Created Date specifically, the contact's created date will then default to the time of import. If preserving your database history matters, use 2025-01-15 format and spot-check a few contacts after importing.

Other

Field Notes
Notes Creates a note on the contact record. The note is timestamped at import time, not backdated.
Tags Comma-separated. Created automatically if they don't exist.
Suppression Type marketing or global. Applied to new and existing contacts.

Custom Fields

Every custom field your team has created also appears as a mapping option, grouped under Custom Fields. All types are supported (text, number, date, dropdown, multi-select).

Important: Custom field values are not validated on import. A value that doesn't match a dropdown's defined options is stored as-is. Unreadable dates are skipped. Number fields strip out non-numeric characters. None of these fail the row, so check your custom field data before importing.

Tip: Create custom fields in Sure Send before starting the import, or they won't appear as mapping options.

How to Import

Step 1: Upload Your File

  1. Click Settings in the left navigation
  2. Under Lead Capture, click Import Contacts
  3. Drag and drop your CSV file, or click to browse
  4. Wait for the file to upload and process

Step 2: Map Your Columns

You'll see each column from your CSV alongside a dropdown to select the matching Sure Send field.

  • Sure Send auto-maps columns based on common header names. First Name, fname, and given name all map to First Name.
  • Review each mapping and adjust any that weren't matched correctly.
  • Use -- Skip Column -- for columns you don't want to import.
  • At least one email or phone column must be mapped before you can continue.

Watch for these: Two columns that both match the same field will only map once. The first one claims the field and the second is skipped, with no warning. Consolidate duplicate columns before uploading.

Also note that a column named Status auto-maps to Stage, and columns named Agent or Owner auto-map to Assigned To. If those columns mean something else in your file, remap or skip them.

Step 3: Review and Configure

  • Source Label — Defaults to "CSV Import." If you mapped a Lead Source column, the per-row value wins and this label is only used for rows with no source.
  • Duplicate Handling — By default, contacts matching an existing record by email or phone are updated. Check Allow creating duplicate contacts to skip duplicate detection entirely and create a new record for every row.
  • Assignment — Optionally assign new contacts to a user, pond, or group. If you mapped an Assigned To column, the per-row value wins for new contacts. Check Also update assignment for existing contacts to overwrite assignment on records already in Sure Send.
  • Default Stage — Optionally set a stage for new contacts. A mapped Stage column takes priority.
  • Preview — Shows the first 5 rows with mapped fields.

Tip: Leave Source Label, Assignment, and Default Stage blank, and your mapped column values pass through untouched.

Step 4: Processing

You'll see live progress: total processed, added, updated, and failed. The import runs in the background, so you can navigate away and come back. Large imports resume automatically if interrupted.

How Duplicates Are Handled

Sure Send checks each row against your existing contacts in this order, stopping at the first match:

  1. Email Address (case-insensitive)
  2. Email 2
  3. Phone, then Phone 2, then Phone 3

Phone matching compares the last 10 digits, so (555) 123-4567, 5551234567, and +1 555 123 4567 all match each other.

Because email is checked first, a row whose email matches one contact and whose phone matches a different contact will update the email match only.

When a match is found, the import merges new data without overwriting existing data:

Field What Happens on Duplicate
Name Fills in first/last name only if currently blank
Email 2 Adds if it's a new address
Phones Adds numbers not already on the record
Addresses Adds a primary address only if the contact has none; adds Address 2/3 if the street is new
Notes Always creates a new note
Tags Adds any tags not already on the contact
Company Links only if the contact isn't already linked
Stage Not changed
Lead Source Not changed
Assignment Not changed, unless you check "Also update assignment for existing contacts"
Custom Fields Overwrites existing values
Suppression Type Applied if mapped

Re-importing is safe. Because matching is by email and phone, running a corrected file again updates the existing contacts rather than duplicating them. This is not true if you check Allow creating duplicate contacts, which creates a new record for every row every time.

After the Import

  • Imported contacts appear in All People. There's no separate import view.
  • Automations are not triggered by imported contacts. This is by design, so a bulk import doesn't fire hundreds of automated emails or texts. Lead routing rules, assignment notifications, and webhooks are all suppressed during import.
  • Engagement scores are not calculated during import.
  • Sure Send reindexes your database after the import, so contacts appear in Smart Lists and search shortly after.

Tip: To identify imported contacts later, add a Tags column with something like "Jan 2026 Migration" before importing.

Deleting an import record does not undo the import

The trash icon next to an entry in Recent Imports removes that entry from the list. It does not delete or revert the contacts that were imported, and it does not undo merges into existing contacts.

There is currently no way to roll back an import. If you imported the wrong file, you'll need to remove the contacts manually or with a bulk action from a Smart List. Review your file carefully before importing.

Error Handling

If rows fail, the error count appears on the processing screen and you can expand the details to see which rows failed and why. Sure Send shows the first 100 errors. Beyond that, it reports the total count only. Error details are on-screen only and cannot be downloaded.

What actually fails a row:

Error Cause Fix
Missing contact information Row has no email, Email 2, or phone number Add a contact method, or remove the row
Invalid email format Email is missing an @ or a domain Correct the address in your CSV

What does NOT fail a row (and shows no error):

Problem What happens instead
Unreadable date Value is skipped. Created Date defaults to import time.
Stage name doesn't match Falls back to your Default Stage, or no stage
Assigned To email doesn't match a user Falls back to your blanket Assignment, or unassigned
Custom field value doesn't fit the field type Stored as-is, or skipped for dates
Two columns map to the same field Second column is skipped
Malformed zip code Imported exactly as provided
Phone number with an extension Extension is not stored and the number may not save correctly

This is the most important thing to know about importing. A "0 errors" result means every row was created or updated. It does not mean every value came through correctly. After a large migration, open a handful of contacts and check created dates, stages, assignments, and zip codes before you trust the data.

Import Contacts vs. Newsletter List Import


Import Contacts Newsletter List Import
Location Settings → Lead Capture → Import Contacts Newsletters → Lists → [List] → Import
Purpose Add contacts to your CRM database Build an audience for email marketing
Who can access Admin/Owner only Admin/Owner only
Available fields 36+ built-in plus custom fields 11 basic fields
Tags, notes, stage
Assigned To
Custom fields
Max file size 250MB 10MB

Troubleshooting

My import is stuck or taking a long time. Large imports can take several minutes to hours. Progress updates every few seconds. If it appears stuck, navigate away and come back. Interrupted imports are re-queued automatically and resume where they left off.

I uploaded the wrong file. If processing hasn't started, go back and re-upload. If it has started, let it finish and then remove the contacts manually or with a bulk action. Deleting the import record from Recent Imports does not remove the contacts.

My columns didn't auto-map. Auto-mapping matches known header names. Non-standard headers like "Cell #" need to be selected manually. Renaming your headers to match the import template is the fastest fix.

Address 1 - Line 2 didn't import. That column doesn't auto-map. Select it manually on the mapping screen.

I don't see my custom fields in the dropdown. Create them first under Settings → Custom Fields & Data → Custom Fields, then restart the import.

Some contacts weren't assigned to the right user. The Assigned To column needs user email addresses, not names. An unmatched value silently falls back to your blanket assignment.

Stages aren't being set on existing contacts. By design. Stage is only set on newly created contacts. To bulk-update stages on existing contacts, use a Smart List and bulk edit.

My whole file imported as one column. Your file isn't comma-delimited. Re-save it as comma-separated CSV.

All my contacts show today as their created date. Your date format wasn't readable. Re-export using 2025-01-15 format and re-import the file. Because matching is by email and phone, the re-import will update the existing contacts rather than duplicating them.

My phone numbers look wrong or created duplicates. Check for extensions. Sure Send doesn't store them, and they interfere with duplicate matching. Strip extensions before importing.

What's Next

[Tags: Setup & Use →]

Was this article helpful?

Search Help Center