> For the complete documentation index, see [llms.txt](https://help.peoplevine.com/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://help.peoplevine.com/products/control-panel-overview/membership-management-hub/bulk-import-members.md).

# How to Bulk Import Members

The **Import Data** tool brings people and memberships into Peoplevine from a CSV file. Always import **people** first, then choose the membership **Imported Data Type** that matches your goal.

### Before you begin (Prerequisites)

* **Permissions**: You must be an **Administrator**, **Supervisor**, **Manager**, **Support**, or **Account Rep**. See: [How to Manage Users and Permissions](/products/control-panel-overview/admin-overview/manage-roles-permissions.md).
* **CSV File**: Prepare a CSV file with required fields. Emails and mobile numbers must be unique — if a match is found, the existing record is updated instead of creating a duplicate.
* **Membership setup** (for memberships): The membership programs must already exist, each with a **Membership SKU** that matches your CSV. See: [How to Set Up a Paid Membership](/products/control-panel-overview/membership-setup-overview/setup-paid-membership.md).

### Step 1: Import People into the CRM

1. Navigate to [**Company menu (top-left) > Data & Tagging > Import Data**](https://control.peoplevine.com/admin_data_import.aspx).
2. In the **Imported Data Type** dropdown, select **People / Customers**.
3. Click **Choose File** and select your CSV file.
4. Click **LOAD FILE**.
5. Review the field mapping: verify that each CSV column maps to the correct Peoplevine field. You must map at least **Email** or **Mobile Number**. For the fields available on a CRM import — first name, last name, birthday, address, email, phone, and more — see the [Peoplevine Data Dictionary](/products/control-panel-overview/reports-overview/data-dictionary-preview.md).
6. Optionally use **Label Import** — type any value and it tags every CRM record in this import with that attribute, for easy segmentation later.
7. Click **Process Import**.
8. You will receive an email confirmation when the import is complete.

> **Tip**: If this is your first CRM import, find the newly created records on the [**CRM > View People**](https://control.peoplevine.com/customers) page.

### Step 2: Add Memberships

Once your people exist in the CRM, choose the **Imported Data Type** that matches what you need:

| Imported Data Type                 | Use it to                                                                                                                                                                              |
| ---------------------------------- | -------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Membership Programs**            | Bulk-create **membership programs** (the plans themselves — name, type, fees, SKU).                                                                                                    |
| **Members to a Membership**        | Enroll **existing people** into a membership program.                                                                                                                                  |
| **Members to a Parent Membership** | Link a child / sub-member membership to a **parent membership** in bulk. See: [How to Add a Sub-Member](/products/control-panel-overview/membership-management-hub/add-sub-member.md). |

![Import Data Imported Data Type dropdown](/files/XkDbfpgiVpGfUIWcSB80)

> **Note**: A membership program must exist before you can import members into it. It's usually simplest to create programs directly in the Control Panel — bulk-importing programs is mainly for migrating many programs from another system.

For **Members to a Membership** and **Members to a Parent Membership**, click **IMPORT INSTRUCTIONS + SAMPLE FILES** in the Import Data tool to download the CSV template.

#### Bulk-create membership programs (Membership Programs)

Set **Imported Data Type** to **Membership Programs** and upload a CSV. The import maps these fields:

* **Membership Program Name** and **Membership Program Title**
* **Program Status** (id, temp. subscription, add-on)
* **Membership Type** (id, temp. subscription, add-on)
* **Membership Details**
* **Initiation Fee**, **Monthly**, **Annually** (pricing)
* **Membership SKU**
* **Enable Sub-Members**

![Membership Programs import field mapping](/files/liNKMMjS0U0EXsTX6RNJ)

#### Enroll existing people into a membership (Members to a Membership)

1. In **Import Data**, set **Imported Data Type** to **Members to a Membership**.
2. Upload a CSV. Key columns (see the sample CSV for the full list):
   * A customer identifier — **customer\_no** (best), **email**, or **mobile\_number** — to match existing CRM records.
   * **membership\_sku** — must match the SKU defined in the membership program's settings.
   * **card\_status** — `active`, `inactive`, or `pending`.
   * Subscription fields (**subscription\_rate**, **subscription\_frequency**, **next\_date**, **last\_date**) — **required for paid memberships**.
   * Optional: **expiration\_date**, **parent\_membership\_card\_no** / **parent\_email**, and custom **field1\_value**–**field6\_value**.
3. Click **LOAD FILE**, review the field mapping, and click **Process Import**.

> **Note**: Import ID (membership-only) members and paid members as **separate imports**. Importing does **not** process any payments — no initiation fee or dues are charged immediately; billing picks up on the **next billing date** set in the import.

> **Tip**: Enrolling members can fire the welcome email. To send it, set up an Instant Notification Template before importing **and** tick **Send Automated Emails, Webhooks, and Other Triggers** during the import — that box is **off by default**. To stay silent during the import, leave it unticked (or set the notification to Draft first).

#### Link to a parent membership (Members to a Parent Membership)

Set **Imported Data Type** to **Members to a Parent Membership** and upload a CSV with:

* **parent\_membership\_id** and **parent\_email** — the parent membership.
* **membership\_id** and **email** — the child / sub-member membership to link.

> **Note: Membership-activation triggered emails and campaigns during import.** Decide the activation state of any membership-activation triggered email or campaign (e.g., the **Membership card activated** trigger) **before** running the import:
>
> * **Migrating existing members** (e.g., bringing across already-active members from another system) → keep the membership-activation campaign or triggered email **inactive during the import** so it doesn't retroactively fire welcome / activation communications to people who are already members. Re-enable it **after** the import so future members still receive it.
> * **Importing waitlisted approved members** who *should* receive the welcome or activation communication → the membership-activation campaign or triggered email **must be active and approved before** the import runs. If the trigger event passes with no campaign attached, those members will not receive the communication and there is no automatic backfill.

### Best Practice

{% hint style="warning" %}
**Always run a sample import of 5–10 records first.** It verifies field mapping and duplicate handling before you commit the full dataset — a sample has saved many imports from going wrong. Include a **variety** of records: if your file spans multiple membership programs, put one of each in the sample rather than 10 members from the same program.
{% endhint %}

* Always import **People/Customers first** (Step 1) — **Members to a Membership** needs existing CRM records to link to.
* Use **email** or **mobile number** to create the profiles in the CRM import; once records exist, use **customer\_no** — Peoplevine's unique identifier — for the membership import. With customer\_no you don't need email or mobile.

### What Happens Next

* **On the member side**: After Step 1 only, imported people have CRM profiles but no membership or portal access. After enrolling them into a membership, they are members with active membership cards.
* **Next step**: [How to Enroll a Member](/products/control-panel-overview/membership-management-hub/enroll-member.md) (for individual enrollment) or [How to Merge Duplicate Profiles](/products/control-panel-overview/membership-management-hub/merge-profiles.md) (if duplicates were created).

*Last updated: 2026-07-09*


---

# Agent Instructions
This documentation is published with GitBook. GitBook is the documentation platform designed so that both humans and AI agents can read, navigate, and reason over technical content effectively. Learn more at gitbook.com.

## Querying This Documentation
If you need additional information that is not directly available in this page, you can query the documentation dynamically by asking a question.

Perform an HTTP GET request on the current page URL with the `ask` query parameter, and the optional `goal` query parameter:

```
GET https://help.peoplevine.com/products/control-panel-overview/membership-management-hub/bulk-import-members.md?ask=<question>&goal=<endgoal>
```

`ask` is the immediate question: it should be specific, self-contained, and written in natural language.
`goal` is optional and describes the broader end goal you are ultimately trying to accomplish on behalf of the user. GitBook uses it to tailor the answer towards what is most useful for that goal.

The response will contain a direct answer to the question and relevant excerpts and sources from the documentation.

Use this mechanism when the answer is not explicitly present in the current page, you need clarification or additional context, or you want to retrieve related documentation sections.
