ClubPal

Member import

Bulk-import members from a CSV file, see how existing members are matched, and set up families who share one email address.

You can import members into your ClubPal site at Admin > Membership > Import Members. From here select your CSV file containing the members to import.

The file must contain a header row and be a maximum file size of 10Mb. If your CSV file is larger than this, split it into smaller files.

Assign Fields

Once you've uploaded your file you'll be taken to the Assign Fields page. Here you will be shown a column of the fields in your CSV file labeled as Field. The second column contains the list of columns available in ClubPal and is labeled Mapped To. The last column contains sample data from the first record in your CSV file.

ClubPal will attempt to map your data for you but you can override the auto mapping to make sure each column is mapped correctly by setting the drop-down to the name of the property to set for each item. For any columns you don't want to import, set the drop-down to <Ignore>. These settings will be saved and used for any future imports.

Data Review

Before anything is written, ClubPal checks every row and shows the result on the Data Review page. Each row gets a status:

StatusWhat it means
CleanA new member. The row will be added.
DuplicateMatches an existing member (see How existing members are matched). The row will update that member or be skipped, depending on the setting on the next page.
Possible DuplicateLooks like someone already in ClubPal but does not match them exactly: the same email with a different date of birth, or the same name and date of birth with a different email. The row will be added as a new member, so check these before importing.
WarningWill import, but something is worth a look, for example two rows with the same email address and date of birth, which the import treats as one person.
ErrorA required field is missing or unreadable. Fix the row in your CSV file and upload it again.

Where a row matches someone already in ClubPal, the existing member is shown under the name as Existing: with their membership status. Tick Exclude on any row you do not want imported. Exclude all errors and Exclude duplicates do this in bulk, but read the next callout before using the second one on a file with families in it.

Families and Possible Duplicate

Family members who share an email address are checked one by one on email and date of birth, so a parent and children in the same file do not warn about each other, and each one already in ClubPal shows as a Duplicate of themselves. The exception is someone new joining a family already in ClubPal, such as a younger child: they show as a Possible Duplicate, with the existing family member named under Existing:. That row is safe to import. Exclude duplicates removes Possible Duplicate rows too, so check them before using it. See Families who share an email address.

Import Summary

The Import Summary shows the number of records found and how many columns will be imported. It also controls what happens to rows that match an existing member: Update existing members or Don't update existing members.

Update existing members

If you choose to update existing members, every matched member has their name and each mapped column replaced with the value in the CSV. A blank cell, or a column you have not mapped, leaves that value as it is. Groups and qualifications in the file are added to the ones the member already has, never removed, and an existing membership package is never replaced. With Don't update existing members, matched rows are skipped and those members are left exactly as they are.

When you're ready, click Start Import. You will be taken to the Import Status page where you can review the progress of the import.

As the import is run in the background it might take a few seconds until it starts. It's safe to leave this page at any time and the import will still happen in the background. You will receive a notification in the browser to let you know when this is complete, indicating if there were any errors.

Import History

You can check on the progress on an import and check for any errors on the Admin > Membership > Import History page. This overview will show you the status, number of records in the CSV and how many records succeeded and failed.

If there were any errors the first 10 will be show with details of the row and column that encountered an issue. If you wish to correct any errors then you can start a new import with an updated CSV file following the same process.

How existing members are matched

A row matches an existing member when both of these are the same:

  • the email address (capital letters are ignored), and
  • the date of birth.

Names are not used. A row with a known email address and date of birth but a different name is the same member, and with Update existing members chosen their name is changed to the one in the file. A row with a known email address but a different date of birth is a different person, and is added as a new member.

That second rule is what lets a family share one email address, and it has two consequences worth knowing:

  • Correct a wrong date of birth before you import. If a member's date of birth in ClubPal differs from the one in your file, the import cannot recognise them and creates a second record. Data Review flags these as Possible Duplicate, so either fix the date on the member first or exclude the row.
  • Twins who share an email address look like one person. Same email and same date of birth is a match, so the second twin's row updates the first twin's record (or is skipped). Give one twin their own email address in the file.

Rows are processed from top to bottom, so this applies within the file too: a second row with the same email and date of birth as an earlier row matches the member that row has just created.

Families who share an email address

It is common for a parent and their children, or a couple, to share one email address. ClubPal supports this: members can share an email address, but a login cannot.

  • Members are records in your club. Any number can carry the same email address, as long as each has a different date of birth. Import them as separate rows, one per person, each with the shared email and their own date of birth.
  • A login is an email address and password. Each email address can have only one. The first person to sign up with the family's address owns it, usually a parent.
  • Everyone else in the family becomes a managed profile on that login. The parent signs in once and switches between their own profile and each child's to book sessions, pay and manage memberships. See Linked profiles.

To get a family set up after importing:

  1. Send invitations from Admin > Membership > Members as normal. Each family member gets their own invitation, all arriving in the same inbox.
  2. The parent accepts their own invitation first and creates the login.
  3. While still signed in, the parent opens each child's invitation. Because they are signed in, ClubPal takes them to Add a Profile instead of the sign-up form. Completing it attaches the child's imported record to the parent's login as a managed profile.

A parent who is not signed in when they open a child's invitation sees a prompt to sign in first. Parents can also add a child themselves at any time from Add Profile in the account menu: entering the child's name, the shared email address and the child's exact date of birth picks up the imported record rather than creating a new one. An administrator can link existing records directly with Link to Account... on the child's member record.

The email address is already in use

A parent who signs up from your site's register page, rather than from their invitation, is refused with "The email address is already in use" when another member already has that email with a different date of birth. That is the family's other records protecting the address. Send them their invitation instead, or resend it with Send Reminder.

A login can hold up to five profiles by default. When a child is old enough for a login of their own, give their member record their own email address and send them an invitation. The parent can keep managing the profile or stop, see Unlinking.

Available fields

The fields below can be used during import. Fields marked with * are required.

Required

FieldDescription
Email *The email address for the member.
FirstName *The member's first name.
LastName *The member's last name.
DateOfBirth *Date of birth. Accepted formats: dd/MM/yyyy, dd.MM.yyyy, dd/MM/yy, dd.MM.yy, dd-MMM-yyyy (e.g. 15-Feb-1987), dd-MMM-yy, or ISO 8601 (e.g. 1987-02-15T00:00:00Z or 1987-02-15).
Custom Profile Fields

If your CSV includes custom profile field data, make sure the fields are created in Admin > Membership > Profile Fields before running the import. During the Assign Fields step, custom profile fields will appear in the drop-down list alongside the standard fields so you can map your CSV columns to them.

Personal details

FieldDescription
GenderAccepted values: Male, Female, M, F, NotSet.
PhoneHome phone number.
MobileMobile phone number.

Address

FieldDescription
AddressFirst line of the member's address.
Address2Second line of the address.
CityCity or town.
StateState or county.
PostCodePostal code.

Emergency and medical

FieldDescription
EmergencyContactName of the emergency contact.
EmergencyContactNumberPhone number for the emergency contact.
MedicalConditionsAny medical conditions or allergies.

Membership

FieldDescription
MembershipStatusAccepted values: Guest, Trial, Pending, Active, Lapsed, Expired, Suspended.
MembershipStartsMembership start date. Accepts the same date formats as DateOfBirth.
MembershipExpiresMembership expiry date. Accepts the same date formats as DateOfBirth. Required if you want to assign a MembershipPackageName (see below).
MembershipPackageNameAssigns a membership package to the member. The value must match an existing package name exactly (case-insensitive).
Assigning membership packages during import

To assign a membership package to an imported member, map both MembershipPackageName and MembershipExpires; both are required for the assignment to happen. If the package name doesn't match an existing package exactly, the assignment is skipped and reported as an error for that row.

If the member already has a membership package assigned, the import never overwrites it: the row still imports, but the package assignment is skipped. No welcome or renewal emails are sent when a package is assigned via import.

GDPR

FieldDescription
ConsentToContactSets whether the member has consented to receiving communications. Can be used to track GDPR compliance.

Member export

You can export your member list from Admin > Membership > Members by clicking the Export button. The export is available in CSV and Excel formats.

The export includes all visible columns from the members table, including any custom profile fields. The following columns are always included:

ColumnDescription
FirstNameMember's first name.
LastNameMember's last name.
EmailMember's email address.
DateOfBirthDate of birth.
GenderGender.
PhoneHome phone number.
MobileMobile phone number.
AddressAddress.
CityCity or town.
PostCodePostal code.
MembershipStatusCurrent membership status.
MembershipStartsDate the current membership started.
MembershipExpiresDate the current membership expires.
LastAttendanceDate of the member's last recorded session attendance.

Custom profile field values are included as additional columns, one per field.