Import Members into WordPress Ultimate Member from CSV File

The Ultimate Member plugin is a formidable package for managing membership on a WordPress site. Surprisingly, however, it does not have a built-in way to import members through CSV file or other method. But, you can still do it using the method I describe here.

Install the “Import Users from CSV” Plugin

The first step (after installing Ultimate Member, of course), is to install the Import Users from CSV Plugin.  This plugin had been somewhat abandoned but I’m glad to report that it’s now being maintained again!

FYI, there are a few alternate user upload plugins that I have not tried yet, but they should work: Import Users from CSV With Meta. Another one is Import Export WordPress Users.

Create Your Preliminary CSV File Template

After activating the plugin, go to Users -> Import from CSV (or Tools -> Import users from CSV if you’re using the newer plugin) and click the link to download the example CSV file.  Use this as a starting point to create your CSV template.  If you have other fields you want to import, add new columns with the Meta Key for that field in the first row.

If you want users to have multiple roles, you can separate them with commas (thank you to reader Nick D. for that info!)

To find a Meta Key for an Ultimate Member field, go to Ultimate Member -> Forms -> Registration Forms, then click on edit button for the field you want to add.  The Meta Key field will be there.

Repeat for all of the Ultimate Member fields that you want to add.

Populate Your CSV File

The next step is to populate your CSV file with member data. Either copy it into your template CSV, or reformat your existing member CSV to fit the format of your template.

There are some very important steps to take when doing this:

  1. user_login is a required field, so make sure it is unique and not blank!
  2. Email address is actually not required, but it’s a good idea to have it unless you have a specific reason not to.
  3. Make sure there are no duplicate usernames or email addresses, or the import will fail part way through and you’ll have to clean up the mess.
  4. Passwords (user_pass) might not be required, but I always add them anyway.  If I don’t have passwords, I generate them arithmetically in Excel based on other fields. Note that they will be encrypted before being written to the database, as with other WordPress passwords.
  5. For the “role” column, I use “subscriber” to give minimum WordPress privileges to members.
  6. Create a column with title ” account_status ” and populate it with “approved” for all members. This is used by Ultimate Member.
  7. VERY IMPORTANT: If you have any fields which are validated as URLs, make sure to include the “http://” or “https://” before the domain name, or else they won’t validate after entry and you’ll have to add them manually to every member!

When you’ve taken care of all of these issues, and made sure there are no invalid fields in your spreadsheet, export it as a CSV file if it is not already.

Check Ultimate Member Field Validations

At this point, you should double-check what kind of validations you have set for your Ultimate Member fields to make sure they match they type of content you have in your spreadsheet.

One type of field that might trip you up is email address. Ultimate Member has a validation setting called “Unique Email” for email addresses.  This not only makes sure the email address is a valid address, but also that it is unique within this WordPress install.  That means the import will fail if there are any duplicate email addresses in this field.  That is what you want if the email address is the user’s primary email address, but it might not be what you want if the email address will be duplicated between members.

Think about this carefully and set your Ultimate Member form validations accordingly.

Set Notification Preferences- Important!

I learned this lesson the hard way, but one super-important thing to do before uploading is to think about Ultimate Member email notifications.

Go to Ultimate Member -> Settings -> Emails and turn off any email notifications that you don’t want to go out during the import process.


Upon import, users will be in the Pending state. Think about whether you want to move them to Approved yourself, or if you want them to get an email prompting them to do it, and set your email notifications accordingly.  This is a very important step!

I forgot to do this, and I had to re-import a few times.  This resulted in hundreds of emails going to confused members who thought their memberships were canceled and so forth.  Please don’t make this mistake!

Do a Test Import

The most prudent thing to do at this point is to make a staging copy of your site, and then do a test import using your spreadsheet template and a few dummy users on that offline staging copy. Go to Users -> Import from CSV, and import the dummy CSV file.

Do the import and make sure they are imported into Ultimate Member correctly.  If not, go back and fix what failed.

This is also a good time to make sure the email notification settings you chose are what you really want. Check to see if the appropriate emails got sent (or not sent if that is the case).

Do the Real Import

Okay, you are finally ready!

Go to Users -> Import from CSV.  There are three checkboxes related to notifications and so forth that you should carefully consider before proceeding. Once they are set accordingly, upload your CSV and go!

If successful, all of your imported members will be in the Approved state. However, in my latest testing, the role assigned to the imported members was only Subscriber. We need to add “Member” to that also.

Add the Member Role

To add the “Member” role to the imported users, go to Users and select all of the users that you’ve imported. Then click the UM Action pulldown and select the Ultimate Member status that you want to assign to the imported users.

You’re Done

Okay, that’s it. Bulk importing members into Ultimate Member is a somewhat tedious process that needs to be done carefully. But hopefully, you’ll only need to do it once!

Let me know if you have any other tips regarding this. Let me know how your Ultimate Member import experience went as well! – Brian


Please Leave a Question or Comment

Notify of

This site uses Akismet to reduce spam. Learn how your comment data is processed.

Inline Feedbacks
View all comments
1 month ago

Spot on Brian!
Fair play to you.

Nick D
Nick D
1 year ago

Hi Brian

great article and very very helpful,
Is there a way to import multiple roles for a user eg Subscriber and level?

Many Thanks

Nick D
Nick D
1 year ago
Reply to  Brian Shim

thanks, Brian just for the future in case anyone else asks you can use commas in the roles column to add multiple user roles.

Nick D
Nick D
1 year ago

Hi, This article was excellent and helped import many users very quickly.
One question is can you have more than one role per user to eg subscriber and level 3

1 year ago

Do you know how I can export members including their ID numbers?
Many thanks

1 year ago
Reply to  Brian Shim

Hi Brian, firstly, thanks for the quick response – really appreciated!
Problem with this plugin is, although it gives me member I.D., it seems incomplete!
My situation; I run a not-for-profit club website with Ultimate Membership Pro as our membership plugin. This gives me the option to view those who have paid their subs, and those who have not, by filtering and exporting the CSV. However, it does not give me the membership number (ID).
This plugin exported around 200 of 400, but seemed to include both paid and not paid – very confusing.
Many thanks for your time

2 years ago

Brian, thank you. Excellent, clear instructions. Very helpful!

2 years ago
Reply to  Brian Shim

Hi Brian, I reached out to the import user plugin author but have not heard back – do you know if there is a way to import the profile and cover images? We have a lot of members and adding them manually is taking a long time.

2 years ago
Reply to  Brian Shim

Ok thank you for your quick reply Brian.

Arpit Mittal
3 years ago

i am using free ultimate member plugin.
am bit confused how to import and export users.
i was trying to wordpress import and export plugin but it has so many fields.. what shall i do in this ? i should fill the fields or.. only mail field which i need for ultimate member.
password field also .. what i should type in MD5 pass or something else.
Please giude

Tom Grimes
Tom Grimes
4 years ago

Where is the ‘Member’ role created? It is not in the Users role dropdown.

4 years ago

I made a mistake
I exported all users (including admin user) and modified them and imported them.
now I cant access to the back end of my site.
please help my access my site again.

4 years ago
Reply to  shereefmoussa

I fix it.never mind.
how to update specific data not all user profile?
and thank you for the post.

4 years ago

Hello , I tried to import users with new field , that i added To CSV file (meta-key)
but it does not work.
any suggestion please!

4 years ago

Thanks for providing us with your insights. I have this task on my table and I’m glad that you shared your process.

4 years ago

Thank you very much for such a great instruction,
I am now trying with [account_status] as approved.
But I am keep receiving error
[There’s something wrong with your code…]

I uploaded csv like this,

The result is like this,

I wonder if anybody could help me to import with correct role, and approved straight away?

4 years ago
Reply to  Brian Shim

Dear Brian
Thank you very much for your quick reply, I am so impressed!
In the end, according to your instruction, I placed like this on the CSV,
role = subscriber
account_status = approved

Then result was,
Imported successfully
Role = subscriber
Approved = yes,

After that, I changed the role to the correct customed role by manual.

Fist time I tried too much on CSV,
role = um_custom_role_13
account_status = approved
I expected this works, for both Role and Approvement but I found 2 things does not work at the same time.
We have to give up Custom role to be imported, if we want it as [approved] status.

Your instruction was absolutely correct!

I have another question..
I use an unique password for 300 people for this import,
I expect each one of them to re-set the password after they received credential.

In that case, the best way is like this?
1. Send welcome message from UM
2. and check [show password nag on new users signon

I want to do 2 things in one-e-mail somehow,, I wonder if you have better idea to make it happen..?

6 years ago

Great instructions. I struggled with the passwords, as the current version kept using a different encryption that my site if I imported as user_password. if i used user_pass as the column heading, it imported the clear text. Solution – set up a user with the default password you want, go to the DB and copy the encrypted version of the password – past that into your CSV file in the user_pass column, and the clear text of the encrypted password is imported and then works on the site.

Now, I’m still not allowed to import multiple users with the same email. I need to do this because I’m bulk importing and don’t have emails for everyone. I noted your comments above about UM Form Validations, but so far, I’ve been unable to find these settings (at least not at the field level.) I’ve edited the default UM forms, and the user_email field on those forms to require “No Validation” but that doesn’t seem to have worked. Any further suggestions on how to configure to allow for multiple users with the same email (but a unique username) would be much appreciated.

6 years ago
Reply to  Michael

Update – after reading lots of other articles, I think WordPress prevents duplicate email addresses. However, you can import data with a blank email as long as you have a unique username, which meets my needs. thanks again for the helpful article.

6 years ago

Great article! Thank you very much!

I have one suggestion and one question :)

The suggestion is that you can probably automate the approval process by using a column “account_status” with value “approved” (haven’t tried it, but I see the meta field in the database)

And my question is, have you found a way to import Profile Photo? Seems like passing an URL won’t cut it..

4 years ago

FYI, I found including “account_status” as “approved” to be a key step for Ultimate Member migration. You don’t need column with title “MembershipStatus” as he stated in the instructions above however.

Stephen Peacock
6 years ago

Thanks for your article, it is a help resource. I have a question though. You mentioned adding a column for ‘Role’ and setting it to subscriber. How does one set a persons status as Admin or Member on import? How should that column be labeled?

6 years ago
Reply to  Brian Shim

I’m using godaddy WP hosting and using their starfield mysql admin, I’m not able to find the db so I can see the UM tables and make sure I’m loading the correct fields. Any suggestions on how to do this.

7 years ago

You’re an incredible help – thank you soso much

7 years ago

Hi Brian –

Thanks for the great info!

Do you happen to know how I can change the default email that’s sent to members by the Import? The one that’s there is quite terse and unfriendly. I’m moving my membership from Salesforce to WordPress and I’d like the initial email to say “Welcome to our new website”, and “Here’s how you log in”, and so on.

Any idea how to do that?