Upsert means: if the email already exists, update that member; if not, create a new one. Both Free and Pro support importing a UTF-8 CSV matched by email. Free is enough for small imports (≤500 rows). Use Pro for large files, update-only, or safer per-field rules.
Prepare your CSV
- UTF-8 encoding with a header row
- Include an email column (required for match-by-email)
- Add columns you want to set: first_name, last_name, role, account_status, custom UM meta keys, etc.
- Files exported from UM Export usually auto-map on import
Import steps
Free
- Go to Ultimate Member → Import.
- Step 1: upload CSV → mode = Create or update (upsert) → match = Email.
- Step 2: confirm column mapping (auto-map, then fix any misses). Email must be mapped.
- Step 3: dry-run preview → enable On update, skip blank CSV cells (recommended) → Run import.
Pro
- Go to UM Export → Import.
- Same 3 steps; optionally load an import preset.
- For 50+ rows, prefer Run in background.
- Optional: suppress new-user notification emails; set role strategy (replace vs add).
📸 Screenshot
Upload step with Upsert + Email selected, then mapping table with Email mapped.
After import
Review Created / Updated / Skipped counts. On Free, split large spreadsheets into ≤500-row files. On Pro, use background import and check import history.
Plugin: Ultimate Member Export


