There are various reasons why you might want to export your members list to CSV—whether you want to back up your customer data, import members to a new email provider, or run reports on member data not built into Paid Memberships Pro, for example.
In this post, we’ll show you how to export your members list in PMPro, including the default columns included in the export, as well as a method to add additional user data to the file.
Access the Members List Export
The “Export to CSV” feature of Paid Memberships Pro is located on the Memberships > Members List admin page. Here you will see your full Members List, which can be filtered based on several features, including Membership Level, Status, or via search. The exported CSV file is based on the active filter in the current view. If you would like to add additional data to this admin page or allow for more detailed filtering, see:
- Add a Custom Column to the Members List and All Users Admin Pages
- Search Specific User and User Meta Fields on the Members List
Default Fields Included in the Members List Export
The basic CSV export will include the fields below, if they are available for the user. Not every field below is captured for every user and fields for some users may be blank in the export. This depends on your site settings and active payment gateway.
Data from the WordPress
- id: The User’s ID;
- username: The user’s username;
- firstname: The user’s first name;
- lastname: The user’s last name;
- email: The user’s email address;
- joined: The date the user registered in the WordPress site (
Data from the WordPress
- billing firstname: The user’s billing first name;
- billing lastname: The user’s billing last name;
- address1: The first address line of the user’s billing address;
- address2: The second address line of the user’s billing address;
- city: The user’s billing address city;
- state: The user’s billing address state;
- zipcode: The user’s billing address zip code;
- country: The user’s billing address country;
- phone: The user’s billing address phone;
Data from the
- membership: The user’s membership level name;
- initial payment: The amount the user’s paid at checkout for their currently active level;
- fee: The amount the user is paying per subscription term;
- term: The term of the user’s subscription (day, week, month, year);
- expires: The date the user’s membership level expires;
Data from the
- discount_code_id: If membership was purchased using a discount code, the ID of the code;
- discount_code: If membership was purchased using a discount code, the code’s value;
Adding Additional Data to the Export
There are a few methods to add data to your CSV export.
Custom user fields are included in the export by default if you created the fields on the Memberships > Settings > User Fields admin page. You can override this behavior using custom code to extend the user field settings using the “
memberslistcsv” field option.
For example, the code recipe below demonstrates how to add fields from the
wp_usermeta tables as well as fields added via BuddyPress.
There may be other custom tables you need to pull in data from, in which case you’d need to access the user information in another way (depending on the plugin you are trying to interact with).
The Code Recipe
Adding the Recipe to Your Website
You can add this recipe to your site by creating a custom plugin or using the Code Snippets plugin available for free in the WordPress repository. Read this companion article for step-by-step directions on either method.
Then, for each additional column you would like to add, modify and/or duplicate lines 8 and 9 for your unique needs. You will then need a custom callback function for each column name (key) and user value (callback return).
Line 18 demonstrates how to access a
usermeta field, line 25 demonstrates how to access a field in the default
WP_User object, and line 32 demonstrates how to access a field from the BuddyPress profile fields.