Use import when you already have members in Ultimate Member and need to refresh profile data from a spreadsheet. Match each CSV row to an existing account by email or username.
Important Free limitation: Free has no Update only mode and no match by User ID. Upsert will create a new user if the email/username is not found. Double-check your CSV before running.
When to match by email vs username
- Email — default; best when emails are unique and stable
- Username — when you’re syncing from a system that keys off
user_login - User ID (Pro) — safest for migrations between environments with stable IDs
Free: update via upsert
- Ultimate Member → Import
- Upload CSV → mode = Create or update (upsert)
- Match = Email or Username
- Map the match column + fields to change
- Enable skip blank cells on update
- Dry-run preview — confirm rows show update, not unexpected create
- Run import (≤500 rows)
Pro: safer update-only
- UM Export → Import
- Mode = Update only — skip new users
- Match = Email, Username, or User ID
- Optional: set Email/Username rule to Never update; other fields to Always overwrite
- Optional: “Update only these fields…”
- Dry-run → run now or background
📸 Screenshot
Import step 1 showing mode radios — Free without Update only; Pro with Update only selected.
Dry-run checklist
- Every row you care about resolves to an existing user
- On Free upsert, no surprise “create” for typos in email/username
- Blank cells won’t wipe data if skip-blank is on
- Role column behavior understood (Pro: replace vs add)
Quick decision
| You need… | Use |
|---|---|
| Small update list, emails are correct | Free upsert by email |
| Must not create new accounts | Pro Update only |
| Match by WordPress user ID | Pro |
| 500+ rows or background processing | Pro |
Free + Pro: Ultimate Member Export


