All insights
Buying guide

How to migrate ATS data without losing history

How to migrate ATS data without losing history: what transfers, deduplication by email, stage mapping, dry runs, GDPR deletions, and one-click rollback.

RE
Recruitifly Editorial
Editorial
2026-06-11·4 min read
On this page

You keep your history in an ATS migration by transferring more than names and emails: notes, files, interview feedback, original timestamps, and pipeline positions all move if the importer supports them. The two safeguards that decide success are a dry run before the real import and a working rollback after it.

What data transfers in an ATS migration?

Data Transfers? Notes
Candidates and contact details Yes Deduplicated by email on import
CVs and attached files Yes Verify file counts after the import
Notes and interview feedback Yes The part teams most fear losing; spot-check it record by record
Original timestamps With a good importer Recruitifly preserves them; some importers stamp everything “today”
Pipeline stages Mapped Recruitifly keeps original stage names as tags
Jobs, open and closed Yes Closed jobs carry your placement history
Consent and deletion records Must transfer See the GDPR section below
Reports and dashboards No Rebuilt in the new system; archive old exports if audits need them

The timestamp row deserves emphasis. If every note appears to be created on migration day, you have lost the answer to “when did we last speak to this person”, which is half the value of the database.

How does candidate deduplication work?

Email is the key. The importer checks each incoming candidate against existing records by email address, and on a match it merges the history onto one profile instead of creating a twin. This matters because most migrations pull from several sources at once: the old ATS, a spreadsheet someone kept on the side, a mailbox export. The same person usually exists in more than one of them.

Recruitifly’s importer deduplicates by email automatically. Good practice for any near-matches, the same name and phone under a different address, is a flag for human review rather than a silent merge. After the import, spot-check your known repeat candidates and confirm each is one record with stacked history.

How do you map pipeline stages without losing meaning?

Your old system’s stages will not match the new system’s defaults, and forcing them flattens history. The safe pattern:

  1. List every old stage, including the abandoned ones holding three candidates from years ago.
  2. Map each to the nearest new stage, which preserves where everyone currently stands.
  3. Keep the original stage name attached to the record. Recruitifly stores it as a tag, so “Submitted to client” stays searchable even though the candidate now sits in a standard interview stage.
  4. Decide explicitly what happens to candidates in dead stages, rather than letting the importer guess.

Done this way, reporting works in the new world and no nuance from the old one is destroyed.

Why run a dry run before the real import?

A dry run executes the whole migration against a preview instead of your live workspace, then shows what would happen: how many candidates, how many merged as duplicates, which records failed and why, and how the stages mapped. You catch the surprises, a shifted export column, dates in the wrong format, a thousand contacts without email addresses, while they are still free to fix. Recruitifly’s one-click migration always starts with a dry run. Treat any importer without one as a warning sign, because the alternative is discovering these problems in production.

The candidates you deleted in the old system must stay deleted. A naive migration from an old full export can resurrect records you were legally required to erase, which turns a tidy-up into a violation. Three rules keep you safe:

  1. Import from a current export, taken after your latest deletion run, never from an old backup.
  2. Carry consent records and their dates across, so retention clocks continue rather than restart.
  3. Apply your retention policy on arrival, so over-age records are anonymized instead of imported fresh.

Recruitifly’s importer respects prior deletions, and consent tracking, scheduled retention with anonymization, and audit trails are built in on the other side. For how long you may keep CVs in the first place, see candidate data retention.

What does rollback look like if something is wrong?

Even with a dry run, you want an exit. Recruitifly’s importer offers one-click rollback: the imported data is removed cleanly, you return to the pre-import state, fix the export or the mapping, and run it again. Combine that with keeping the old system read-only through your notice period and an independently archived full export, and a failed import costs an afternoon instead of your history.

Migration is one step of a larger move. The sequencing, parallel running, and cutover day are covered in the practical switching checklist, and the calendar planning in how long implementation takes.

Recruitifly is in private beta, and one-click migration with dry run and rollback is part of the product. Talk to us if you want to see your own export run through a dry run before you decide anything.

Frequently asked questions

What data can be migrated between ATS systems?

Candidates, contact details, CVs and files, notes, interview feedback, jobs, pipeline positions, and original timestamps can all migrate when both systems support proper export and import. Reports and dashboards generally do not transfer and get rebuilt. The quality differentiator is history: a good importer preserves creation dates and stage context instead of stamping everything with the migration date.

How are duplicate candidates handled during migration?

Good importers deduplicate by email address: when an incoming candidate matches an existing record, the history merges onto one profile instead of creating a twin. Recruitifly does this automatically during import. Near-matches, such as the same name under a new email address, should be flagged for human review rather than merged silently.

What is a migration dry run?

A dry run executes the full import against a preview rather than your live workspace and reports what would happen: record counts, merged duplicates, failed rows, and how stages mapped. It surfaces export and formatting problems while they are still free to fix. Recruitifly's one-click migration always begins with a dry run, with rollback available after the real import.

Do GDPR deletions carry over when switching ATS?

They must. Candidates you erased in the old system cannot be resurrected by importing an old export; that would undo an erasure you were legally required to perform. Import from a fresh export taken after your last deletion run, carry consent dates across so retention clocks continue, and apply your retention policy on arrival. Recruitifly's importer respects prior deletions.

RE

Recruitifly Editorial

Editorial

Related reading

Want to see how this looks on your own data?

No hard promises. Just a straight conversation about exports, stages, and your current stack.

Contact us