# Profile fields

> Collect extra information about members with custom profile fields, organised into groups, in several field types, and shown only when a condition such as age applies.

Canonical: https://www.clubpal.app/docs/membership/profile-fields
Section: Membership

Custom profile fields let you collect or store additional information about your members. For example, you might want members to provide an affiliation number, indicate their 1st/2nd claim status, select their preferred training days, or, for members under 18, give a parent or guardian's contact details.

## Where profile fields appear

Profile fields are used in several places across the platform:

- **Sign-up and registration forms**: every field whose visibility is **Editable** appears on the About You step when someone registers, joins a membership, accepts an invitation or adds a linked profile. Fields set to **Read Only** or **Private** are not shown here.
- **Member profile page**: fields with visibility **Read Only** or **Editable** are shown on each member's profile page, grouped under their group headings. Editable fields can be updated by the member.
- **Admin member view**: all fields, including those set to **Private**, are visible to administrators when viewing or editing a member.
- **Member exports**: profile field values are included in the CSV/Excel export from **Admin > Membership > Members**. Multi select values are exported as a quoted comma-separated list.
- **Booking summaries**: profile fields selected under **Booking Profile Fields** in **Admin > Settings > Sessions** are included on booking summaries and in the bookings export, so emergency contact or medical information is visible alongside each booking.

## Organising fields with groups

Profile fields are organised into named groups that appear as sections on the member's profile page and on forms. This keeps related fields together and makes the profile easier to navigate.

Go to **Admin > Membership > Profile fields** to manage your groups and fields.

![A profile field group named Parent or guardian details with five fields, a Shown when Age is less than 18 badge on the group and a Conditional badge on one field](https://www.clubpal.app/img/docs/profile-fields-conditional-group.png)

*A group and its fields. The badges show which groups and fields are only shown when a condition applies.*

**Managing groups**

- Click **Add Group** at the bottom of the page to create a new group. Give it a title (for example "Personal Details", "Medical" or "Parent or guardian details") and an optional description, which is shown to members under the group heading.
- Use the up and down arrows on a group to reorder groups.
- Click the pencil on a group to edit its title, description or condition.
- To delete a group, click the bin icon. If the group still contains fields you are asked whether to move them to another group or delete them along with the group.

**Adding and moving fields**

Click **Add Field** at the bottom of a group to add a field to it. Drag a field by its handle to reorder it or to move it into a different group.

Nothing is saved until you click **Save Changes** at the top of the page.

## Field types

ClubPal supports eight field types, each suited to different kinds of information:

**Text**  
A single-line text input. Use this for open-ended information like phone numbers, identification numbers or short descriptions.

**Paragraph**  
A multi-line text area. Use this for longer free-text responses such as notes, medical information or detailed descriptions.

**Single select**  
A dropdown list with a single selection. The member selects one option from the list you provide. Use this when there is a limited set of mutually exclusive choices (for example "Beginner", "Intermediate" or "Advanced").

**Multi select**  
A list of checkboxes allowing the member to select one or more options. Use this when members can choose several items from your list (for example "Preferred training days" or "Available roles"). Selected values are displayed as a comma-separated list.

**Checkbox (Yes/No)**  
A single yes/no checkbox. Use this for consent flags, opt-ins or binary questions (for example "I agree to the club rules" or "Newsletter opt-in").

**Date**  
A date input in dd/mm/yyyy format. Use this for capturing specific dates such as a medical clearance date.

**Time**  
A duration in minutes and seconds (mm:ss). Use this for capturing a personal best or a target time.

**Number**  
A numeric input. Use this for values you may want to compare, such as a shoe size or years of experience.

## Configuration options

**Label**  
The label used for the input on forms.

**Description**  
A hint shown with the field to help the member fill it in.

**Required?**  
When enabled, a value must be entered or selected before the form can be submitted. Required fields are only enforced on members when the field is shown to them: a **Private** or **Read Only** required field is left for administrators to complete, and a field hidden by a condition is not required until the condition applies.

**Visibility**  
Controls who can see and edit the field.

- **Editable**: shown on sign-up and registration forms and on the member's profile page, where the member can update it.
- **Read Only**: shown on the member's profile page but only administrators can set the value. Not shown on sign-up forms.
- **Private**: only visible to administrators. Not shown to the member anywhere.

**Only show when...**  
Makes the field conditional. See [Showing groups and fields only when a condition applies](#showing-groups-and-fields-only-when-a-condition-applies).

**Field type**  
Sets the type of input to display. See [Field types](#field-types).

**Options** (Single select and Multi select only)  
The values shown in the list. Drag options to reorder them.

## Showing groups and fields only when a condition applies

Some information is only relevant to some members. A club might need a parent or guardian's consent and contact details only for members under 18, or an "Other, please specify" box only when a member picks "Other" from a list. Rather than making such fields required for everyone, give the group or field a condition.

A group with a condition, and every field in it, is only shown to a member while the condition is met. A field with a condition is only shown while both its own condition and its group's condition are met. When a group or field is hidden, its **Required?** setting is not enforced.

### Setting a condition on a group

1. Go to **Admin > Membership > Profile fields**.
2. Click the pencil on the group, or click **Add Group** to create a new one.
3. Turn on **Only show when...**.
4. Choose whether the group is shown when **all** or **any** of the rules match.
5. For each rule, pick what to check, how to compare it and the value to compare against. Click **Add rule** to add another.
6. Click **Save** to close the group, then **Save Changes** at the top of the page.

![The Edit Group dialog with Only show when turned on and one rule reading Age is less than 18](https://www.clubpal.app/img/docs/profile-fields-group-condition.png)

*A group shown only to members under 18. The sentence under the rules restates the condition in plain words.*

### Setting a condition on a field

Open the field with its pencil icon, or add a new one with **Add Field**, and turn on **Only show when...** in the same way. A field can check the fields above it in the same group as well as anything in the groups above.

![The Edit field dialog for a field named Other relationship with a rule reading Relationship to member is Other](https://www.clubpal.app/img/docs/profile-fields-field-condition.png)

*A field shown only when an earlier single select field is set to Other.*

### What a rule can check

A rule checks one of:

- **Age**: the member's age in whole years, worked out from their date of birth on the day the form is filled in. Members always give their date of birth before they reach the profile fields, so age is available on every form.
- **Gender**: as chosen on the personal details step.
- **An earlier editable field**: any field with visibility **Editable** that comes before this group or field in the form.

The comparisons offered depend on what is being checked:

| Checking | Comparisons |
|---|---|
| Age, Number | is less than, is at most, is more than, is at least, is between |
| Gender, Single select | is, is not, is one of |
| Multi select | includes, does not include |
| Checkbox (Yes/No) | is ticked, is not ticked |
| Date | is before, is after |
| Text, Paragraph, Time | is filled in, is empty |

Single select, Multi select, Number and Date fields can also be checked with **is filled in** and **is empty**.

> **Info**
>
> Only fields the member can edit can be used in a condition. **Private** and **Read Only** fields are not shown on the form, so the member would have no way to see why a group appeared or disappeared. Age and Gender are always available.

### Keeping conditions in order

A rule can only look backwards: a group can check the groups above it, and a field can check the fields above it in its own group and the groups above. This keeps forms predictable and means a hidden field always reads as empty to anything below it.

If you move a group or field above something its condition depends on, delete a field another condition relies on, or change a field so a comparison no longer makes sense, the affected group or field shows a **Condition broken** badge and **Save Changes** is blocked until you fix the rule. Deleting a field that other conditions use asks you to confirm and lists what depends on it; confirming removes those rules too.

### What members see

On the About You step of a sign-up form, conditional groups and fields appear and disappear as the member fills in the form. Changing the date of birth on the previous step updates them too. If a member tries to continue with a required field in a visible group left empty, the form stops on that step and points at the field.

![The Parent or guardian details section of the sign-up form, shown to a member born in 2012, with the Other relationship box revealed under a Relationship to member dropdown set to Other](https://www.clubpal.app/img/docs/profile-fields-signup-under-18.png)

*What a 14 year old sees. An adult joining the same club never sees this section.*

On the member's own profile page the same rules apply, so a member who turns 18 stops seeing the guardian section and is no longer asked to complete it.

### What administrators see

Nothing is hidden from administrators. On a member's page, a group whose condition does not apply is still listed with a **Shown when...** badge. If the member has never filled it in, the group reads **Does not apply to this member.**; if values were saved while it did apply, they remain and are shown.

![The About card on an adult member's admin page, with the Parent or guardian details group marked Shown when Age is less than 18 and the text Does not apply to this member](https://www.clubpal.app/img/docs/profile-fields-member-overview.png)

*An adult member's admin page. The guardian group is listed with its condition rather than hidden.*

When editing a member in the Admin area every group and field is shown, with a badge or tooltip noting the condition; conditions are not applied there. This lets you complete or correct a member's details whatever their age.

> **Note**
>
> Values are never cleared by a condition. If a member's answers stop applying (for example because they turned 18, or changed the answer that revealed a field), whatever they entered stays on their profile until it is edited.

## Tips

- Put the fields a condition depends on early in the form. A "Do you have a medical condition?" checkbox in the first group can reveal a **Medical details** group further down.
- Use a group condition for a set of related fields, such as parental consent and contact details, and a field condition for a single "please specify" box.
- Use **Age** rather than asking "Are you under 18?": it is worked out from the date of birth, so it can never be answered wrongly or go stale.
- A group with **any** matching can cover more than one case, for example members under 18 or members who have ticked **I have a carer**.

## See also

- [Membership packages](https://www.clubpal.app/docs/membership/membership-packages)
- [Eligibility rules](https://www.clubpal.app/docs/general/eligibility-rules)
- [Linked profiles](https://www.clubpal.app/docs/membership/linked-profiles)
- [Member import](https://www.clubpal.app/docs/membership/member-import)
