Meet Caddi in personFuture ProofSep 14–17Booth 248 · Zone 1ADVISE AIOct 20–22AI for Mid-Sized LawNov 5Legal InnovatorsNov 17–18
All articles
Data work

Data Import Wizard vs Data Loader

Two free tools, one decision, and a third problem neither of them solves. A practical guide for whoever ends up doing the imports.

Use the Data Import Wizard for up to 50,000 records on standard objects when you want guardrails and duplicate matching. Use Data Loader when you need more volume, any object, deletes, exports, or a repeatable command-line run. Neither one transforms your data, and that is usually the actual job.

ToolVolumeGood forCannot do
Data Import WizardUp to 50,000Accounts, contacts, leads and custom objects, in the browser, with duplicate matchingMost standard objects, deletes, exports, scheduling
Data LoaderUp to 5 millionAny object, insert, update, upsert, delete, export, and a CLI you can scheduleTransform your data, or tell you which of 4,000 rows is wrong
Bulk API directlyVery largeProgrammatic loads inside a wider pipelineAnything without a developer writing the caller
ETL or iPaaS toolingAnyScheduled syncs between systems with clean APIsRead a PDF, or decide what an ambiguous record means
Both Salesforce tools are free and included. The decision is volume, object coverage and whether the load has to repeat.

The decision in one line

If a human is doing this once, in the browser, on a standard object, use the Import Wizard: it matches duplicates and it is harder to break something with. Everything else is Data Loader, and if the load recurs, use the command-line version so the mapping is a file you can review rather than a set of dropdowns someone clicked.

The three jobs neither tool does

Those three consume most of the hours. The load itself takes minutes.

  • Transformation. Splitting a name field, normalizing a state, deriving a household key, converting a fee schedule. This happens in a spreadsheet beforehand, by hand, every time.
  • Error triage. A load of 4,000 rows returns 180 failures with terse messages. Someone opens the error file, works out which are duplicates, which are picklist mismatches and which are missing required fields, fixes them, and reloads.
  • Reconciliation. Confirming that what landed matches what you sent, field by field, rather than by row count.

Traps worth knowing before you start

  • Use external IDs and upsert rather than insert, so a rerun updates instead of duplicating.
  • Load in dependency order. Parents before children, and keep the ID map from each pass.
  • Turn off automations for the load , deliberately and temporarily, or your Flows will fire 4,000 times.
  • Dates and numbers are locale-sensitive. Set the user's locale to match the file, not the other way around.
  • Picklists reject silently in some contexts and hard-fail in others. Validate the source values against the target before loading, not after.

When the import is not a one-off

The important question is whether this file arrives again next month. A custodian extract, an e-billing export, a partner referral list and a payroll feed all look like one-time imports the first time and turn out to be recurring. At that point the tooling question changes: you are no longer choosing an import tool, you are deciding who owns a weekly job.

Import Wizard for guarded one-offs, Data Loader for everything else, and a scheduled process the moment the same file shows up twice.

Where Caddi fits

Caddi is built for the third case. Record the import the way you do it today, including the spreadsheet work in the middle, and Caddi runs it as deterministic code on a schedule: read the file, apply the transform, load through the API, triage the failures against your rules, and report what changed and what did not. The parts that were manual because no tool covered them are the parts it takes over.

Related: Excel to Salesforce, Salesforce ETL tools, and CRM migration.

The recurring half

See a recurring import run itself

Caddi takes the whole loop, including the spreadsheet step in the middle and the error triage at the end.

Frequently asked questions

What is the record limit for the Salesforce Data Import Wizard?

50,000 records per import. It covers accounts, contacts, leads, solutions, campaign members, person accounts and custom objects, and it can match duplicates on the way in. For anything beyond that list or that volume, use Data Loader.

Is Data Loader better than the Data Import Wizard?

It is more capable, not better. Data Loader handles any object, up to five million records, and supports insert, update, upsert, delete and export, plus a command-line interface you can schedule. It also has fewer guardrails, so a bad mapping does more damage.

Can Data Loader transform data during a load?

No. It maps columns to fields and nothing more. Splitting fields, normalizing values, deriving keys and cleaning formats all happen before the file reaches Data Loader, which is why most imports are really spreadsheet work with a load at the end.

How do I schedule a recurring Salesforce import?

The Data Loader command-line interface can be scheduled by your operating system's scheduler, with the mapping and connection held in configuration files. That covers the load itself. The transformation and error-triage steps around it still need an owner, which is what makes recurring imports a staffing question rather than a tooling one.