How to Import Your Candidate Database into Keap CRM

Your candidate database is the highest-value asset in your recruiting operation. A poorly executed import squanders that asset — corrupt field values, missing tags, and unmapped custom fields leave you with a contact list instead of a functioning pipeline. Done correctly, importing into Keap CRM activates automation from the moment the first record lands. This guide gives you the exact sequence. It is part of the broader Keap CRM implementation checklist for recruiting teams — the structural foundation that makes everything in this guide worth doing.


Before You Start: Prerequisites, Tools, and Realistic Time Estimates

Do not open Keap’s import wizard until you have the following in place. Skipping prerequisites is the most common reason imports require a painful second pass.

  • A single consolidated CSV file with UTF-8 encoding. All candidate sources — ATS exports, spreadsheets, old CRM exports — merged into one file.
  • A confirmed email column. Keap matches existing records on email address. Rows without a valid email create unmatched, unsearchable orphan records.
  • Custom fields already built in Keap for every column in your CSV that does not map to a native Keap field. Building them retroactively forces a second import.
  • Your automation sequences and tags designed in advance. Know which tag triggers which sequence before you assign tags in the CSV.
  • A staging or test contact group — at minimum, a saved search filter — so you can isolate imported records for spot-checking.
  • Time budget: Data cleaning typically takes 2–6 hours for a 5,000-record database. The import itself takes minutes to hours depending on file size. Post-import verification takes 1–2 hours.

Reading the Keap CRM data clean-up strategy guide before this step will cut your preparation time significantly.


Step 1 — Clean and Deduplicate Your Source Data

Clean data is the only foundation automation can stand on. A single corrupt field can break a trigger condition across hundreds of records.

Harvard Business Review research has established that poor data quality carries cascading operational costs that compound over time — and recruiting databases are particularly vulnerable because they aggregate data from multiple inconsistent sources: ATS exports, LinkedIn CSVs, email reply logs, and spreadsheets maintained by individual recruiters. Gartner research has estimated the average financial impact of poor data quality on organizations runs into the millions annually.

What to do in this step:

  1. Merge all sources into one master spreadsheet. Use one tab per source initially, then stack them into a single sheet.
  2. Deduplicate on email address first. In Excel or Google Sheets, use conditional formatting or the COUNTIF function to flag duplicate emails. Resolve each manually — do not blindly delete without reviewing which record is more complete.
  3. Standardize field formats.
    • Phone numbers: strip formatting to digits only, then reformat consistently (e.g., (555) 867-5309).
    • Dates: convert all date fields to MM/DD/YYYY — the only format Keap’s date fields accept reliably.
    • Dropdown values: audit every value in columns that will map to Keap dropdown fields. Any value not in Keap’s dropdown list will either be skipped or create an error.
  4. Verify email validity. Rows without a valid email format should be either corrected or moved to a separate “no-email” file for manual follow-up. Do not import them into the main batch.
  5. Add your tag columns now. For each record, populate at least: pipeline stage tag, source channel tag, and an import batch label (e.g., “Import-2025-07”). These columns will map to Keap’s Tags field during import.
  6. Save as CSV with UTF-8 encoding. In Excel: File → Save As → CSV UTF-8 (Comma delimited). In Google Sheets: File → Download → Comma-separated values.

Jeff’s Take: The import is a data architecture decision, not a file transfer. Audit your automation trigger conditions before you finalize your CSV columns — then make sure every field those triggers depend on is present in your file. See the full expert note at the bottom of this guide.


Step 2 — Build Every Custom Field in Keap Before You Import

Keap’s native contact record covers general CRM fields: name, email, phone, company, address, birthday, and a handful of others. Recruiting data rarely fits that standard schema cleanly.

Before you import, review the Keap custom fields guide for HR and recruitment data tracking to understand field types, nesting options, and how field design affects automation trigger logic.

Recruiter-specific custom fields to create before import:

  • Current Job Title (Text)
  • Target Role (Text)
  • Specialization / Discipline (Dropdown — pre-populate with your taxonomy)
  • Years of Experience (Number)
  • Desired Salary Range (Text or Number)
  • Notice Period (Dropdown: Immediate / 2 weeks / 30 days / 60 days / 90+ days)
  • Source Channel (Dropdown: Referral / Job Board / LinkedIn / ATS / Event / Inbound)
  • Placement Status (Dropdown: Active / Placed / Passive / On Hold)
  • Last Contacted Date (Date)
  • Resume on File (Yes/No checkbox)

In Keap: navigate to CRM → Settings → Custom Fields → Contacts → Add Field. Build every field before proceeding. Any CSV column that maps to a field that does not yet exist in Keap will be skipped silently during import — no error, no warning, just missing data.


Step 3 — Configure Import Settings and Design Your Tag Strategy

Keap’s import wizard offers more configuration than most users realize. Getting these settings right protects your existing database and activates your automation immediately.

Import mode selection:

  • Add new contacts only: Skips any row whose email already exists in Keap. Use this only when you are certain there is zero overlap.
  • Update existing contacts: Matches on email and updates fields. New emails create new contacts. This is the correct mode for most recruiting imports where candidates may already exist in Keap from prior sourcing activity.

Tag strategy — apply during import, not after:

The most powerful configuration decision in a Keap import is assigning tags inside the CSV before you upload. Keap can fire a tag-applied automation sequence the instant a contact is created or updated with that tag. Post-import tag broadcasts introduce delay and error risk.

For every import, include at minimum three tag columns in your CSV:

  1. Pipeline stage tag (e.g., “Stage: Active Candidate”, “Stage: Passive Talent Pool”)
  2. Source channel tag (e.g., “Source: ATS Export”, “Source: Referral”)
  3. Import batch tag (e.g., “Import-2025-07-01”) — this label is your recovery mechanism if you need to reverse a bad import

In your CSV, the Tags column uses comma-separated values: Stage: Active Candidate, Source: ATS Export, Import-2025-07-01

Review the Keap CRM tagging and segmentation guide for recruiters to finalize your tag taxonomy before this step.


Step 4 — Run a 25-Record Test Batch First

Never commit a full database import without a test batch. This is not optional caution — it is the step that separates clean implementations from multi-day cleanup projects.

How to run the test batch:

  1. Copy 25 rows from your master CSV into a new file. Choose records that represent your data’s diversity — different source channels, different pipeline stages, a few with and without phone numbers, at least one with an unusual character in a name field.
  2. In Keap: navigate to Contacts → Import → Import Contacts → upload your 25-record test file.
  3. Work through the field mapping screen. Map every column to its Keap field — standard fields and custom fields. Screenshot or document your mapping for reference during the full import.
  4. Complete the import. Then open Contacts and filter by your import batch tag.

What to verify in each test record:

  • All custom field values populated correctly
  • All three tags applied (pipeline stage, source, import batch)
  • Date fields display in the correct format
  • Phone numbers formatted consistently
  • No duplicate records created (check by searching the email address of a test contact)
  • Automation sequences triggered — check the record’s automation history tab

If any field type mismatch surfaces during the test batch, correct it in your master CSV before proceeding. Common mismatches: date values in wrong format, dropdown values that do not match existing options, number fields containing text like “$75,000.”


Step 5 — Execute the Full Import in Batches and Activate Automation

With a validated test batch and a clean master CSV, you are ready to import the full database.

Batch size guidance:

  • Keep individual import files under 10,000 rows for reliable processing.
  • For databases above 10,000 records, split the master CSV by pipeline stage or source channel — meaningful segments rather than arbitrary row cuts.
  • Import one batch, wait for completion, verify the record count, then start the next batch.

During import:

  1. Upload the batch CSV in Keap’s import wizard.
  2. Apply the same field mapping you documented during the test batch. Do not re-map from memory.
  3. Confirm the import. Keap will process the file — larger batches can take 15–45 minutes.
  4. When complete, Keap displays a results summary: Contacts Added, Contacts Updated, Errors. The total of Added + Updated must equal your row count. Any discrepancy means rows were skipped — investigate before proceeding to the next batch.

Post-import actions (run after every batch):

  1. Run Keap’s duplicate merge. Even with clean source data, the import may surface duplicates against existing Keap records. Use Contacts → Duplicates to resolve them before automation sequences fire on merged contacts twice.
  2. Spot-check 5% of records manually. Open random records from the batch. Verify custom field values, tags, and phone number format match your source CSV.
  3. Confirm automation activation. Open a sample record and review the Automation tab. The tag-based sequences you designed in Step 3 should show as active. If they do not, the tag was not applied — investigate the mapping before the next batch.

The Keap CRM ATS integration guide covers how to replace this manual import cycle with an automated recurring sync once your initial database is live.


How to Know the Import Worked

A successful import passes four checks:

  1. Row count reconciles. CSV rows (minus header) = Keap’s Contacts Added + Contacts Updated total. Zero unexplained discrepancy.
  2. Custom fields populated. Spot-check confirms recruiter-specific fields — notice period, desired salary, placement status — display correct values on individual contact records.
  3. Tags applied. Every imported contact carries all three tags (pipeline stage, source channel, import batch label). Filter your contact list by the import batch tag and count the results — it must match your CSV row count for that batch.
  4. Automation sequences active. At least one automation sequence is running on imported contacts whose tags triggered it. Check the Automation History tab on a sample of affected records.

If any of the four checks fails, stop. Do not import the next batch until you identify and correct the root cause.


Common Mistakes and How to Avoid Them

Mistake Consequence Fix
Importing before custom fields exist Columns silently dropped; no error shown Build all custom fields in Keap before uploading any file
Skipping the 25-record test batch Field-type mismatches corrupt thousands of records Always test before committing the full file
Tagging after import instead of during Automation sequences do not fire; manual broadcast required Add tag columns to CSV before upload
No import batch label tag Cannot isolate or roll back bad records Always include a date-stamped import tag in every batch
Date fields in wrong format Keap skips or misreads the date value Convert all dates to MM/DD/YYYY before export
Dropdown values not in existing list Value skipped; field shows blank on record Audit your dropdown values against Keap’s field options before import
Importing 14,000 rows in one batch Processing errors, timeout, or partial import with no clear failure point Split into batches of 10,000 rows maximum

APQC benchmarking research on HR data quality consistently shows that data errors introduced at the point of migration are significantly more expensive to remediate than errors caught during pre-import cleaning — reinforcing the case for preparation over speed.


What Comes Next: From Static Database to Active Pipeline

The import is not the finish line. A database sitting in Keap without active automation sequences running is no better than the spreadsheet you migrated from. Within 24 hours of completing your final batch, confirm that:

  • Active candidates are in a nurture sequence receiving personalized outreach
  • Passive talent pool contacts are in a low-frequency check-in sequence
  • Placed candidates have transitioned to a post-placement engagement sequence

McKinsey Global Institute research on automation’s economic potential consistently identifies pipeline visibility and follow-up consistency as the highest-value automation opportunities in knowledge-work contexts — and recruiting follow-up is a direct example of that category.

Manual candidate follow-up at scale is one of the largest sources of recruiter time waste. Parseur research on manual data processing has estimated the cost of manual-entry-dependent workflows at $28,500 per employee annually when accounting for time, error rates, and downstream rework. Automating the transition from import to nurture eliminates the human-dependent follow-up gap entirely.

For what your automation sequences should look like once your data is live, the Keap CRM automation guide for candidate nurturing covers eight specific sequence patterns recruiters use to keep talent pipelines active without additional recruiter hours.

For teams connecting their ATS to Keap for ongoing automated sync — eliminating the need for recurring manual CSV imports — the talent pipeline automation guide covers the integration architecture that makes that work.

And if your Keap database has accumulated months of inconsistent manual data entry and needs remediation before automation can function reliably, the recruitment database transformation guide addresses that cleanup sequence directly.

The architecture behind all of it — the pipeline stages, field design, and trigger logic that make a Keap import worth executing — is laid out in the complete Keap CRM implementation checklist. Build the automation spine before you import a single contact. The import executes faster, the data lands cleaner, and the pipeline activates the moment your first batch completes.