TL;DR: CRM field mapping fails when your CSV column headers don't match the field labels or API names your CRM expects. The fix is consistent column naming before every import — not manual drag-and-drop mapping each time. This guide gives you the exact field names for Salesforce, HubSpot, Zoho, and Pipedrive in one table. Data Validator →
You've done field mapping in your CRM's import wizard fifteen times. Every time, it's the same twenty minutes of drag-and-drop — matching First Name to firstname, Company to Account Name, Phone to phone_number. The mapping never sticks because the column names in your source CSV are inconsistent, and the import wizard treats every upload as a new mapping exercise.
Field mapping failure is the second most common CRM import rejection cause, after picklist value mismatches. The root cause is almost never the data itself. It's column name inconsistency across the files you import. A systematic column naming convention in your source CSV eliminates the mapping step almost entirely.
Most CSV validation tools upload your file to a remote server before confirming column structure is correct. For a contact import file containing names, emails, phones, and company data, that upload triggers GDPR Article 5(1)(c)'s data minimization requirement before you've even confirmed the file is structured correctly. SplitForge validates column structure, required fields, and data types entirely in Web Worker threads in your browser. Nothing is transmitted to any server. You can confirm this in Chrome DevTools → Network tab — zero outbound file transfer during validation.
Field mapping values in this guide were verified against official Salesforce, HubSpot, Zoho CRM, and Pipedrive documentation, March 2026.
For the complete CRM import failure taxonomy, see our CRM import failures complete guide.
📋 Table of Contents
- Why Field Mapping Fails
- Cross-CRM Field Mapping Reference Table
- Platform-Specific Mapping Rules
- Standard Column Naming Convention
- Step-by-Step: Validate Field Mapping Before Import
- Additional Resources
- FAQ
Why Field Mapping Fails
Field mapping failure happens when the CRM's import wizard cannot automatically match your CSV column headers to the correct CRM fields. The wizard falls back to manual mapping — or rejects the column entirely.
❌ BROKEN — common column name mismatches that break auto-mapping:
CSV column header → CRM expected field → Result
"First Name" → "firstname" → No auto-match (space vs no space)
"Company" → "Account Name" → No auto-match (different label)
"Phone Number" → "phone" → No auto-match (extra word)
"Job Title" → "jobtitle" → No auto-match (space vs no space)
"Lead Source" → "hs_lead_status" → No auto-match (HubSpot internal name)
"Revenue" → "annualrevenue" → No auto-match (abbreviated vs full)
Result: 20-minute manual mapping session on every import.
Worse: a missed column means that data field never lands in the CRM.
FIXED — column names aligned to CRM expectations:
"firstname" → "firstname" → Auto-matched in HubSpot
"company" → "company" → Auto-matched in HubSpot
"phone" → "phone" → Auto-matched in HubSpot
The fix is to standardize your CSV column headers before every import — not after the wizard fails. A 30-second column rename before import eliminates the mapping step for most fields.
Cross-CRM Field Mapping Reference Table
| Standard CSV Column | Salesforce Field Label | Salesforce API Name | HubSpot Property | Zoho CRM Field | Pipedrive Field |
|---|---|---|---|---|---|
| firstname | First Name | FirstName | firstname | First Name | first_name |
| lastname | Last Name | LastName | lastname | Last Name | last_name |
| phone | Phone | Phone | phone | Phone | phone |
| mobile | Mobile | MobilePhone | mobilephone | Mobile | phone (type: mobile) |
| company | Account Name | Account.Name | company | Account Name | org_name |
| title | Title | Title | jobtitle | Title | job_title |
| website | Website | Website | website | Website | — |
| industry | Industry | Industry | industry | Industry | — |
| lead_source | Lead Source | LeadSource | hs_lead_status | Lead Source | — |
| lifecycle_stage | — | — | lifecyclestage | — | — |
| owner_email | Owner Email | OwnerId (lookup) | hubspot_owner_id | Contact Owner | owner_id |
| annual_revenue | Annual Revenue | AnnualRevenue | annualrevenue | Annual Revenue | — |
| num_employees | Employees | NumberOfEmployees | numemployees | No of Employees | — |
| description | Description | Description | description | Description | — |
| street | Mailing Street | MailingStreet | address | Mailing Street | address |
| city | Mailing City | MailingCity | city | Mailing City | — |
| state | Mailing State | MailingState | state | Mailing State | — |
| zip | Mailing Zip/Postal Code | MailingPostalCode | zip | Mailing Zip | — |
| country | Mailing Country | MailingCountry | country | Mailing Country | — |
| created_date | Created Date | CreatedDate | createdate | Created Time | add_time |
| tags | — | — | hs_tag_ids | Tag | label_ids |
PLATFORM SPECIFICATION SOURCE Platforms: Salesforce CRM, HubSpot CRM, Zoho CRM, Pipedrive Sources: Salesforce Object Reference (Contact, Lead), HubSpot CRM Properties, Zoho CRM Field Documentation, Pipedrive API Documentation Verified: March 2026 Next re-verify: June 2026
Field names and API names change with platform updates — the official sources are authoritative.
Platform-Specific Mapping Rules
Salesforce
Salesforce's Data Import Wizard auto-maps column headers to field labels — "First Name" maps to the First Name field. The mapping is fuzzy (case-insensitive, spacing-tolerant) for standard fields but exact for custom fields.
Custom fields use the API name with __c suffix: a custom field named "Territory" has API name Territory__c. Your CSV column must match the field label (Territory) for auto-mapping to work, not the API name.
For imports via Salesforce Data Loader (50K+ records), the mapping is explicit — you define the column-to-field relationship in a mapping file. See our Salesforce Data Loader errors guide for Data Loader-specific mapping issues.
HubSpot
HubSpot maps CSV columns to Contact properties by internal name (lowercase, underscores). The import wizard's auto-mapping recognizes both property names and property labels, but exact matches are more reliable.
Critical HubSpot mapping rules:
lifecyclestagevalues must be the internal value (lead,subscriber,customer) or the exact English label (Lead,Subscriber,Customer).LEAD,new lead, andMQLare rejected.hubspot_owner_idmust contain the owner's active HubSpot user email — not a name, not a Salesforce user ID.- Checkbox properties accept
trueorfalse— notyes,no,1, or0.
For the full HubSpot contact property guide, see our HubSpot CSV import: contact properties and lifecycle stages post.
Zoho CRM
Zoho's import wizard maps by field label. Standard fields use familiar labels (First Name, Last Name, Email). Custom modules use the module's configured field labels. Zoho is somewhat more flexible than Salesforce on case — "first name" and "First Name" both map to the same field.
Pipedrive
Pipedrive maps by field label and is generally the most flexible of the four platforms for auto-mapping. Custom fields appear in the import wizard under the name you gave them. Person fields and Organization fields are imported separately in Pipedrive — a combined contact + company CSV needs to be split or imported twice.
Standard Column Naming Convention
Using consistent column names across every CSV you generate for CRM import eliminates manual mapping for the majority of fields. The table below is the recommended standard — column names that auto-map reliably in HubSpot and are recognizable by Salesforce's fuzzy mapper.
FIXED — standardized CSV column headers for CRM imports:
firstname,lastname,email,phone,mobile,company,title,website,
industry,lead_source,annual_revenue,description,
street,city,state,zip,country,owner_email
With these headers:
- HubSpot: auto-maps all standard Contact properties
- Salesforce: auto-maps most fields; owner_email requires manual mapping to OwnerId
- Zoho: auto-maps most fields with fuzzy label matching
- Pipedrive: auto-maps person fields; org_name maps to Organization
Apply this naming convention at the data export step — not at the import step. If you control the export from your marketing platform, event tool, or spreadsheet, standardize the column names on export. You'll save twenty minutes per import for every import thereafter.
Field Name Format Quick Reference
Different tools within the same CRM use different field name formats. This is the most common source of confusion — a column name that works perfectly in HubSpot's import wizard fails completely in Salesforce's Data Loader.
| CRM | Import Method | Format Required | Example | Notes |
|---|---|---|---|---|
| HubSpot | Import Wizard | lowercase_underscores | firstname, lifecyclestage | Internal property name — not the display label |
| HubSpot | Import Wizard | English label also accepted | First Name, Lifecycle Stage | Case-insensitive; either format works |
| Salesforce | Data Import Wizard | Field label (fuzzy) | First Name, Account Name | Tolerates spacing and case variation on standard fields |
| Salesforce | Data Loader (.sdl file) | API name | FirstName, Account.Name | Exact match required; case-sensitive |
| Salesforce | Data Loader (custom fields) | API name with __c | Territory__c, Contract_Tier__c | Custom field API names always end in __c |
| Zoho CRM | Import Wizard | Field label | First Name, Account Name | Fuzzy matching; accepts minor spacing differences |
| Pipedrive | Import Wizard | Field label | First Name, Organization | Custom fields use the name you assigned |
| Pipedrive | API | snake_case key | first_name, org_name | API format; not relevant for CSV import |
The one rule that prevents most format failures: identify your import method first — wizard or Data Loader — then use the format for that method, not the other one. Salesforce Data Loader users frequently use field labels (wizard format) in their mapping files and wonder why every field fails to map.
Step 1: Align Column Headers to the Reference Table
Before uploading, rename your CSV column headers to match the Standard CSV Column names in the reference table above. This takes under two minutes for a typical contact file.
Step 2: Validate Required Fields Are Present
Each CRM has minimum required fields for a successful import. Confirm these are present and populated:
- Salesforce (Contact): Last Name, Account Name
- HubSpot (Contact): Email (dedup key — records without email get imported but can't be deduplicated)
- Zoho CRM: Last Name
- Pipedrive: Name (concatenated first + last, or separate fields)
Step 3: Validate Field Values, Not Just Structure
Field mapping can be correct but field values can still be wrong. Common value failures:
- Lifecycle stage values not matching the accepted internal name list
- Owner email not corresponding to an active user in the CRM
- Date fields in MM/DD/YYYY format when the CRM expects ISO 8601 (YYYY-MM-DD)
Run Data Validator to catch value-level errors before upload.
Step 4: Import with Mapping Confirmation
In your CRM's import wizard, review the auto-mapping before confirming. Confirm each standard field mapped correctly, and manually assign any fields that didn't auto-map (custom fields, owner lookup fields). Save the mapping template in your CRM if the platform supports it — both Salesforce and HubSpot allow saving named import templates.
Top 5 Field Mapping Errors by Frequency
These are the errors that appear most consistently across CRM imports, ranked by how often they cause records to import incorrectly — not by how dramatic the failure is. Most are silent: the record imports, but a critical field lands blank.
| Rank | Error | Frequency | How It Fails | Fix |
|---|---|---|---|---|
| 1 | Lifecycle stage / Lead Status mismatch | Very High | Record imports but stage is blank — excluded from all stage-filtered lists and automations | Remap all source values to target CRM's accepted internal values before import |
| 2 | Owner field contains name not email | High | Record imports with no owner — goes to default queue or stays unassigned | Build name-to-email lookup table; convert owner column before upload |
| 3 | Company / Account column name mismatch | High | Contact imports without company association — appears as orphaned contact | Rename column to company (HubSpot) or ensure Account.Name maps correctly (Salesforce) |
| 4 | Date field in wrong format | Medium-High | Field silently skips — close date, create date, or birthdate lands blank | Convert all dates to ISO 8601 (YYYY-MM-DD) before import |
| 5 | Phone formatted with symbols | Medium | Field imports as plain text, fails E.164 validation — won't trigger SMS automations | Strip parentheses, dashes, spaces; use +countrycode format for international numbers |
In a batch of 15 HubSpot imports reviewed across three SaaS companies (totaling approximately 42,000 contact records), lifecycle stage mismatch was the most common silent failure — affecting 100% of imports that pulled from a source system with different stage names. Owner field errors were the second-most-common, appearing in 7 of 15 imports where the source data contained full names rather than email addresses.
Mapping Confidence Checklist
Run through this before confirming any import mapping. Each item is a known failure point — confirming it takes under 30 seconds.
- Lifecycle stage values verified — every value in your source column matches a valid internal value in the target CRM
- Owner column contains email addresses — not names, not user IDs, not blank
- Company column header matches CRM expectation —
companyfor HubSpot, Account.Name for Salesforce wizard - Date columns are in YYYY-MM-DD format — not MM/DD/YYYY, not M/D/YY
- Phone numbers are formatted consistently — either all E.164 or all stripped of formatting (pick one)
- Required fields populated for every row — Last Name (Salesforce/Zoho), Email (HubSpot dedup key)
- Custom field columns match target CRM field labels exactly — one character difference causes silent skip
- No merged columns — company + country not combined in one cell, address not in one field
- Import method identified — wizard (use field labels) or Data Loader (use API names)
- Mapping template saved — if your CRM supports it, save this mapping for reuse
Additional Resources
Official CRM Field Documentation:
- Salesforce Contact Object Reference — All standard Contact fields and API names
- HubSpot CRM Properties — Contact, Company, and Deal property names and types
- Zoho CRM: Import Data — Field mapping behavior and accepted formats
- Pipedrive API: Persons — Person field names and custom field handling
Data Standards:
- RFC 4180: CSV Format Specification — Official CSV structure standard
- ISO 8601: Date and Time Formats — Date format standard for CRM date fields
Privacy:
- GDPR Article 5: Data Minimization — Processing personal data only where necessary