Quick Answer
CRM custom field import failures split into four categories: dropdown/picklist values that don't match any configured option, type mismatches where the value format doesn't match the field definition, required custom fields that are blank in the CSV, and lookup field references that point to records that don't exist in the target CRM.
Why it happens: Custom fields are configured per account — the same field name may have completely different valid values across two Salesforce orgs, two HubSpot portals, or two Zoho instances. Source data validated in one environment is not automatically valid in another.
The fix: Export your custom field definitions from the target CRM before validating the CSV. Check every dropdown column against its configured options, every number field for formatting characters, every date field for format consistency.
Root cause: Dropdown/picklist mismatches are one of the most common custom field failures. A value imported from a legacy system that doesn't exist in the target CRM's dropdown definition fails silently — the record imports, the field is blank.
The Silent Custom Field Failure
Custom field errors are different from structural import errors. A structural error (wrong column count, bad email format) usually produces a row rejection. Custom field type mismatches almost always produce a silent drop — the record imports, the custom field is blank, and the failure is invisible in the import summary.
3 symptoms of silent custom field failures:
1. DROPDOWN BLANK AFTER IMPORT
Record imported successfully → custom dropdown field shows blank
→ Value in CSV doesn't exist in the dropdown's configured options
→ Fix: export dropdown options from CRM, align CSV values to exact match
2. NUMBER FIELD BLANK AFTER IMPORT
Record imported → numeric custom field shows blank
→ Currency symbol, comma, or text in the numeric value
→ Fix: strip formatting from number columns before importing
3. DATE FIELD BLANK AFTER IMPORT
Record imported → date custom field shows blank
→ Date format doesn't match what the CRM field expects
→ Fix: standardize to the CRM's expected date format (see Fix 3)
Rule: If custom fields are blank after a "successful" import, don't re-import yet. Diagnose which field type is failing and fix the source data first.
Fast Fix (90 Seconds)
If custom fields are blank after import, run this check sequence:
- Open 3–5 affected records in your CRM — identify which specific custom fields are blank.
- Go to the field definition — CRM Settings > Fields > [Object] > [Custom Field]. Note the field type and, for dropdowns, the configured option values.
- Open your CSV — Find the column corresponding to that field. Check: does every value exactly match one of the configured options? Are there currency symbols in numeric fields? Is the date format correct?
- Run Data Validator — Provide the configured dropdown options as the valid value list. The validator checks every row against it in your browser.
- Fix the source CSV, reimport affected records using merge/update — don't reimport the full file.
TL;DR: Custom field failures are almost always silent — the record imports, the field is blank. Export your dropdown option lists from the CRM before validating. Check number fields for currency characters. Validate date formats match the CRM's expected format. Run Data Validator to catch all mismatches before uploading.
You imported 8,000 contacts into Salesforce. The import summary says 8,000 succeeded, 0 failed. Three weeks later, a sales manager reports that the "Account Tier" field is blank on every record. You check the import CSV — the field was populated in every row. The values were: Gold, Silver, Bronze. The Salesforce picklist uses: Tier 1, Tier 2, Tier 3. None of the CSV values matched any picklist option.
8,000 records. Zero failures flagged. All the Account Tier data is gone.
CRM data often contains customer classifications, deal stages, and account segmentation data — commercial intelligence that's personal data when paired with contact information under GDPR Article 4(1). Most CSV validation tools upload your file to a remote server to process it. For a CRM export containing contact names alongside account tier, deal stage, or revenue fields, that upload creates a GDPR Article 5(1)(c) data minimization exposure — transferring data outside your control, often without a Data Processing Agreement — and triggers Article 28 processor obligations with the vendor. This occurs before you've confirmed the file is even correct. SplitForge's Data Validator processes validation entirely in Web Worker threads in your browser — the file never reaches any external server. Confirm this in Chrome DevTools under the Network tab during validation: zero outbound requests.
Validation patterns in this guide were tested against Salesforce, HubSpot, and Zoho CRM custom field configurations, March 2026. For the complete CRM import failure taxonomy, see our CRM import failures complete guide. For Salesforce-specific picklist errors, see Fix Salesforce Bad Value for Restricted Picklist. For field mapping errors, see the CRM CSV Field Mapping Guide.
Custom Field Failure Patterns by Type
| Field Type | Common Failure | Why It Fails | Fix |
|---|---|---|---|
| Dropdown / Picklist | Value not in option list | Case mismatch, legacy value, wrong system | Export options from CRM, align CSV values |
| Number / Currency | Value is blank after import | Currency symbol or comma in value | Strip $, €, commas before import |
| Date | Value is blank after import | Wrong date format for CRM locale | Convert to CRM's expected format |
| Checkbox / Boolean | Value ignored | "Yes/No" instead of TRUE/FALSE | Use CRM's accepted boolean format |
| Lookup / Relationship | "Record not found" | Referenced record doesn't exist in CRM | Pre-import referenced records |
| Required custom field | Row rejected | Field is blank in CSV, required in CRM | Populate or provide default value |
| Multi-select picklist | Only one value imported | Values not correctly comma-separated | Format as "Value1;Value2" per CRM docs |
Table of Contents
- Fix 1: Dropdown and Picklist Mismatches
- Fix 2: Number and Currency Field Failures
- Fix 3: Date Field Format Mismatches
- Fix 4: Lookup Field Reference Failures
- Fix 5: Required Custom Field Violations
- Platform-Specific Custom Field Rules
- Pre-Import Custom Field Validation Workflow
- Additional Resources
- FAQ
Fix 1: Dropdown and Picklist Mismatches
Dropdown custom fields in every CRM compare the imported value to a configured list of valid options. The comparison is almost always case-sensitive and whitespace-sensitive. Gold and gold are different values. Gold and Gold (trailing space) are different values.
❌ BROKEN — Picklist values from source system don't match target CRM:
Source system picklist options: Gold, Silver, Bronze
Target Salesforce picklist options: Tier 1, Tier 2, Tier 3
CSV values imported:
Gold → no match in target → field blank
Silver → no match in target → field blank
Bronze → no match in target → field blank
All rows import successfully. All Account_Tier__c fields are blank.
No error generated.
FIXED — map source values to target values before import:
Gold → Tier 1
Silver → Tier 2
Bronze → Tier 3
How to export dropdown options from each CRM:
- Salesforce: Setup > Object Manager > [Object] > Fields & Relationships > [Field] > Values section lists all active options
- HubSpot: Settings > Properties > [Object] > [Property] > Options tab shows all defined values
- Zoho: Setup > Modules and Fields > [Module] > [Field] > Edit shows option list
Build a mapping table before importing any file with dropdown custom fields. Every source value must map to an exact target option.
What a Dropdown Validation Failure List Looks Like
This is the output you want to see BEFORE importing — not after discovering blank fields in the CRM.
❌ INVALID DROPDOWN VALUES DETECTED (Data Validator output):
Column: Account_Tier__c
Valid options: Tier 1, Tier 2, Tier 3
Row 14: "gold" → case mismatch — no match in option list
Row 27: "Gold " → trailing space — "Gold " ≠ "Gold" ≠ "Tier 1"
Row 82: "Tier One" → synonym, not the configured label
Row 103: "SILVER" → all caps — no match
Row 241: "" → blank — required field
5 rows would import with Account_Tier__c = [blank].
4 require value remapping. 1 requires data to be sourced.
Fix every row in this list before importing. Running validation again after fixing confirms zero mismatches before the upload.
Here's what the silent failure looks like at the system level — this is what Salesforce's internal log records for a picklist mismatch, which never surfaces in the import summary:
❌ RAW IMPORT RESULT (Salesforce internal field assignment):
Field: Account_Tier__c (Restricted Picklist)
Input value: "Gold " ← trailing space, invisible in spreadsheet
System check: "Gold " not in [Tier 1, Tier 2, Tier 3]
Assigned: null
Field: Account_Tier__c
Input value: "gold" ← case mismatch
System check: "gold" not in [Tier 1, Tier 2, Tier 3]
Assigned: null
Import summary line: "1 record(s) imported successfully."
Account_Tier__c in Salesforce: [blank]
The import didn't fail. The field assignment silently failed.
The trailing space is the version that kills you — it looks identical to "Gold" in every spreadsheet viewer. Only a raw text editor or a validator that trims and compares values will catch it.
Fix 2: Number and Currency Field Failures
Number and currency custom fields behave identically to standard number fields — they only accept plain decimal values. Currency symbols, comma thousands separators, and percentage signs cause silent field drops.
❌ BROKEN — Number custom field values that import as blank:
Custom field type: Currency (Number)
CSV values that fail silently:
"$12,500.00" → currency symbol + comma → blank
"12,500" → comma as thousands separator → blank
"12500.00 USD" → trailing text → blank
"(500.00)" → accounting negative notation → blank
"12.5K" → abbreviated → blank
"N/A" → text in numeric field → blank
FIXED:
12500.00
12500.00
12500.00
-500.00
12500.00
[remove row or use 0 — N/A has no numeric equivalent]
Fix 3: Date Field Format Mismatches
Custom date fields follow the same format requirements as standard date fields — the expected format depends on the CRM and account locale. For custom fields, the format requirement is the same as the standard date field for that CRM.
❌ BROKEN — Date custom field formats that import as blank:
CRM expecting MM/DD/YYYY (Salesforce US locale):
"15/04/2026" → DD/MM/YYYY → blank
"April 15 2026" → natural language → blank
"2026-04-15" → ISO 8601 → may work in some versions; use MM/DD/YYYY to be safe
"04-15-26" → two-digit year → blank
FIXED — MM/DD/YYYY for Salesforce US:
04/15/2026
04/15/2026
04/15/2026
04/15/2026
For cross-platform imports, use ISO 8601 (YYYY-MM-DD) as the universal format — it's accepted by HubSpot, Pipedrive, and most Salesforce configurations regardless of locale.
Fix 4: Lookup Field Reference Failures
Lookup and relationship custom fields store references to other records by ID or by a unique external identifier. If the referenced record doesn't exist in the target CRM, the lookup fails — either the row is rejected or the lookup field is left blank.
❌ BROKEN — Lookup fails on company name mismatch (silent field blank):
Custom field: Primary_Account__c (lookup to Account object)
CSV value → CRM record name → Match?
"Acme Corp" ↔ "Acme Corporation" → ❌ no match → field blank
"ACME Corporation" ↔ "Acme Corporation" → ❌ case mismatch → field blank
"Acme Corp." ↔ "Acme Corporation" → ❌ period difference → field blank
"Acme Corporation" ↔ "Acme Corporation" → ✓ exact match → field populated
No import error generated for the ❌ rows.
The contact imports. The Primary_Account__c field is blank.
FIXED — two approaches:
Approach A (match by ID — most reliable):
CSV value: 001XX000003AAAA (18-character Salesforce Account ID)
Salesforce resolves by ID, not name — no name matching ambiguity
Approach B (match by exact name):
Export Account records from Salesforce
Find the exact Account Name for each lookup value in your CSV
Replace CSV values with exact matches character-for-character
Import parent records before child records. Always. If your import includes contacts with a custom Account lookup field, the Accounts must exist in the target CRM before importing the contacts.
Fix 5: Required Custom Field Violations
Some CRM administrators configure custom fields as required — meaning every record must have a value. A CSV row with a blank required custom field is rejected. Unlike dropdown mismatches (which are silent), required field violations usually produce an explicit error.
❌ BROKEN — Required custom field blank in CSV:
Salesforce custom field: Contract_Type__c (required)
CSV row: Alice Chen, [email protected], , Enterprise
Error: "Required fields are missing: [Contract_Type__c]"
Row rejected.
FIXED:
Alice Chen, [email protected], SaaS, Enterprise
If the required value genuinely isn't known:
Option A: Use a placeholder ("Unknown", "TBD") — creates data quality debt
Option B: Make the field optional before the import, reimport, then make it required again
Option C: Exclude rows without the required value and import them separately after gathering data
Platform-Specific Custom Field Rules
Salesforce
Salesforce custom fields have an API Name (e.g., Contract_Type__c) and a Label (e.g., "Contract Type"). CSV imports map by Label in the Data Import Wizard. Data Loader maps by API Name. If your CSV uses API names and you're importing via the Wizard, the mapping won't work.
Restricted picklists (controlled by a controlling field or explicitly restricted) only accept exact API values — not display labels in some configurations. For restricted picklists, use the API value in the CSV rather than the display label.
HubSpot
HubSpot custom properties have an Internal Name (e.g., contract_type) and a Label ("Contract Type"). CSV imports map by Label in the browser-based importer. The internal_name is used in the API. For dropdown properties, imported values must match the option labels exactly — including capitalization.
Zoho CRM
Zoho custom fields can be created during the import wizard mapping step ("Add as custom field") — you don't need to pre-create all custom fields before importing. However, for dropdown custom fields, pre-creating the field with its valid option values is safer because on-the-fly dropdown creation may not support all option configurations.
Pre-Import Custom Field Validation Workflow
BEFORE every CRM import containing custom fields:
STEP 1: Export custom field definitions
→ Document every custom field: name, type, required status, dropdown options
→ For Salesforce: Setup > Object Manager > Fields & Relationships
→ For HubSpot: Settings > Properties
STEP 2: Audit your CSV against the definitions
→ For each dropdown column: do all values match configured options exactly?
→ For each number column: are there currency symbols or commas?
→ For each date column: is the format consistent with the CRM's locale?
→ For each lookup column: do all referenced records exist in the target CRM?
→ For each required column: is every row populated?
STEP 3: Run Data Validator
→ Provide dropdown option lists as valid value sets
→ Flag all rows with non-matching dropdown values, blank required fields,
and format violations in one pass
STEP 4: Fix and re-validate
→ Correct all flagged rows
→ Run validation again to confirm clean
→ Import
Additional Resources
Official CRM Documentation:
- Salesforce — Custom Fields Overview — Custom field types, required settings, and picklist management
- HubSpot — Custom Properties — Creating and managing custom contact/deal properties
- Zoho CRM — Custom Fields — Custom field types and configuration
Technical Standards:
- RFC 4180: CSV Format Specification — Standard CSV structure reference
Tested: Custom field import behavior validated against Salesforce Developer Edition, HubSpot free CRM, and Zoho CRM free tier with custom fields of each type (dropdown, number, date, lookup, required). March 2026.
PLATFORM SPECIFICATION SOURCE
Platform: Salesforce, HubSpot, Zoho CRM
Sources:
Salesforce: help.salesforce.com — Custom Fields and Picklists
HubSpot: knowledge.hubspot.com — Custom Properties
Zoho: help.zoho.com/crm — Custom Fields
Verified: March 2026
Next re-verify: June 2026
Custom field behavior may vary by CRM edition and account configuration.
Always verify dropdown options and required field settings in the target CRM
before a large import operation.