Navigated to blog › close-crm-csv-import-errors
Back to Blog
crm-import-guides

Close CRM CSV Import: Fix Lead and Contact Upload Errors (2026)

March 21, 2026
14
By SplitForge Team

Quick Answer

Close CRM rejects CSV imports for five predictable reasons: missing Lead Name, status values that don't match your pipeline labels, malformed email addresses, duplicate leads already in your account, and custom field type mismatches.

Why it happens: Close validates every imported row against your account's specific pipeline configuration before accepting it — not just CSV structure.

The fix: Validate your CSV against Close's field requirements before uploading, catching every rejection reason in seconds without sending your contact file to a remote server.

Root cause: Status field failures are one of the most common causes. Values that look identical visually — "Hot Lead" vs "Hot lead" — are treated as different values.


Fast Fix (90 Seconds)

If your Close import just failed, try this first:

  1. Download the error report — After a failed import, Close provides a downloadable error CSV. Open it before doing anything else.
  2. Check the error column — Each rejected row shows the specific reason for failure.
  3. Filter for "Lead Name is required" — These rows need a Lead Name value before reimporting.
  4. Filter for "Invalid status" — Go to Close Settings > Lead Statuses and copy each stage name exactly as shown.
  5. Reimport only the failed rows — Fix the error rows, save as a new CSV, and upload only those records.

If failures span more than 20% of your file, continue below for the full diagnostic workflow.


TL;DR: Close import failures almost always trace to status value mismatches or missing Lead Name. Status values must match your pipeline stage labels character-for-character, including capitalization. Run your file through Data Validator to catch every rejection reason before the upload attempt.


Your outreach sequence starts Monday morning. You've built the lead list, mapped the columns, and uploaded the CSV. Close processes the file and returns an error report: 312 of your 850 leads were rejected. The import succeeded — partially — and now you have a partial list in Close and a spreadsheet of failures you need to fix before the weekend.

Most of those 312 failures share the same two causes. Close doesn't tell you that upfront. The error report lists each row individually, which makes it look like 312 separate problems when it's actually two.

Most cloud-based CSV tools upload your file to a remote server to validate it. CRM import files contain contact names, email addresses, phone numbers, and company data — all personal information under GDPR Article 5(1)(c), which requires processing only what's necessary for the purpose. Uploading to validate before you even know the file is correct creates an unnecessary processing step. SplitForge validates in Web Worker threads running entirely in your browser. Nothing is transmitted to any server. You can confirm this yourself in Chrome DevTools under the Network tab during processing.

Each error type in this guide was reproduced using the Close CRM import tool, March 2026. For the complete CRM import failure taxonomy across every major platform, see our CRM import failures complete guide. If your failure looks structural rather than Close-specific, Why Your CRM Rejects CSV Imports covers the file-level causes that apply to all CRMs. Teams moving from Pipedrive to Close will also find Pipedrive CSV Import Errors useful for understanding the field mapping differences.


What Close CRM's Error Messages Actually Mean

"Lead Name is required" — The Lead Name column is empty for that row. Close requires a Lead Name on every lead record without exception. Rows missing this field are rejected entirely, not partially imported.

"Invalid status: [value]" — The status value in your CSV doesn't match any pipeline stage in your Close account. The match is case-sensitive and whitespace-sensitive — "Active" and "Active " (trailing space) are different values.

"Invalid email address" — The email column contains a malformed address. Close validates format ([email protected]) before accepting any record that includes an email field.

"A lead with this email already exists" — Duplicate detection triggered. Close found an existing lead with the same primary email address. Your import settings — chosen during the upload wizard — determine whether to skip, merge, or create a new lead.

Columns missing from imported records (no error shown) — CSV column headers that don't map to any Close field are silently dropped. The lead imports but those field values are lost with no warning.


Error / SymptomRoot CauseFix
"Lead Name is required"Lead Name column empty or header missingPopulate Lead Name for every row; use Company as fallback for B2B
"Invalid status: [value]"Status doesn't match pipeline stage label exactlyCopy stage names from Settings > Lead Statuses
"Invalid email address"Malformed email format in email columnValidate format ([email protected]) before upload
"A lead with this email already exists"Duplicate email matched against existing leadsSet merge, skip, or create behavior in import wizard
Custom fields silently blank after importValue type doesn't match custom field definitionNumbers for numeric fields; MM/DD/YYYY for date fields
Fields missing from imported recordsCSV headers don't match Close field labelsRename headers to Close's exact field names

Close Import Error Triage Table

Use this before anything else. Match your error, check the fix priority, then go to the relevant section.

Error / SymptomMost Likely CauseFix PriorityFix TimeWhere to Fix
"Lead Name is required"Lead Name column blankFix first30 secAdd company or contact name as fallback
"Invalid status: [value]"Status doesn't match pipeline label exactlyFix first2 minCopy exact label from Settings > Lead Statuses
"Invalid email address"Malformed email formatFix first2 minValidate and correct email column
"A lead with this email already exists"Duplicate — email matches existing leadFix before reimport30 secChoose merge/skip/create in import wizard
Custom fields blank after importValue type mismatch (text in number field, wrong date)Fix later5–10 minCheck custom field types in Close Settings
Columns dropped silentlyCSV header doesn't match any Close field nameFix later5–10 minRename headers to match Close field labels exactly

Fix first = row will be rejected outright. Fix later = row imports but with blank fields.


Before You Upload: 10-Second Checklist

Run through this before every Close import. Each item takes seconds to verify.

  • Lead Name — populated for every row (no blanks)
  • Status values — match your pipeline stage labels exactly (copy from Settings > Lead Statuses)
  • Email format[email protected], no spaces, no missing @
  • Duplicate strategy — decided (merge / skip / create new) before upload
  • CSV headers — match Close field names (download a sample export from Close to check)
  • Custom field values — numbers in number fields, MM/DD/YYYY in date fields

A 30-second scan of these six items eliminates the majority of Close import failures before they happen.


Table of Contents


This guide is for: Sales operations managers, CRM admins, and RevOps teams importing lead lists into Close.

Already know your error type? Jump to the fix using the ToC above.


Why Close Rejects Your CSV

Close validates every imported row against three layers of account-specific configuration: your pipeline stages, your custom field definitions, and your existing lead database. A row that passes basic CSV formatting can still fail all three checks. Unlike CRMs that import everything and let you clean up afterward, Close rejects non-conforming rows at import time — which protects data integrity but makes pre-import validation essential.

Close's data model is also meaningfully different from Salesforce and HubSpot. The primary object in Close is a Lead, not a Contact. A Lead can contain multiple Contacts nested inside it. When you import a CSV, you're creating Lead records — and each Lead record requires a Lead Name. Teams migrating from contact-centric CRMs miss this distinction repeatedly.

The Reality of a Close Error File

Here's what a typical Close import failure looks like before cleanup:

❌ BROKEN — Close CRM import CSV (common failure patterns):

Lead Name,Status,Email,Phone,Company
Alice Chen,Active,[email protected],+14155550100,Acme Corp
,Hot Lead,[email protected],+18005550199,Beta Inc
Carol Jones,New,carol-at-gamma.com,415-555-0100,Gamma LLC
David Kim,Qualified Lead,[email protected],,Delta Co

Import result: 1 row imported, 3 rows failed.

When Close rejects rows, it generates a downloadable error CSV. Here's what that file looks like — and how to read it:

Close import error CSV (the file you download after a failed import):

Lead Name,Status,Email,Phone,Company,Validation Errors
,Hot Lead,[email protected],+18005550199,Beta Inc,"Lead Name is required; Invalid status: 'Hot Lead'"
Carol Jones,New,carol-at-gamma.com,415-555-0100,Gamma LLC,"Invalid email address: 'carol-at-gamma.com'"
David Kim,Qualified Lead,[email protected],,Delta Co,"Invalid status: 'Qualified Lead'"

Key things to notice:
- Row 2 has TWO errors in the Validation Errors column (comma-separated)
- Both must be fixed before that row can be reimported
- Status errors quote the exact value you used — copy this to find the mismatch
- Email errors quote the exact address — find the malformed character

FIXED — the corrected CSV to reimport:
Lead Name,Status,Email,Phone,Company
Beta Inc,Potential,[email protected],+18005550199,Beta Inc
Carol Jones,Potential,[email protected],415-555-0100,Gamma LLC
David Kim,Active,[email protected],,Delta Co

Row 2 hit two separate errors simultaneously — the empty Lead Name and the wrong status value. Both had to be corrected before that row could be reimported. The error CSV is your single most useful diagnostic tool — always start there.


Fix 1: Invalid Status Values

Status validation is among the most common Close import failures. Close maps your CSV's Status column to your account's configured pipeline stages — and the match must be exact, including capitalization and spacing.

"Hot Lead" and "Hot lead" are different values. "In Progress" and "In-Progress" are different values. Close performs no fuzzy matching on status fields.

How to find your exact status labels

  1. Log in to Close and navigate to Settings > Pipeline > Lead Statuses.
  2. Copy each stage name exactly as displayed — spaces, capitalization, and punctuation included.
  3. Build a mapping table from your source status values to your Close stage names.
  4. Paste the mapping into your spreadsheet and apply it before import.
❌ BROKEN — Status values copied from a Salesforce export:

CSV Status column: Hot, Cold, Warm, Qualified, Closed Won

Your Close pipeline: Potential, Active, Qualified, Negotiating, Won

All 'Hot', 'Cold', and 'Warm' rows fail.
'Qualified' passes (exact match).
'Closed Won' fails — the Close stage is 'Won'.

FIXED — mapped to Close pipeline values:
Hot       → Active
Cold      → Potential
Warm      → Potential
Qualified → Qualified
Closed Won → Won

Run your CSV through Data Validator to detect status mismatches before the upload attempt. Provide your Close pipeline stage labels as the valid value list — the validator checks every row against it in your browser.


Fix 2: Missing Lead Name and Required Fields

Lead Name is the only universally required field in a Close lead import. Every row without a Lead Name is rejected without exception.

What to use as Lead Name

Lead Name functions as the lead's display identifier in Close. For B2B imports, use the company name. For B2C or individual contact lists, use the person's full name. The field accepts any non-empty string.

Common causes of blank Lead Name values include migrating from a contact-centric CRM where "Name" referred to a person rather than a lead-level identifier, and spreadsheet formula errors that returned blank when the source data was missing.

❌ BROKEN — HubSpot contact export imported into Close without mapping:

Contact Name,Lifecycle Stage,Email,Company
Alice Chen,Lead,[email protected],Acme Corp
,Lead,[email protected],Beta Inc
Carol Jones,Lead,[email protected],
,Customer,[email protected],Delta Co

Rows 2 and 4: "Lead Name is required" — Contact Name column is empty

FIXED — Company used as Lead Name fallback for empty contact names:
Lead Name,Status,Email
Alice Chen,Potential,[email protected]
Beta Inc,Potential,[email protected]
Carol Jones,Potential,[email protected]
Delta Co,Active,[email protected]

For rows where both Contact Name and Company are blank, you must supply a Lead Name manually — even a placeholder like the email domain is sufficient to unblock the import.


Fix 3: Email Format Failures

Close validates email addresses at import time. Invalid formats are rejected row by row.

Common invalid patterns: missing @ symbol, missing domain, space within the address, double @ symbol, and trailing punctuation that creates an invalid TLD.

❌ BROKEN — Email column with format failures:

[email protected]          → valid
bob-at-beta.com         → missing @ symbol
carol@ acme.com         → space after @
david@delta             → no TLD
emma@@echo.com          → double @
frank@gamma.            → trailing dot, invalid TLD

Close rejects rows 2, 3, 4, 5, 6 with "Invalid email address"

FIXED:
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]
[email protected]

Role-based email addresses (info@, admin@, support@) are accepted by Close's format validator but often cause deliverability issues downstream. Flag these during pre-import validation rather than after they've corrupted your send metrics.


Fix 4: Duplicate Lead Handling

Close detects duplicates by matching email addresses against existing lead records in your account. When a match is found, the import wizard presents three options before processing begins:

  • Create new lead — Imports the row regardless; creates a second lead record with the same email.
  • Merge with existing lead — Updates the existing record with the CSV row's data.
  • Skip — Ignores the duplicate row; the existing record is untouched.

The right choice depends on your use case. For list updates and re-imports after a CRM migration, merge is almost always correct. For adding net-new prospects to an existing database, skip prevents overwriting good records with stale data.

Close's duplicate detection only checks primary email. A lead with the same company name but no email match is not flagged — which means company-only dedup must be handled before the import, not during it.


Fix 5: Custom Field Type Mismatches

Close supports custom fields with defined types: text, number, date, dropdown, and multi-select. Importing a value that doesn't match the field type causes a silent drop — the row imports successfully but the custom field value is blank.

This is the hardest failure to catch because Close shows no error. The import summary reports success, but the fields are empty on the lead record.

❌ BROKEN — Custom field type mismatches (silent failures):

Custom fields in Close:
- "Contract Value" (type: number)
- "Next Follow-Up" (type: date)
- "Region" (type: dropdown — valid values: North, South, East, West)

CSV values that fail silently:
Contract Value: "$45,000"    → currency symbol + comma; field stores as blank
Contract Value: "45,000"     → comma in number; field stores as blank
Next Follow-Up: "April 2026" → not MM/DD/YYYY; field stores as blank
Region: "Northeast"          → not in dropdown; field stores as blank

FIXED:
Contract Value: 45000
Next Follow-Up: 04/01/2026
Region: North

The pattern is consistent: remove formatting characters from number fields, use MM/DD/YYYY for dates, and match dropdown values exactly. For dropdowns with values you need to add, update the field definition in Close Settings before importing — adding new options after the fact doesn't retroactively populate the blank fields.


Common Scenarios

Migrating from Salesforce to Close

Salesforce exports include status and stage values that won't match Close's pipeline. Create a mapping table from Salesforce Lead Status values to Close pipeline stage names before touching the CSV. Salesforce's "Working - Contacted" commonly maps to "Active" in Close; "Closed - Not Converted" typically maps to a custom closed stage.

Importing a list from a sales intelligence tool

Tools like Apollo, ZoomInfo, and LinkedIn Sales Navigator export CSVs with their own field naming conventions. The column "Job Title" in an Apollo export needs to be renamed to match Close's field label. The column "Company Name" may need to become "Lead Name." Map every column header against Close's field list before uploading.

Reimporting after a partial failure

Close processes valid rows and rejects invalid rows in the same operation — successful rows are already in your system when you download the error report. Before reimporting failed rows, download the success CSV from the original import to confirm which records already landed. Reimporting without this check creates duplicates for the rows that succeeded in the original pass.


Additional Resources

Official Close Documentation:

Technical Standards:

Privacy & Data Protection:

Tested: Close CRM import tool, March 2026. Each error type reproduced against a Close account with a configured five-stage pipeline and both standard and custom fields.

PLATFORM SPECIFICATION SOURCE
Platform: Close CRM
Source: Close Help Center — Importing Leads and Contacts
URL: https://help.close.com/hc/en-us/articles/360001175791
Verified: March 2026
Next re-verify: June 2026

Values in this post reflect official documentation at the verification date.
Close updates import behavior with product releases — the official source is authoritative.

FAQ

Status matching is case-sensitive and whitespace-sensitive. "Active" and "Active " (trailing space) are treated as different values. Copy your pipeline stage names directly from Close Settings > Lead Statuses and paste them into your CSV without modification. A visual comparison in your spreadsheet won't catch invisible spaces — use a TRIM() function on the status column before importing.

No. Close's data model requires all contacts to be nested inside Lead records. A CSV import creates Lead records — each row becomes one Lead. If you need to add a Contact to an existing Lead, that happens within the Close UI or via the API after the Lead record exists.

Close processes valid rows and rejects invalid rows in the same import pass. Successfully imported rows are created as Lead records and are not rolled back when other rows fail. Failed rows appear in the downloadable error report from the import completion screen.

Download the success CSV from your original import before reimporting. That file lists every row that already made it into Close. Remove those rows from your reimport file. Reimporting without this step creates a duplicate for every row that succeeded in the original pass.

Close's standard CSV import supports Lead records with associated Contact data. Opportunity and Activity imports require the Close API or a dedicated migration tool. If you need to preserve activity history from another CRM, CSV import alone is insufficient.

Close's importer handles files of several thousand rows reliably. For imports above 10,000 records, splitting into batches of 1,000–2,000 rows is advisable. Smaller batches make the error report easier to parse and reduce the risk of timeout failures during processing.


Validate Your Close Import File Before Uploading

Catch invalid status values, missing Lead Name, and email format errors before Close rejects them
Validate against your exact pipeline stage labels in seconds
Files validate entirely in your browser — contact data never transmitted to any server
Fix only the failing rows and reimport without starting from scratch

Continue Reading

More guides to help you work smarter with your data

csv-import-guides

CSV Delimiter Errors: Fix Comma vs Semicolon for International Teams

Stop all data in Column A errors. Learn comma, semicolon & tab CSV delimiters plus quick fixes for global teams.

Read More
csv-guides

How to Split Large CSV Files Without Excel (Even 1M+ Rows)

Need to split a massive CSV file but Excel keeps crashing? Learn how to split files with millions of rows safely in your browser without uploads.

Read More
excel-guides

Batch Convert Multiple Excel Files to CSV Without Opening Each One

Opening 50 Excel files one at a time to save as CSV takes 45 minutes and produces inconsistent results. Three methods handle the same task in under 60 seconds — none require opening a single file.

Read More

We use analytics cookies to improve SplitForge. Your files never leave your browser — ever. Privacy policy