Aller au contenu

Custom fields

The extra registration details of members (company, job title, city, ticket type, interests) - types, multiple choice with a minimum and maximum, required, the member list filter, workflow conditions, who sees and who edits them, what shows on the member page, the request to complete registration on the next visit and the variable in campaigns.

Cet article n’a pas encore été traduit. Vous lisez la version en anglais.

Custom fields are the details the community wants to keep about each member beyond name, email and phone: company, job title, city, date of birth, ticket type. The team creates the fields once; the values show up on each member's record, in the person's own profile and in email campaigns.

What it's for

CommunityFields
AssociationCompany, Job title, Member number
EventTicket type (choice), City
Tech communityInterests (multiple choice): Linux, Cloud, Security
SchoolClass, Enrollment date
CoworkingFloor, Has a parking spot (yes/no)

How it works

The types

TypeWhat forExample
TextAny short textCompany
NumberA numberMember number
DateA dateDate of birth
ChoiceOne option from a list (at least two)Ticket type: VIP, In person, Online
Multiple choiceSeveral options from a list, from 2 to 50, up to 80 characters eachInterests: Linux, Cloud, Security
Yes/noA yes or no answerHas a parking spot
EmailAn email, stored in lowercaseThe company's finance email
PhoneA phone number in international format; without the country code, the community's country applies. Useful for a business phone, besides the account's phoneBusiness phone
LinkAn http or https address; without the prefix, it gets https://Personal website, LinkedIn

The type can't change once any member has a value filled in: "The type cannot change once values are filled in." The exception is Choice, which can become Multiple choice even with answers ("There are answers already: the choice can only become a multiple choice."): each answer becomes a list with the option the person had already picked. After that it can't go back to a single choice.

Multiple choice

The person ticks the options in checkboxes. Under How many a person can pick, optionally set the Minimum and Maximum (from 1 to 50; the minimum can't be above the maximum or the number of options). With Required, the minimum is 1. The form explains the rule ("Pick 1 to 3.") and refuses what falls outside it ("Interests: pick at most 3."). In the field list, min. 1 and max. 3 show up.

On the profile and the record, the ticked options show as tags, in the order of the field's options.

Renaming and removing options

This applies to Choice and Multiple choice:

  • Renaming an option changes the name for everyone who picked it; the answer stays the same.
  • Removing an option takes it out of the profile, the record, the filters, the workflow conditions and the campaign variables. The answer is kept: if the option comes back, whoever had picked it has it again.

Required

A Required field must be filled in by everyone. Whoever lacks the value (an older member, an imported one or a new one) sees, on their next visit to the community, the Complete your registration window ("{community name} asks for this information before you go on.") and only goes on after filling it in and clicking Save and continue. Anyone who prefers can Sign out.

The spreadsheet import never blocks a row for an empty required field; the person completes it on their first visit.

Text format

In a Text field, the Validation regular expression is optional: "The whole value must match the expression; leave empty to accept any text." For example, [A-Z]{3}-\d{4} accepts ABC-1234 and refuses abc1234.

The Hint message ("Use the format ABC-1234") shows under the field and when the value doesn't match. An invalid expression, one that is too long (over 200 characters) or a dangerous one (that could hang validation, such as those that look back in the text or look ahead) is refused when saving the field, with the reason under the expression.

In the list, the field shows with validation.

On sign-up

Ask on sign-up puts the field on the form people fill in to join the community. A Required field is always asked on sign-up ("A required field is always asked on sign-up."); for the others, you choose. In the list, the field shows asked on sign-up.

People signing up fill in these fields (a Multiple choice shows as checkboxes) along with their name, email and password, in the list's order, and sign-up only finishes with the required ones filled in and in the right format. Existing members still see Complete your registration on their next visit, as above. See Sign-up and access.

How values are shown

Values are always plain text. A Link only becomes clickable when it starts with http or https, and opens in a new tab. A Phone is shown formatted in the country's style.

Who sees and who edits

WhoSeesEdits the values
Owner, admin and moderatorEveryone'sEveryone's
FinanceEveryone'sOnly their own
The member themselfTheir ownTheir own
Another memberThe ones the community shows on the member page, per each person's choice—

Creating, editing, reordering and deleting fields belongs to the owner and admins. Moderators and finance see the tab read-only: "You can see the fields, but only owner and admin create, edit or delete them."

On the member page

Each field has the On the member page option: "Whether other members see this field on the profile. The team always sees it."

OptionWhat happens
AutomaticMemberfy decides from the field's type and name (below). The screen shows the result: "Right now automatic means: …"
Never on the profileNobody but the person and the team sees the field, not even through the API
The person choosesShows to members; each person can set the field to Private in the Privacy tab of Edit profile
Always on the profileShows to members and the person can't hide it ("Always visible (the community's choice)")

The Automatic rule. A regular field becomes The person chooses, starting at Members. A field that asks for sensitive personal data becomes Never on the profile: those of type Phone, E-mail and Date, and those whose name (in Portuguese, English, Spanish, Italian or German, with or without accents) asks for health, address, documents and professional registrations (ID numbers, passport, medical or bar registration…), sex or gender, marital status, parentage, bank details or Pix key, birth, religion, race or ethnicity, orientation, biometrics, password, nationality, criminal records or emergency contact. Abbreviations count too (Tel., Cel., Mat., Doc.…). City, state and country aren't on that list: the country has its own section on the page.

  • That Never on the profile is stored on the field when it's created or edited. Renaming a field never opens it: it stays Never on the profile until the owner or admin picks another option.
  • Renaming a field to a sensitive name, or changing it to a sensitive type, puts it back to Never on the profile, even if the team had picked another option before.
  • Choosing Automatic on a field that is Never on the profile doesn't open it. To show it, choose The person chooses or Always on the profile.
  • A signup field never goes Public: not on the public page, not with Always on the profile. It's at most Members, and within the community's Signup fields limit (see For the team: member pages).
  • In the field list, each one shows the result next to its type: off the profile, on the profile, the person chooses or always on the profile.

Changing this option belongs to the owner and admin; moderators can't.

The screen itself reminds you: "Do not ask for sensitive data (health, religion, documents) unless needed."

Where the values show up

  • Member record (team): in Administration › Members, when editing the person, the Additional information section, with Save information. For someone who joined through an import, it also shows "Origin: spreadsheet import on …".
  • My Account (the member themself): the Additional information card, "Fields the community asks for at registration."
  • Member list: each Choice and Multiple choice field becomes a filter (below).
  • Email campaigns: each field becomes a variable (below).

Filtering the member list

In Administration › Members, each Choice or Multiple choice field with options gets a filter with its name, below the search. Tick one or more options:

  • on a Multiple choice, the list shows who picked any of them ("Interests contains any of: Linux, Cloud");
  • on a Choice, who chose one of them ("Ticket type is one of: VIP, In person").

Filters on different fields add up (only people who match all of them show), and they also add up with role, tags, groups and dates. The tag's × removes the filter. The search also finds people by the name of a ticked option. The list can't be sorted by a multiple-choice field.

In campaigns

Each field becomes the variable {{field_<key>}}, where the key is the field's name without accents, in lowercase and with _ in place of spaces: the Company field becomes {{field_company}}, Ticket type becomes {{field_ticket_type}}. {{campo_<key>}} also works. The key is born with the field and doesn't change, even if the name changes later.

In the editor, Insert variable shows the fields in the Community fields group, with the right name. The value is formatted for whoever receives it: dates in the person's language, yes/no translated, a choice by its option, a multiple choice with the ticked options separated by commas, in the field's order ({{field_interests}} comes out "Linux, Cloud"). For people without a value, use the fallback text: {{field_company|your company}}. See Per-recipient variables.

Deleting a field

The field disappears from the tab, the record, the profile and the campaign variables. Values already filled in are kept. A campaign that still uses the variable of a deleted field is refused on save or send.

Step by step

Role: owner or admin.

  1. Administration › Members, Form section, New field button.
  2. Field name (e.g. Company) and Type. For a Choice or Multiple choice, write the Options (Add option for another one). For a Multiple choice, optionally the Minimum and Maximum.
  3. For a Text, optionally the Validation regular expression and the Hint message.
  4. Tick Required if everyone must fill it in, or just Ask on sign-up to ask newcomers.
  5. In On the member page, leave Automatic or choose Never on the profile, The person chooses or Always on the profile.
  6. Save. Use Move up and Move down to change the order in which fields show on sign-up, the record and the profile.

To fill in someone's value: Administration › Members, edit the person and use Additional information.

Examples

An association asking for the company. The admin creates Company (Text, required). On their next visit, each member sees Complete your registration and fills it in. The conference campaign opens with "{{first_name}}, has {{field_company|your company}} booked its seat yet?".

A tech community sorting by interest. The admin creates Interests (Multiple choice, with Linux, Cloud and Security, maximum 3, asked on sign-up). In the member list, they filter Interests by Cloud and see who picked it. A workflow with the A profile field changes trigger and the condition Interests contains any of Cloud adds the Cloud track tag.

An event importing the ticket type. In the import, the Ticket type column goes to + New custom field; Memberfy suggests Choice, because the values repeat. Afterwards, the team sees on each person's record whether they are VIP, In person or Online.

Common errors and how to fix them

MessageWhat to do
Give the field a name.Fill in the Field name
A choice needs at least two options.Add another option
A multiple choice has at most 50 options.Merge or remove options
The minimum cannot be above the maximum.Adjust the Minimum and Maximum
Interests: pick at least 2.The person ticked fewer than the field's minimum
Fill in {field}.The field is required and can't be left empty
Read-only: owner, admin and moderator edit these values.Finance only sees other people's values
The type can't be changedThere are values filled in already; create a new field (a Choice can still become Multiple choice)
The field's hint message, while filling it inThe value doesn't match the field's expression; follow the format in the message
The expression is refused on saveIt is invalid, too long or uses features that could hang validation (looking back in the text, looking ahead); simplify it

Frequently asked questions

Does a member see other people's fields? Only the ones the community shows on the member page, and only if the person didn't set them to Private. See On the member page. The team sees everyone's.

How do I see who picked an option? In the member list, with the field's filter. See Filtering the member list.

Can I filter a campaign's audience by a field? Yes. Under Choose the audience (or Exclude), one condition per choice field: select, multiple choice or yes/no, up to 10 per campaign. See Campaigns › The audience.

Through the assistant

list_member_fields, create_member_field and update_member_field (with the email, phone, url and multi_select types, min_selections, max_selections, pattern, pattern_message and ask_on_signup, and profile_visibility: NEVER, MEMBER_CHOOSES, ALWAYS or null for automatic), reorder_member_fields, delete_member_field (asks for confirmation) and update_member_field_values (on a multiple choice, the list of options). list_members filters with field_filter. See Tools · Members.

In the API

GET and POST /api/member-fields (with type EMAIL, PHONE, URL or MULTI_SELECT, minSelections, maxSelections, pattern, patternMessage and askOnSignup), PATCH and DELETE /api/member-fields/{id}, PUT /api/member-fields/order and PUT /api/members/{id}/fields (on a multiple choice, the value is the list of the options' value). The member list filters with GET /api/members?fieldFilter[<key>]=a,b. The values come in fields from GET /api/members/{id}, only for the team and the member themself; the ones the page shows other members come in profileFields. The page option is profileVisibility (NEVER, MEMBER_CHOOSES, ALWAYS; null back to automatic) in POST and PATCH /api/member-fields, and the responses carry profileVisibility and profileVisibilityAutomatic. On sign-up, GET /api/member-fields/signup (public, with the X-CommunityId) lists the fields the form asks for, and POST /api/auth/register receives the values in fields; in a community with a required field, signing up without it returns 422 on that field. See Member Fields in the API reference.