How it worksPricingFAQBlogSign inStart free
Start free trial

Candidate database hygiene: a recruiter's guide to a clean, searchable ATS

Candidate database hygiene for recruiters: how to audit your ATS, merge duplicates, standardize fields, and set a cleanup schedule that keeps records usable.

DeepHire Team

8 min read

Key takeaways

  • Candidate database hygiene means keeping records accurate and free of duplicates so you can search and contact people fast.
  • Write down one standard for each core field, such as phone format, location, status, and source, and make the important ones required.
  • When you merge duplicates, keep every note and activity, plus the original source and create date, because ownership and fee disputes depend on them.
  • Run a small cleanup every week and a bigger review every quarter instead of one painful purge a year.
  • Set a written retention rule for old records and check it with your legal team, since privacy rules vary by place.

Candidate database hygiene is the routine work of keeping candidate records accurate, complete, deduplicated, and current, so recruiters can find and reach the right people quickly. In practice that means a short set of field standards, a regular duplicate merge, a status review on a fixed schedule, and a written rule for when old records get updated or removed.

On a staffing desk, the candidate database works a lot like inventory. When it is clean, you can fill a same-day order from people you already know. When it is not, you end up back on the job boards paying to find candidates you already found once. Below you will find how to audit what you have, which standards to set, how to merge duplicates safely, and a cleanup schedule a busy team can actually keep.

What does candidate database hygiene include?

For any record, you want five things to be true:

  • The contact details work. The phone connects and the email does not bounce. The job title matches what the person does now.
  • The fields you search on are filled in, such as location, skills, availability, and pay expectations.
  • There is one record per person, not three versions of the same welder with different notes on each.
  • Status and last contact date are honest. Someone placed eight months ago is not available just because nobody changed the field.
  • You know where the record came from and when it is due for review or removal. If you need consent, you know when it was given.

If you only have time to fix one thing, fix status and last contact date. Those two fields decide who shows up when you search for available candidates.

Why a messy database costs you placements

Nobody files a complaint about bad data, which is why it lingers. A recruiter searches for forklift operators near a branch and starts calling down a long list. Plenty of the numbers are dead, and many of the people who answer have moved or taken other jobs. After an hour of that, the recruiter gives up and posts a new ad.

Agency work adds its own problems:

  • Two recruiters call the same candidate about different roles in the same afternoon, and the candidate stops answering both.
  • A client says they already had a candidate's resume, and you cannot prove when you first sourced that person because a duplicate record overwrote the original source.
  • Reports on source quality and time to fill come out wrong because the records underneath them are wrong. If you track the measures in our recruiting metrics glossary, bad records skew every one of them.

How to audit your candidate database

Do this once before you set new rules, so you know how big the problem is.

1. Pull a sample

Export a random set of a few hundred records, plus every record created in the last 30 days. The recent set tells you whether your intake process is still creating new mess.

2. Score each field

For each core field, count how many records are blank or badly formatted, and how many are out of date. A spreadsheet is enough, with one column per field and each cell marked good, missing, or bad.

3. Run a duplicate check

Sort by email, then by phone with formatting stripped out, then by first name, last name, and city. Count how many people appear more than once.

4. Check status against reality

Filter for anyone marked Active or Available with no contact in the last 60 days. Teams that have never run this filter tend to find the list is longer than they expected.

5. Write down the top three problems

You will not fix everything at once. Pick the three issues that slow your searches down most often and start there.

Set field standards your whole team follows

A lot of dirty data comes from several recruiters each entering things their own way. Agree on one format per field and write it down. Use picklists wherever your ATS allows them.

FieldStandardCommon bad entry
PhoneOne format, digits only, with country code if you place internationallyNumbers with extensions, notes, or two numbers in one field
EmailLowercase, personal email preferred over work emailOld work address that bounces after a job change
LocationCity, state, and ZIP in separate fieldsFull address typed into one notes box
StatusPicklist: Active, Passive, Placed, Do not contact, ArchivedFree text like maybe or call back later
SourcePicklist with a dateBlank, or Indeed typed five different ways
Skills and certificationsTags from a controlled listLong free-text strings nobody can search
AvailabilityDate field, not textASAP, written once and never updated
Last contactFilled automatically by logged calls and emailsUpdated by hand, so usually wrong

Make the fields you search on most required at entry and leave the rest optional. If every field is required, recruiters will type junk just to get past the form.

How to handle duplicate candidate records

Duplicates are common, and a careless merge can do more damage than the duplicate did.

How to tell two records belong to the same person

Treat an exact email match as a near-certain duplicate. A matching phone number, after you strip the formatting, is strong evidence. A matching name plus city is only a flag for a person to review, because common names collide.

What to keep when you merge two records

When you merge two records:

  1. Keep the earliest create date and the original source. In agency work, who sourced a candidate first can decide a fee dispute, so a merge should never erase it.
  2. Keep every note, call log, interview, and submittal from both records.
  3. Use the most recently confirmed contact details, and move older ones into a secondary field instead of deleting them.
  4. Keep the most restrictive status. If either record says Do not contact, the merged record says Do not contact.

How to stop new duplicates at the point of entry

Turn on duplicate warnings at entry if your ATS has them. Train recruiters to search by email and phone before creating a record, especially when adding someone from a job board or a referral.

How often should you clean your ATS?

Small, regular work is easier than a yearly purge, and the data stays usable in between. A schedule like this fits most desks:

FrequencyTaskWho
DailyEnter new candidates to standard, log every call and emailEach recruiter
WeeklyReview the duplicate report and merge flagged recordsDesk lead or ops
MonthlyMove anyone marked Active with no contact in 60 days to PassiveOps
QuarterlySend a re-engagement email asking passive candidates to confirm details and availability, and flag bouncesOps or marketing
YearlyApply your retention rule to old, inactive recordsOps with legal review

The daily piece belongs in the recruiter routine. If you already run a structured day like the one in our high volume recruiter workflow, add ten minutes at the end for logging and fixing the records you touched.

A simple re-engagement message

Keep it short and easy to answer:

Hi [first name], we last spoke in [month] and wanted to check whether you are open to new work. If you are, reply with your current phone number and the area you want to work in. It also helps to know when you could start. If you do not want to hear from us, reply stop and we will remove you.

Update the record from every reply. Mark people who do not respond as Passive, not deleted, and honor every opt-out right away.

Rules on how long you can keep candidate data and what consent you need vary by state and country, and so do deadlines for acting on a deletion request. Check with your legal team before you set a policy, then write it down so everyone applies it the same way.

A practical policy usually covers:

  • What you record about source and consent for each candidate, and when.
  • How long you keep inactive records before review.
  • What happens at review: re-engage, anonymize, or delete.
  • Who handles deletion requests, and how each request gets logged.
  • Which records you keep longer, such as placed candidates tied to client invoices, and why.

Keep the Do not contact list separate from general cleanup. Those records often need to stay so that nobody contacts the person again.

Keep the database clean at the point of entry

Fixing a record at intake takes seconds. Fixing it six months later means tracking the person down. A few habits stop most bad data before it gets saved:

  • Check parsed resumes before saving. Parsers can put a street name in the city field or split a hyphenated last name.
  • Ask for a personal email and a mobile number on every application.
  • Log screening results in the candidate record, not in someone's inbox. Notes from phone screens and answers to your pre-screening interview questions are what make an old record useful later on.
  • Store interview outcomes somewhere the next recruiter will look. If you screen with one-way video in DeepHire, you can export results by CSV or connect through its REST API, so screening history ends up with the candidate instead of in email threads. Our staffing video interview workflow shows where this step fits between job order and submittal.

How to tell if your hygiene work is paying off

Track a handful of measures each month and share them with the desk:

  • Share of records with a working email and phone.
  • Duplicate rate among new records created that month.
  • Share of Active candidates contacted in the last 60 days.
  • Share of placements filled from existing database candidates versus new sourcing.

The last measure is the one the business cares about. If more orders get filled from people already in your system, the cleanup is saving sourcing time and money.

Frequently asked questions

How do I clean up duplicate candidates in my ATS?

Match on exact email first, then on phone number with formatting stripped, and review name-plus-city matches by hand. When you merge, keep every note and activity, the earliest create date, the original source, and the most restrictive status.

How long should recruiters keep candidate data?

It depends on where you and your candidates are located, because privacy and retention rules vary. Check with your legal team, then write a policy that sets a review point for inactive records and says whether they get re-engaged, anonymized, or deleted.

What fields should every candidate record have?

At minimum, include name, personal email, mobile phone, city and state, status, source with date, skills or certifications, availability, and last contact date. Make the fields you search on most required, and keep the rest optional so recruiters do not enter junk.

How often should a staffing agency update candidate statuses?

Review statuses monthly and move anyone marked Active with no contact in about 60 days to Passive. Each quarter, send a short re-engagement email to confirm details and availability, and update records from the replies.

Who should own data quality in a recruiting team?

Each recruiter owns the records they create or touch each day. One person, usually a desk lead or operations coordinator, should own the weekly duplicate review, the monthly status sweep, and the retention policy.

Screen your next shortlist this week

Send one link. Candidates record on their own time. You review the whole batch in an afternoon.

Start your free trial

Free for 14 days. No credit card.