---
title: "Import, export and bulk-create Constellation members"
url: "https://kestrelwp.com/docs/importing-or-managing-members-in-bulk/"
description: "Create memberships from past orders, or import and export Constellation members as CSV."
published: "2026-10-06T20:28:19+00:00"
modified: "2026-10-07T05:39:21+00:00"
---

There are three ways to handle members in bulk: create memberships from orders you already have, import them from a CSV file, or export them to a CSV file. Moving from WooCommerce Memberships has its own built-in migration.

## When you’d use this

- Give past customers memberships after you link their product to a plan.
- Move members from another membership system.
- Change many memberships at once with a spreadsheet.
- Send a member list to your email marketing tool.

## Create memberships from past orders

If your members already have orders (or recurring billing records) for a product that grants access, this is the most reliable way to create their memberships, because each membership links to its order.

1. Link the product to the plan and save the plan. If you’re moving from another system, import its orders into WooCommerce first.
2. Open the plan under **Constellation » Plans** and click **Grant Access** next to **Existing purchases** in the publish box.
3. Read the confirmation and click **Grant Access**.

Constellation scans past orders for the plan’s products and creates a membership for each customer who isn’t already a member. Existing members keep their status and dates. For subscription-tied plans, only customers with active recurring billing get a membership. You can stop it early with **Stop Processing**, but memberships it already created stay.

This can’t be undone: to reverse it, you’d delete the memberships by hand.

## Export members

Go to **Constellation » Tools** and open the **Export** tab.

![The Export tab](https://kestrelwp.com/wp-content/uploads/2024/09/constellation-woocommerce-memberships-tools-export.png)- **Plan** and **Status**: leave blank to export every plan and status.
- **Start Date** and **End Date**: **From:** and **To:** dates (`YYYY-MM-DD`) to limit by start or expiration date. Leave either side blank for an open range.
- **Export Date Format**: **Default** (`Y-m-d H:i:s`) is the format to use if you’ll re-import the file.
- **Profile Fields**: **Include profile fields** adds members’ profile field answers.
- **Meta Data**: **Include additional meta data** adds a column with all the membership’s data in JSON.
- **Separate Fields By**: **Comma** or **Tab space**.

Click **Export** to download the file. For a segment the exporter can’t filter, filter the [members list](/docs/managing-members-memberships/#filter-the-list) and use the **Export to CSV** bulk action.

The file has these columns: `user_membership_id`, `user_id`, `user_name`, `member_first_name`, `member_last_name`, `member_email`, `member_last_active`, `membership_plan_id`, `membership_plan`, `membership_plan_slug`, `membership_status`, `has_access`, `product_id`, `order_id`, `member_since`, `membership_expiration`, plus profile fields and `user_membership_meta` when you include them.

## Import members

Importing creates or updates memberships only. It doesn’t create orders or recurring billing, so imported members aren’t billed. Create the plans before you import.

Go to **Constellation » Tools » Import**. Use the column names above; an export from your store is the easiest template, and our [sample CSV sheet](https://go.kwp.to/constellation-csvs) shows the format.

![Constellation by Kestrel: Import members](https://kestrelwp.com/wp-content/uploads/2026/10/constellation-cn-11.png)- **Import File**: a CSV or tab-delimited file.
- **Update existing records if a matching membership is found** (on by default): matches by membership ID, or by user (ID, login name or email) plus plan (ID or slug).
- **Allow membership transfer between users if the imported user differs from the existing user for the membership** (off by default): with it off, conflicting rows are skipped.
- **Create new memberships if a matching membership is not found** (on by default): needs a valid plan and user in the row.
- **Create a new user if no matching user is found** (off by default).
- **Send new account notification emails when creating new users during an import** (off by default).
- **Default Start Date**: for new memberships with no start date in the file. Blank means today.
- **Import Date Format**: **Auto-detect** unless your dates import wrongly, then a **Custom Date Format**.
- **Dates Timezone**: **Site timezone** or **UTC**.
- **Fields Separated By**: comma or tab.

Click **Upload File and Import**.

### Recommended options

- **Creating members from another system:** turn off **Update existing records…**, keep **Create new memberships…** on, and turn on **Create a new user…** if those customers don’t have accounts on your store yet.
- **Updating existing members:** export first, edit the file, then import with **Update existing records…** on and **Create new memberships…** off. Leave **Allow membership transfer…** off unless you mean to move memberships between accounts.

## Move from WooCommerce Memberships

Constellation can migrate WooCommerce Memberships 1.x data: plans, rules, memberships and settings. Back up your site first, then:

1. Deactivate WooCommerce Memberships. Constellation doesn’t load while it’s active.
2. Activate Constellation. A notice says "WooCommerce Memberships data was detected in your installation."
3. Click **Migrate to Constellation**. If the migration stops, the notice offers **Resume migration**.

When it’s done, you see "WooCommerce Memberships has been successfully migrated to Constellation." For other membership plugins, import orders and use Grant Access, or import a CSV.

## Common issues

### Rows were skipped in the import

Each row needs a plan Constellation can match (ID or slug) and a user (ID, email or login name). Rows that match nothing are skipped unless **Create new memberships…** and **Create a new user…** allow them. Rows for a different user than the existing membership are skipped unless **Allow membership transfer…** is on.

### Imported dates are wrong

Set **Import Date Format** to match your file, or export with the **Default** format before editing and re-importing. Check **Dates Timezone**.

### Grant Access created no memberships

The plan’s products must match the products in past orders, and those orders must belong to customer accounts. For subscription-tied plans, the recurring billing must be active.

## Keep learning

- [Manage members and memberships in Constellation](/docs/managing-members-memberships/)
- [Create membership plans in Constellation](/docs/creating-membership-plans-to-provide-access-perks/)
- [Constellation member profiles and directory](/docs/member-profiles/)
