Product data migration: profiling, cleansing, mapping and cutover
PIM data migration moves product data from ERP, spreadsheets and legacy systems into the new data model in five stages: profiling, cleansing, mapping, rehearsals and cutover. PIM data migration is the critical path of most implementations. Plan at least three full rehearsals, reconcile each one against agreed measures and let business owners decide what to keep, fix or retire.
What does product data migration involve?
Product data migration moves product data from its current sources into the new PIM data model, in five stages. Those stages are profiling, cleansing, mapping, rehearsals and cutover. Each stage produces an output the business signs off.
Migration is the critical path of most implementations, as the implementation pillar explains. Testing, training and channel switches all need real data in the new model. Sample data hides the problems that full volumes reveal.
Sources are rarely one system. A typical migration pulls from:
- The ERP, for identifiers, logistics data and prices.
- Spreadsheets maintained by product managers and marketing.
- A legacy PIM or webshop database, for descriptions and attributes.
- Shared drives and a DAM, for images and documents.
- Supplier files, for technical data.
Each source has its own codes, units, languages and gaps. Migration brings them into one model with one set of definitions. That is why migration also tests the data model: a model that cannot hold the real data shows its gaps here.
The work splits between partner and business. The partner builds and runs the migration tooling. The business decides what is correct, what to keep and what to retire. Agree that split in writing at mobilisation.
How do you profile source data?
Profile every source field before mapping, so the plan rests on measured data quality. Profiling turns assumptions about data into numbers per field.
| Profiling check | What it reveals |
|---|---|
| Fill rate per field | Which attributes are usable and which need enrichment |
| Distinct values per field | Free text where a code list is expected |
| Format and pattern | Mixed date, number and decimal formats |
| Units of measure | Mixed units in one field, or units missing |
| Identifier validity | Invalid GTINs, duplicates, lost leading zeros |
| Duplicates | The same product under several codes |
| Orphan relations | Accessories or spare parts pointing to retired products |
| Language coverage | Missing translations per locale |
Identifier checks deserve special care. Google Merchant Center requires GTINs to pass the GS1 checksum, with at most 14 digits per value. Spreadsheets often store identifiers as numbers and strip leading zeros. OpenAI's feed specification advises keeping identifiers as strings for exactly this reason.
Units are the second trap. OpenAI's specification states that units are not inferred. A source field that mixes millimetres and centimetres needs a conversion rule per record, which profiling has to detect first.
Share the profiling report with the business owner. It sets the cleansing scope and often changes the timeline.
What should you cleanse before migration and what after?
Cleanse at the source what you can, convert structure during migration and enrich in the PIM after go-live. That split puts each fix where it is cheapest.
| Issue | Where to fix | Why |
|---|---|---|
| Duplicate products | Source, before migration | Duplicates multiply mapping and testing effort |
| Invalid identifiers | Source, before migration | Downstream systems reject them |
| Retired products | Archive outside the PIM | They clutter completeness reports |
| Mixed units | Conversion rule during migration | Rules apply consistently at scale |
| Free text that should be a code list | Conversion rule plus review | Needed for filters and channels |
| Missing attributes | PIM after go-live | Workflows and quality measures support enrichment |
| New descriptions and translations | PIM after go-live | Approval workflows apply |
Decide retention early. Discontinued products should migrate only when a process needs them, such as spare parts, service or legal retention. Every extra product adds effort across all stages.
Resist cleansing everything before go-live. A plan that waits for perfect data never goes live. Set a minimum quality threshold per product family and channel, migrate what meets it and route the rest into enrichment workflows. The product data quality page explains how to define those thresholds.
How do you map source data to the new model?
Map every source field to a target attribute with a written conversion rule and an owner. The mapping specification is the contract between business and partner for what the migration does.
A mapping row contains:
- Source system and field.
- Target attribute in the new data model.
- Conversion rule: unit conversion, code list lookup, split or merge.
- Default value or rule for missing data.
- Owner who approves the rule.
- Test case that proves the rule works.
Some elements need more than field mapping. Classification may move to a new version, such as ETIM 10.0, released in December 2024, which changes classes and features. Product relations, such as accessories and spare parts, need both ends migrated before links are created. Assets need file transfer and link validation. Translations need locale codes mapped consistently.
History and audit trails are a separate decision. Most PIMs cannot import another system's change history as native history. Decide whether to archive it, import it as reference data or leave it in the old system for a retention period.
Keep the mapping specification under change control. Every change after the first rehearsal should be logged and re-tested. The data model design page covers the target model this mapping depends on.
How many migration rehearsals do you need?
Plan at least three full rehearsals for a mid-sized implementation, each with a signed reconciliation report. Rehearsals are the main control against cutover surprises.
| Rehearsal | Purpose | Exit condition |
|---|---|---|
| 1 | Find mapping errors and data model gaps at full volume | Gap list agreed and assigned |
| 2 | Verify fixes, measure run time and performance | Reconciliation measures met for priority families |
| 3 | Rehearse cutover sequence and timing with production-like data | All measures met; cutover timing confirmed |
Reconciliation compares source and target on agreed measures:
- Record counts per entity: products, variants, assets, relations.
- Attribute completeness per product family against the profiling baseline.
- Sample checks of values against source records, chosen by stewards.
- Asset and relation link counts.
- Run duration, which sets the cutover window.
Start the first rehearsal during build. Early rehearsals reveal data model gaps when they are still cheap to fix. A plan that schedules the first full run after build is complete leaves no time to react. The timeline guide shows how rehearsals fit the overall plan.
How do you run the cutover?
Run the cutover as a rehearsed sequence with a freeze, a final load, verification and a go or no-go decision. Nothing in the cutover should happen for the first time.
- Announce and start the data freeze in source systems, or capture changes as a delta.
- Run the final migration in the rehearsed sequence.
- Load the delta of changes made during the freeze.
- Reconcile against the same measures as rehearsal 3.
- Switch integrations and channel exports to the PIM.
- Take the go or no-go decision against agreed criteria.
- Keep the old system read-only for an agreed period.
Go or no-go criteria should be written before cutover week. Typical criteria are reconciliation measures met, critical defects closed, channel exports validated and the hypercare team ready.
A rollback plan belongs in the same document. If the go decision fails, channels must keep running on the old sources. Plan how long the old system stays available and who decides on rollback.
After go-live, the first 90 days guide covers hypercare and the clean-up of migration issues that remain.
Migration is where the data model meets reality. Profile early, rehearse at least three times, and let the business decide what to retire.
Frequently asked questions
Should we clean product data before or after migrating to a PIM?
Clean what you can at the source before migration, especially duplicates, broken identifiers and records you plan to retire. Fix structural issues, such as units and code lists, during migration through conversion rules. Leave enrichment, such as new attributes and descriptions, for the PIM after go-live, where workflows and quality measures support it.
How many migration rehearsals does a PIM project need?
PIMvendors recommends at least three full rehearsals for a mid-sized implementation. The first finds mapping and data model gaps, the second tests fixes and performance, and the third rehearses cutover timing with production-like volumes. Each rehearsal ends with a reconciliation report that the business owner signs off.
Who owns the decisions in a data migration?
The business owns decisions about which data to keep, fix or retire and which values are correct. The implementation partner owns the tooling, scripts and execution. IT owns access to source systems. When the partner makes data decisions by default, errors become hard to trace and the business loses trust in the migrated data.
Should we migrate historical and discontinued products?
Migrate discontinued products only when a business process needs them, such as spare parts, service, warranty or legal retention. Otherwise archive them outside the PIM. Every discontinued product migrated adds mapping, cleansing and testing effort, and clutters completeness reports. Agree retention rules with the business owner before mapping starts.
How do we know the migration succeeded?
Define success measures before the first rehearsal: record counts per entity, attribute completeness per product family, sample checks of values against the source, relation and asset link counts, and the duration of the run. Compare each rehearsal against these measures. The final cutover passes when every measure meets its agreed threshold.
Sources and method
- Google Merchant Center Help: Product data specification
- OpenAI Commerce: Product feed reference
- ETIM International: ETIM releases
How this page was made: drafted by the PIM Selection editors from the sources listed, checked against the PIMvendors selection method, and signed off by a named expert. Editorial policy.
Cite this page
PIM Selection (2026). Product data migration: profiling, cleansing, mapping and cutover. PIMvendors.com. https://pimselection.com/implementation/data-migration/ (version 2026-10-14).