How do you verify a CRM migration?
Assign every source row a stable reference and an expected disposition. Reconcile created, matched, rejected and held rows back to the source total, then inspect representative destination fields and relationships. Matching counts are necessary, but field-level and workflow checks establish whether the imported records are usable.
An operator is planning a small import pilot before a broader CRM migration. This synthetic reconciliation ledger describes expected outcomes; it is a separate audit record. Prepare the contact import file using the supported field format.
Dataset and download
Download example CSVOpen the CSV in a spreadsheet and keep the original as a reference. Make a working copy for your own review. Downloading saves a local file; it leaves your CRM and communication settings unchanged.
| source_row | planned_disposition | reason | destination_check | status | data_type |
|---|---|---|---|---|---|
| ROW-1 | create | new validated identity | required fields and owner | to test | synthetic |
| ROW-2 | create | new validated identity | tags and field mapping | to test | synthetic |
| ROW-3 | match | existing identity matched | existing fields preserved | to test | synthetic |
| ROW-4 | reject | invalid required value | row error retained | to test | synthetic |
| ROW-5 | hold | identity needs review | held outside import batch | to test | synthetic |
| ROW-6 | hold | consent provenance needs review | held outside import batch | to test | synthetic |
Field definitions
- source_row
- Stable reference to the source record in your controlled migration log.
- planned_disposition
- An audit category, not a claim that the importer exposes four matching statuses. Held rows remain outside the submitted import batch.
- destination_check
- What to inspect after the pilot. Record actual results separately from planned results.
- status
- to test until the pilot has produced evidence. Preserve rejected-row details and review decisions.
Reproduce the method
1. Prepare the reconciliation ledger
Download this audit worksheet and keep it separate from the contact import file. Record source-row references, identity rules and intended field mappings. Review field types, owners, tags and consent provenance before selecting a pilot batch.
2. Separate holds from the pilot
The sample has six source rows. Two are held for review and stay outside the import batch. Four are candidates for submission: two intended creates, one intended match and one expected validation rejection. Verify the real importer's current matching and error behavior using the migration guide.
3. Run a controlled pilot
Use authorized test records and the current importer. Review the actual result counts and row errors. Record actual disposition beside the plan, then inspect destination fields for a new record and a matched existing record. Check owner, tags and relationships individually.
4. Reconcile and approve expansion
Confirm that actual creates, matches, rejects and holds sum to the source total under your defined categories. Resolve differences before importing a larger batch. Check whether any workflows react to newly created contacts; approve their audience and effects before enabling customer-facing actions.
Expected results
- Six source rows = two planned creates + one planned match + one planned reject + two holds.
- The planned submitted batch has four rows; the two held records remain outside it.
- Actual outcomes are to test until a real pilot is reviewed. A matching row total alone does not prove field accuracy.
Interpret the result
Keep a source snapshot and a reversible pilot plan. A spreadsheet row count does not establish identity correctness, consent or preserved relationships.
Chirply contact imports match an existing email or phone and preserve that contact's fields. Verify preservation on the matched record. Plan any intentional field edits as a separate reviewed update.
Use the importer's current instructions for supported columns and validation. This worksheet is a reconciliation method and never an alternate import contract.
Troubleshooting
Source and destination totals differ
Check held rows, duplicates, matched existing records, rejected rows and pagination. Compare source references and importer results before rerunning the same file.
A field is blank after a successful import
Review the mapping, allowed field type, source formatting and existing-contact matching policy on a small sample. Preserve the original source and correct the mapping before expanding the batch.
If the CSV does not appear immediately, check your browser's downloads list. Import it as UTF-8 with comma-separated fields if your spreadsheet opens it in one column.
Questions about this example
Can I upload this CSV to the contact importer?
Use it as an audit ledger. Prepare the actual import file using the supported contact columns described in the migration guide.
Does this example perform a migration?
It supplies a reproducible planning and acceptance method. Importing or updating contacts is a separate authorized product action.
Sources and next steps
- Follow the CRM migration guide
- Review CRM data quality
- Understand contact synchronization contracts
- Test workflow side effects
The methodology and synthetic rows were authored for this resource and checked against the linked definitions and product guides. Product setup and provider conventions remain documented at their sources. Cite this page's address and review date when sharing the exercise; keep the synthetic-data label with copied rows.

Chirply