Importing Contacts (CSV)

April 23, 2026

Importing Contacts (CSV) #

Bulk import contacts from spreadsheets, other CRMs, or databases with intelligent duplicate handling.

Prerequisites #

  • CSV file with UTF-8 encoding
  • Unique identifier field (email, phone, or custom)
  • Administrator permissions
  • Database backup (critical for large imports)

Preparing Your CSV #

Format Requirements

  • UTF-8 encoding
  • Comma-separated (.csv)
  • Headers in first row
  • One contact per row
email,first_name,last_name,phone,city,company
[email protected],John,Doe,+1-555-0123,New York,Acme Inc
CSV file structure example

Supported Fields

  • Standard: email, first_name, last_name, phone, city, state, country, postal_code
  • Custom: Any custom field slug
  • Special: lists, tags (comma-separated values in quotes)

Data Formatting

FieldValidInvalid
Email[email protected]john@example
Phone+1-555-0123555-CALL-NOW
Dates2026-02-0303-Feb-2026
Lists/Tags“Newsletter, VIP”Newsletter|VIP

Import Process #

1. Access Import Tool

PloverCRM → Contacts → Import/Export → Import tab

Import tool screen

2. Upload CSV

Click Choose File → Select CSV → Upload and Analyze

3. Map Fields

Auto-detected mappings are shown. Manually map any unmapped columns:

CSV Column → PloverCRM Field
fname → First Name
organization → Company (Custom)
notes → -- Skip --
Field mapping screen

4. Configure Options

Duplicate Handling:

  • Skip: Don’t import if contact already exists (safest)
  • Update: Update existing contact with new data (most common)
  • Create Anyway: Not recommended

Assign Lists/Tags: Optionally assign all imported contacts to specific lists or tags.

5. Review & Start

Review the summary, then click Start Import:

Total rows: 1,250
Mapped fields: 8
Duplicate handling: Update Existing
Import review screen

6. Monitor Progress

Import runs in batches of 50 at a time. Don’t close the browser.

Progress: 250/1,250 (20%)
Created: 180 | Updated: 65 | Skipped: 5 | Errors: 0

7. Review Results

✓ Import completed!
Total: 1,250 | Created: 1,100 | Updated: 120 | Errors: 5

View the error log for details. Fix and re-import any failed rows.

Import results screen

Advanced Options #

Custom Fields

  1. Create the fields first (PloverCRM → Custom Fields)
  2. Use the exact field slug as the CSV column header
  3. Ensure values match the field type

Lists and Tags

In CSV:

email,lists,tags
[email protected],"Newsletter, VIP","Hot Lead, Enterprise"

Or: Assign during the import wizard
Or: Use IDs: "1,3,5"

Large Imports (10,000+)

  1. Split into 5,000-row files
  2. Contact your hosting provider to increase server limits if needed
  3. Import during off-peak hours
  4. Consider using WP-CLI for very large datasets

Duplicate Handling #

  • Skip: Safest option — leaves existing contacts unchanged
  • Update: Updates only the fields present in the CSV; does not clear empty fields
  • Create Anyway: Use with caution — can result in duplicate contacts

Troubleshooting #

ProblemSolution
Import failsCheck field mapping, verify required field is present, test with a small file
Invalid formatCheck UTF-8 encoding, ensure headers are in row 1, remove blank rows
High error countReview error log, check email formats, verify field slugs
TimeoutSplit file into smaller batches, increase PHP limits, import off-peak
Duplicates createdVerify unique field is mapped correctly, check value matches

Best Practices #

Before importing:

  1. Back up the database
  2. Clean your data (remove duplicates, validate emails)
  3. Test with a 10–20 row sample file
  4. Create any required custom fields first

During import:

  • Monitor progress
  • Don’t interrupt — 1,000 contacts takes approximately 2–3 minutes

After importing:

  1. Review the error log
  2. Re-import any failed rows
  3. Spot-check a sample of contacts
  4. Verify list and tag assignments

Export-Edit-Reimport #

For bulk updates and corrections:

  1. Export contacts to CSV
  2. Edit the CSV
  3. Re-import with the Update Existing duplicate option

Last updated: February 3, 2026