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

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 #
| Field | Valid | Invalid |
|---|---|---|
| [email protected] | john@example | |
| Phone | +1-555-0123 | 555-CALL-NOW |
| Dates | 2026-02-03 | 03-Feb-2026 |
| Lists/Tags | “Newsletter, VIP” | Newsletter|VIP |
Import Process #
1. Access Import Tool #
PloverCRM → Contacts → Import/Export → Import tab

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 --

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

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.

Advanced Options #
Custom Fields #
- Create the fields first (PloverCRM → Custom Fields)
- Use the exact field slug as the CSV column header
- 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+) #
- Split into 5,000-row files
- Contact your hosting provider to increase server limits if needed
- Import during off-peak hours
- 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 #
| Problem | Solution |
|---|---|
| Import fails | Check field mapping, verify required field is present, test with a small file |
| Invalid format | Check UTF-8 encoding, ensure headers are in row 1, remove blank rows |
| High error count | Review error log, check email formats, verify field slugs |
| Timeout | Split file into smaller batches, increase PHP limits, import off-peak |
| Duplicates created | Verify unique field is mapped correctly, check value matches |
Best Practices #
Before importing:
- Back up the database
- Clean your data (remove duplicates, validate emails)
- Test with a 10–20 row sample file
- Create any required custom fields first
During import:
- Monitor progress
- Don’t interrupt — 1,000 contacts takes approximately 2–3 minutes
After importing:
- Review the error log
- Re-import any failed rows
- Spot-check a sample of contacts
- Verify list and tag assignments
Export-Edit-Reimport #
For bulk updates and corrections:
- Export contacts to CSV
- Edit the CSV
- Re-import with the Update Existing duplicate option
Last updated: February 3, 2026