Data Management
Choosing the tool
Match the tool to volume and object. Data Import Wizard handles up to 50,000 records for a fixed list of objects (accounts, contacts, leads, solutions, campaign members, and more) and gives duplicate-handling options plus simple field mapping. Data Loader is a client for anything larger - up to five million records - supporting insert, update, upsert, delete, hard delete, and export, from the UI, the command line, or a scheduler.
Relationships are the hard part: load parents first and use external ID fields with upsert so children can reference parents by a stable key rather than a Salesforce ID. Recall the operational facts: the Recycle Bin holds deleted records for 15 days, deleted-record storage can restore up to 25× your data storage, scheduled data exports run weekly and stay downloadable for 48 hours, and hard delete requires Bulk API or Data Loader.
Traps
- Upsert without an external ID or Id matches on nothing and inserts duplicates.
- Insert null values is off by default: blank cells are ignored, not written as null.
- Matching rules and duplicate rules are separate: the matching rule defines what a duplicate is; the duplicate rule decides whether to block or alert.
- Data Loader export is SOQL-based, so it returns only records the running user can see.
- Mass transfer changes ownership but does not instantly fix sharing recalculation.
Worked example
Loading contacts for 40,000 existing accounts: export accounts with Id and External_Key__c, upsert accounts to populate the key, then load contacts referencing Account.External_Key__c. Parents before children, always.