Define what must survive
Before choosing rows, write down what the business needs after the move. That may include contacts, companies, deals, ownership, next actions, and links between records. If notes, calls, attachments, or history matter, list them separately instead of assuming they travel with the main record export.
For each item, write an observable check. "The data looks right" is too broad. A better check might be that a contact is still linked to the correct company, the owner field has the intended person, and a date remains a date rather than plain text.
Choose a sample that represents the difficult cases
Do not select only the newest, cleanest records. Include common records, older records, records with missing values, likely duplicates, special characters, and records with relationships to another object. If the source contains different customer types or stages, include examples from each type that will use a different mapping.
There is no universal sample size that proves a migration safe. The sample is useful when it exposes the important variations in your data, not when it reaches a particular percentage. Keep a note of what the sample does not cover so that the team does not confuse a test of selected cases with a complete audit.
Map the fields and identifiers
Copy the source values into a test file and map each destination field deliberately. Mark fields that should update an existing record, fields that should be created, and columns that should not be imported. Use a stable identifier when the destination supports one, and document what a blank identifier will do.
HubSpot's multi-object import documentation describes importing related records in one or multiple files and requires a unique identifier to match imported data to an existing record. It also says existing emails, meetings, notes, and tasks cannot be updated through that import path. These are HubSpot-specific behaviors, so inspect the destination documentation and account settings you will actually use.
Fictional input records to adapt before a trial
- Source ID: CO-01; Type: Company; Field values: Cedar Bay Studio; domain cedarbay.example; Relationship to check: Company anchor for C-01 and D-01
- Source ID: C-01; Type: Contact; Field values: Avery; avery@cedarbay.example; owner Jordan; company CO-01; Relationship to check: Exactly one contact linked to CO-01
- Source ID: D-01; Type: Deal; Field values: Website refresh; proposal sent; owner Jordan; next review 2026-10-21; Relationship to check: Linked to C-01 and CO-01
- Source ID: C-02; Type: Contact; Field values: Taylor Reed; email missing; owner Morgan; Relationship to check: Hold or create by an explicit rule; do not guess an existing match
- Source ID: ACT-01; Type: Call note; Field values: Prior-quarter discovery call for C-01; Relationship to check: Keep the C-01 link or record this unsupported import as a gap
Run the test where it cannot damage the live list
Use a separate test workspace or another destination that cannot overwrite production data. If the system has no safe test area, ask its owner for a controlled method before importing. Keep a copy of the exact input file and write down the import settings so the result can be repeated or explained.
After the import, compare each test case with its expected result. Check record counts, field values, identifiers, and links between objects. Review error messages and skipped rows rather than treating a completed import status as proof that everything transferred.
Set a decision gate before scaling up
Agree in advance which failures mean stop, repair the mapping, or accept a documented limitation. A missing contact-to-company link may be a hard stop for a team that relies on account history. A cosmetic formatting change may be acceptable if the underlying value is intact. The owner of the migration should record the decision and the reason.
When the test passes, expand the migration in controlled groups and compare the same checks after each group. Keep the source system available until the team has verified the records it needs and has decided how to handle anything the import could not carry.
Using Areinum
Ask Areinum Assistant to organise the sample records, field mapping and expected relationships into a test checklist. The migration owner runs the trial in a separate destination and checks what actually arrived.
See the example
CRM migration sample test log
The sample records and expected outcomes are fictional and have not been imported into any CRM.
| Test case | Fictional source record | Expected result | Observed result | Relationship check | Status | Follow-up |
|---|---|---|---|---|---|---|
| Contact and company | Avery at Cedar Bay Studio | One contact linked to Cedar Bay Studio | Not run | Company link must exist | Not run | Check contact email and company domain |
| Deal association | Website refresh proposal | Deal linked to contact and company | Not run | Both links must exist | Not run | Confirm the destination supports the required association |
| Missing identifier | Taylor Reed with blank email | No accidental match to another contact | Not run | No existing contact should be overwritten | Not run | Choose a create or hold rule before import |
| Historical activity | Call note from a prior quarter | Activity is available or recorded as a known gap | Not run | Activity remains linked to its contact | Not run | Check whether the destination import path supports this item |
- Use one row per case that tests a distinct record type, mapping, identifier, or association.
- Write the expected result before running the test. Fill in the observed result afterward and use the follow-up field to record a mapping repair or accepted gap.
- The names and records are fictional. A passing sample reduces uncertainty for the tested cases but does not prove that every record or workflow will migrate correctly.
Map the fields and identifiers
| Source ID | Type | Field values | Relationship to check |
|---|---|---|---|
| CO-01 | Company | Cedar Bay Studio; domain cedarbay.example | Company anchor for C-01 and D-01 |
| C-01 | Contact | Avery; avery@cedarbay.example; owner Jordan; company CO-01 | Exactly one contact linked to CO-01 |
| D-01 | Deal | Website refresh; proposal sent; owner Jordan; next review 2026-10-21 | Linked to C-01 and CO-01 |
| C-02 | Contact | Taylor Reed; email missing; owner Morgan | Hold or create by an explicit rule; do not guess an existing match |
| ACT-01 | Call note | Prior-quarter discovery call for C-01 | Keep the C-01 link or record this unsupported import as a gap |
Limits of this method
- A sample checks only the cases included in it. It cannot establish that all records, history, permissions, automations, or files will transfer.
- Import options and limits vary by destination product, plan, permissions, and record type. Confirm the current rules for the account you intend to use.
Questions you may have
How should I choose a migration sample?
Include the record types, relationships and difficult cases your team relies on, such as missing identifiers, linked companies and activity history.
Does a successful upload mean the migration passed?
Compare the imported fields, relationships and exception cases with the expected result. An upload can succeed while important context is missing.
Does a passing sample guarantee the full migration?
It covers the cases tested. Review the remaining scope and known limitations before deciding whether to proceed.
Will Areinum import the sample into our live CRM?
The guide describes a checklist and a controlled trial. The migration owner selects an appropriate destination and handles the actual import.
Sources and further reading
- Import records for multiple objects
HubSpot documentation describes multi-object imports, associations, and unique identifiers for matching imported data to existing records.
The article documents HubSpot behavior and account requirements; it is not a migration success benchmark. It states that existing emails, meetings, notes, and tasks cannot be updated through this import path.
2026-10-18
The demo uses sample company data. Access may need to be arranged.
Explore the demo