The successful pattern: clean the CSV, test on 10 rows in a sandbox, run full import in production, verify the email summary, address failures. The failed pattern: run a 5,000-row import in production without testing and spend the next two days reversing the damage.
- Clean the CSV before upload
Validate column headers, confirm picklist values exist in the org, verify required fields have values, check date formats match Salesforce expectations (YYYY-MM-DD), confirm UTF-8 encoding.
- Test on 10 rows in a sandbox
Subset the CSV to 10 representative rows. Run the import in sandbox. Verify field mapping, automation behavior, and error handling. Sandbox first is non-optional for any import over 100 rows.
- Decide the import mode
Insert, Update, or Upsert. Pick deliberately; the wrong choice creates duplicates (Insert when you meant Upsert) or silently skips records (Update when records do not match).
- Run the production import in off-hours when feasible
Imports that fire downstream automation can slow the org for other users. Off-hours runs reduce user impact; not always possible, but worth considering.
- Verify the email summary
Salesforce emails a summary on completion. Check records created, updated, failed. The numbers should match expectations; significant deviations indicate the import behaved differently than planned.
- Download the error log and fix failures
The error log shows row-level failures with reasons. Fix the underlying data issues. Build a corrected CSV with only the failed rows; never re-run the entire original CSV.
- Document the import in your change log
Date, target object, record count, who ran it, why. The audit trail matters when downstream issues surface weeks later.
Insert, Update, or Upsert. Drives whether the wizard creates new records, updates existing ones, or both.
Field combination used to match CSV rows to existing records (Salesforce ID, External ID, Name+Email, etc.).
CSV column to Salesforce field mapping. Auto-mapped where headers match field labels.
Single object per import session. Combined Account+Contact imports require two sessions or Data Loader.
Triggers, validation rules, workflows fire on imported records. No skip-triggers option; use Data Loader if needed.
- Match Type misalignment creates silent duplicates. Always verify the wizard's Match Type against the object's actual matching rule before running.
- Triggers and Flows fire on imported records. A 5,000-record import with a per-record email Flow produces 5,000 emails; check downstream automation before importing.
- Hard limit of 50,000 records per session. Larger imports require Data Loader.
- Re-running the full CSV after partial failure creates duplicates of the successful rows. Build a corrected CSV with only the failed rows for retry.
- Date format mismatches are a common failure mode. YYYY-MM-DD is the safe format; other formats may import as null or as the wrong date depending on org locale.