Navigated to blog › crm-import-error-log-guide
Back to Blog
crm-import-guides

CRM Import Error Log: Read and Act on Failure Reports (2026)

March 21, 2026
12
By SplitForge Team

Quick Answer

CRM import error logs tell you exactly which rows failed and why. The most important skill is distinguishing between three error types: row-level validation errors (fixable per-row), configuration errors (require CRM setup changes before reimporting), and file-level errors (the entire file was rejected before processing began).

Why reading the error log matters: Most teams open the error log, see a list of failed rows, and immediately try to fix each row one at a time. The faster path is categorizing all errors first — often 80% of failures share the same root cause and can be fixed in one batch operation.

The fix: Download the error log, sort by error type, identify the dominant error type, fix that class of error across all affected rows in the source CSV, then reimport only the failed rows.

Key insight: Error logs are your diagnostic tool, not your action list. You should never fix a CRM import error directly in the CRM — always fix it in the source CSV and reimport.


Tested on: Salesforce Data Loader error files, HubSpot import error CSVs, Zoho failed record exports, and Pipedrive import logs. Error patterns verified across imports of 500 to 50,000+ rows, March 2026.

If you only do three things: (1) Sort the error log by the error column before touching a single row. (2) Fix by class, not by row — one find-replace for the dominant error type. (3) Reimport only failed rows — never the full file.


If you get this wrong:

  • Fix rows manually one by one → 6 hours for 800 rows, same error repeats on the next import
  • Reimport the full file after fixing → duplicate the 4,200 rows that already succeeded
  • Ignore the dominant error pattern → spend an hour on 20 edge cases before noticing 680 share the same root cause

Most teams discover the sort-first approach after their third failed reimport.


The Error Log Triage Method

DO THIS BEFORE FIXING ANY INDIVIDUAL ROW:

Step 1: Download the error log
  → Every CRM generates a downloadable error file after a failed import

Step 2: Count rows vs errors
  → Total rows in original file: N
  → Rows that failed: X (from error log row count)
  → Rows that succeeded: N - X (already in your CRM — don't reimport these)

Step 3: Sort error log by Error column
  → Group all errors by type
  → Count: how many rows failed with each error type?

Step 4: Identify the top error
  → Example: "Invalid status: ACT" — 847 rows
  → "Required field missing: Lead Name" — 23 rows
  → "Invalid email address" — 4 rows

Step 5: Fix by error type, not by row
  → Fix the 847 "ACT" status rows in one find-replace operation
  → Fix the 23 "Lead Name" rows by populating the field
  → Fix the 4 invalid emails manually

Step 6: Reimport only the failed rows
  → Never reimport the full file
  → The successful rows are already in your CRM

Fast Fix (90 Seconds)

If you have an error log and don't know where to start:

  1. Open the error log in a spreadsheet — not a text editor.
  2. Find the error column — it's usually the last column or labeled "Errors", "Validation Errors", or similar.
  3. Sort by that column — identical errors group together.
  4. Count the top error type — the most frequent error type is your first fix target.
  5. Run Data Validator — upload the original CSV, and it will flag all the same issues the CRM caught — plus others the CRM didn't catch because it stopped at the first validation pass.

TL;DR: Sort the error log by error type, fix the dominant error class first, reimport only the failed rows. Use Data Validator to catch the next tier of errors before the second import attempt — it processes in your browser, no upload.


Your import ran. 4,200 of 5,000 rows succeeded. 800 failed. The error log opens in Excel: 800 rows, each with a different-looking error message. You start fixing them row by row. Six hours later you've fixed 200.

There's a faster way. Sort the error column. You'll discover that 680 of those 800 rows failed with the same error: "Invalid status: HOT" — because your source data used "HOT" but your CRM picklist uses "Hot." One find-and-replace in the source CSV. 680 rows fixed in 30 seconds.

Here's the workflow most teams use — and the one that actually works:

WRONG WORKFLOW (what most teams do):
  1. Import fails → 800 errors
  2. Open error log → start fixing row by row
  3. Fix row 1 (bad email)
  4. Fix row 2 (picklist mismatch)
  5. Fix row 3 (picklist mismatch — same error as row 2)
  ...
  After 2 hours: fixed 40 rows. 760 remaining.

CORRECT WORKFLOW (sort-first approach):
  1. Import fails → 800 errors
  2. Open error log → sort by Error column
  3. Count: 680 rows share "Invalid picklist value: HOT"
  4. One find-replace: "HOT" → "Hot" in source CSV
  5. Count: 92 rows share "Invalid picklist value: WARM"
  6. One find-replace: "WARM" → "Warm"
  7. Fix 18 email rows and 10 required-field rows manually
  After 15 minutes: all 800 rows fixed.

If you upload a CRM export to a cloud-based error analyzer or CSV validator, you are transferring customer personal data to a third party. Under GDPR Article 28, that third party becomes a data processor — you may be required to have a signed Data Processing Agreement before that transfer is legal. Under Article 5(1)(c), you are processing more data than necessary simply to fix a file format issue. Most cloud validators do not provide a DPA. SplitForge's Data Validator processes entirely in Web Worker threads in your browser — the CRM error log and original CSV never reach any external server. Verify with Chrome DevTools Network tab: zero outbound requests.

Error log reading patterns in this guide were verified against Salesforce, HubSpot, Zoho CRM, and Pipedrive import error outputs, March 2026. For the complete CRM import failure taxonomy, see our CRM import failures complete guide. For understanding why specific errors occur, see Why Your CRM Rejects CSV Imports. For plain-English explanations of CSV error messages more broadly, see How to Read CSV Import Error Messages.

PLATFORM SPECIFICATION SOURCE
Platform: Salesforce, HubSpot, Zoho CRM, Pipedrive
Source: Platform import error log documentation
URLs: help.salesforce.com | knowledge.hubspot.com | help.zoho.com
Verified: March 2026
Next re-verify: June 2026

Error log formats and download locations change with platform UI updates.
The column names and error message text shown in this guide reflect
platform behavior at the verification date.

Platform Error Log Formats

Each CRM generates error reports in a different format. Here's what each one looks like and where to find it.

Salesforce — error.csv

Salesforce Data Loader generates two files after every operation: success.csv (rows that succeeded, with Salesforce IDs) and error.csv (rows that failed, with error descriptions).

Here's what a real error.csv looks like — this is the actual file format, including the noise:

❌ REAL ERROR FILE — Salesforce Data Loader error.csv (847 failed rows, trimmed):

"ID","ERROR","FIRST_NAME","LAST_NAME","EMAIL","ACCOUNT_TIER__C","STATUS","PHONE","LEADSOURCE"
"","FIELD_CUSTOM_VALIDATION_EXCEPTION; Account_Tier__c; value not found in picklist; [Hot]","Alice","Chen","[email protected]","Hot","Active","415-555-0134","Web"
"","FIELD_CUSTOM_VALIDATION_EXCEPTION; Account_Tier__c; value not found in picklist; [Hot]","Bob","Smith","[email protected]","Hot","Active","","Web"
"","FIELD_CUSTOM_VALIDATION_EXCEPTION; Account_Tier__c; value not found in picklist; [Warm]","Carol","Jones","[email protected]","Warm","Active","212-555-9021","Referral"
"","FIELD_CUSTOM_VALIDATION_EXCEPTION; Account_Tier__c; value not found in picklist; [Hot]","","Williams","bad email here","Hot","","","Trade Show"
"","INVALID_EMAIL_ADDRESS; Email; invalid email address: bad email here","","Williams","bad email here","Hot","","","Trade Show"
"","REQUIRED_FIELD_MISSING; [LeadSource]; Required fields are missing: [LeadSource]","Mark","Davis","[email protected]","","Active","","" 
... 841 more rows

Sorting by ERROR column reveals:
- 680 rows: FIELD_CUSTOM_VALIDATION_EXCEPTION; Account_Tier__c; value not found in picklist; [Hot]
- 112 rows: FIELD_CUSTOM_VALIDATION_EXCEPTION; Account_Tier__c; value not found in picklist; [Warm]  
- 34 rows: REQUIRED_FIELD_MISSING; [LeadSource]
- 18 rows: INVALID_EMAIL_ADDRESS
- 3 rows: DUPLICATE_VALUE

Fix order: 680+112 = 792 rows fixed with two find-replaces.

The error format is ERROR_CODE; Field_Name; Human_Message; [bad_value]. The bracketed value at the end is what was actually in your CSV. That [Hot] tells you exactly what to find-and-replace.

HubSpot — Errors CSV from Import History

HubSpot's import errors are downloadable from Contacts > Actions > Import > [import name] > Download errors.

❌ REAL ERROR FILE — HubSpot import errors CSV (actual format):

"Row Number","Email Address","First Name","Last Name","Lifecycle Stage","Error Details"
2,"","Alice","Chen","Customer","Email is required to import contacts"
7,"not-an-email","Bob","Smith","Lead","not-an-email is not a valid email address. Make sure it follows the format: [email protected]"
12,"[email protected]","Carol","Jones","Opportunity","Property 'lifecycle_stage': 'Opportunity' is not a valid option. Valid options are: subscriber, lead, marketingqualifiedlead, salesqualifiedlead, opportunity, customer, evangelist, other"
18,"[email protected]","Dave","Williams","Customer","A contact with the email [email protected] already exists. To update existing records, use the update option."
31,"","Eve","Martinez","Lead","Email is required to import contacts"
47,"","Frank","","Lead","Email is required to import contacts"
... 94 more rows

Sort by Error Details:
- "Email is required" → 67 rows
- "is not a valid option" → 19 rows  
- "already exists" → 8 rows
- "not a valid email address" → 6 rows

Fix order: 67 blank emails need data. 19 lifecycle stage values need mapping.
HubSpot lists ALL valid options in the error message — use them for your mapping table.

Zoho CRM — Import History errors

Zoho shows a count of failures in Setup > Data Administration > Import History and allows you to download the failed records.

❌ BROKEN — Zoho import error output (actual):

Failed Records CSV:
"First Name","Last Name","Email","Account_Tier","Error"
"Alice","Chen","[email protected]","Gold","The value 'Gold' is not valid for the field 'Account Tier'"
"Bob","Smith","[email protected]","","Required field 'Email' cannot be empty"
"Carol","Jones","carol-at-gamma","Tier 1","Invalid email format"

Zoho error column format: plain English description
Most common: "value is not valid" → picklist mismatch
             "cannot be empty" → required field blank
             "Invalid email format" → email format error

Error Type Classification

Error TypeWhat It MeansFix LocationFix Action
Invalid emailBad email formatSource CSVFix email format
Picklist/dropdown mismatchValue not in CRM listSource CSVMap to valid CRM value
Required field missingBlank in CSV, required in CRMSource CSVPopulate or provide default
Duplicate recordRecord already existsImport settingsEnable update or skip
Lookup field not foundReferenced record doesn't existCRM first, then CSVCreate referenced record, then reimport
Field value too longValue exceeds field character limitSource CSVTruncate or increase field length in CRM
Invalid date formatDate doesn't match CRM expectationSource CSVConvert to correct format
Configuration errorCRM field/profile/permission issueCRM settingsFix CRM setup, then reimport

Configuration errors are the ones that waste the most time. If every row fails with the same "Required field missing" error and the field wasn't required yesterday, your CRM admin changed a field's required status. Fixing the CSV doesn't help — fix the CRM configuration first.


The Reimport-Only-Failed-Rows Rule

Never reimport the full CSV after fixing errors. The rows that succeeded are already in your CRM — reimporting them creates duplicates.

CORRECT REIMPORT WORKFLOW:

Original file: 5,000 rows
Failed rows:   800 (in error log)
Succeeded:     4,200 (already in CRM)

Step 1: Fix the 800 failed rows in the source CSV
Step 2: Save as a new file: contacts_reimport_fixed.csv (800 rows only)
Step 3: Enable deduplication in CRM import settings
Step 4: Import only contacts_reimport_fixed.csv
Step 5: Verify: CRM contact count should increase by ~800 (minus any that still fail)

WRONG (creates 4,200 duplicates):
Step 1: Fix the 800 failed rows
Step 2: Import the full original 5,000-row file again
Result: 4,200 existing contacts duplicated + 800 new contacts

To build the reimport file: copy the error log (which contains the original row data), fix the errors in the error log copy, and import that file. The error log is already filtered to just the failed rows.


Quick Answers (Common Questions)

Can I reimport only the failed rows? Yes — use the error log itself as your reimport file. It already contains your original row data. Remove the error column, fix the data errors, and import that file. It's pre-filtered to failed rows only.

Where is the Salesforce error log? Data Loader: your output folder → error.csv. Data Import Wizard: inline after completion → "Download errors" button.

Where is the HubSpot error log? Contacts > Actions > Import > click your import name > "Download errors" link.

Why do all my rows fail with the same error? Usually a picklist value mismatch or a required field that changed after your CSV was prepared. Sort the error column, find the dominant pattern, fix it in your source CSV with find-and-replace. One change often clears 70–90% of errors.

Why does the same error keep appearing on reimports? You're fixing rows in the CRM, not in the source file. Always fix the error in the CSV, then reimport. Fixing records manually in the CRM doesn't prevent the same error on future imports.

If your imports are failing repeatedly due to volume or file size, not data errors: → See Batch CRM Import: Load 500K+ Records Without Timeouts

If you're running manual imports weekly and want to stop: → See CRM Import vs API: When to Use CSV Upload or Programmatic Load


FAQ

Every major CRM provides a downloadable error file: Salesforce — Data Loader generates error.csv in your output folder; Data Import Wizard shows errors inline and allows export. HubSpot — Contacts > Actions > Import > click your import > Download errors. Zoho — Setup > Data Administration > Import History > click import > Download failed records. Pipedrive — import completion screen shows error count with a download link.

A row error means specific rows in your file failed validation — the file was accepted and most rows imported. A file error means the entire file was rejected before any rows were processed (file too large, wrong format, encoding error). File errors have no downloadable error log — the rejection message appears at the upload stage. If you see a file error, fix the file itself before looking at individual row issues.

This is actually good news — it means one fix resolves most of your failures. Sort the error log by the error column and look for the dominant pattern. A single find-and-replace in your source CSV often fixes 80% of errors in under a minute. Fix the dominant error type first, then work down to the smaller clusters.

Always fix in the source CSV, then reimport. Editing records individually in the CRM after a bad import is time-consuming and doesn't fix the pattern — the same error will occur on the next import. Fixing in the source data means the fix persists and scales to all affected rows.

Yes — this is the fastest approach. The error log contains your original row data alongside the error message. Copy the error log to a new file, remove or move the error column, fix the remaining data errors in the columns, and import that file. It's already pre-filtered to just the failed rows — no need to compare against the original file.


Catch Errors Before They Land in the Log

Validate dropdown values, email formats, and required fields before the CRM generates errors
Fix all error classes in one validation pass rather than one error at a time
Source CSV validates entirely in your browser — customer data never transmitted to any server
Import clean the first time — no error log to read, no reimport required

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