An Insert in Data Loader creates fresh records — every row in your CSV becomes a new record with a new 18-character Salesforce ID. The flow is short, but every step exists for a reason.
Step-by-step
- Prepare the CSV. One row per record. Header row must contain column names you can later map to API field names. Save as UTF-8 to avoid mojibake on special characters.
- Launch Data Loader and click Insert.
- Log in. Choose Production (login.salesforce.com) or Sandbox (test.salesforce.com). For sandbox you append
.sandboxnameto your username; OAuth flow handles the rest. - Select the Salesforce object. Pick the target (e.g.
Account,Contact, custom object). The list shows API names —Lead,Opportunity,My_Custom__c. - Choose your CSV file. Data Loader reads the headers and previews the first few rows.
- Create or load a mapping. Drag CSV columns onto the matching Salesforce fields. Click Auto-Match Fields to Columns if your headers already match API names. Save the mapping as
.sdlfor next time. - Pick the success / error directory. Data Loader will drop
success_<timestamp>.csvanderror_<timestamp>.csvhere when the job finishes. - Click Finish. The job runs — you’ll see live counters of successes and failures.
- Review the outputs.
success.csv— every successful row plus the new Salesforce ID. Save these IDs if you need them for related-record loads later.error.csv— failed rows with an error message column explaining why each one failed (required field missing, validation rule blocked it, duplicate rule fired, etc.).
Tips that matter in production
- Set the batch size under Settings → Settings. Default 200 (SOAP API). Tick Use Bulk API and bump batch size to 10,000 for big jobs.
- Disable triggers / validation temporarily? Only do it via a “Bypass” custom permission your code already supports — don’t deactivate triggers in production during a live load.
- Load parents before children. Insert Accounts first, capture their IDs from
success.csv, then load Contacts with thatAccountIdcolumn populated. - Test in a sandbox first with a small sample (say 50 rows) before pointing at production with 500,000.
Common errors and what they mean
| Error message | Usual cause |
|---|---|
REQUIRED_FIELD_MISSING | A required field in the layout/object isn’t in the CSV |
INVALID_CROSS_REFERENCE_KEY | A lookup/master-detail ID doesn’t exist in the target org |
FIELD_CUSTOM_VALIDATION_EXCEPTION | A validation rule blocked the row |
STORAGE_LIMIT_EXCEEDED | Org is out of data storage |
Verified against: Data Loader Guide — Inserting, Updating, or Deleting Data, Metadata API Developer Guide. Last reviewed 2026-05-17 for Spring ‘26 release.