Skip to main content
Summarize with AI
ChatGPTClaude

Registration form

In short

The Registration form is the public-facing form members fill in to join your loyalty program. Every field is customisable — you can reorder, hide, require, or add brand-new fields, each with placeholders, validation rules, and error messages. Configured at launch with the typical fields filled in; come here when the form needs to evolve.

note

Screenshots on this page show one merchant's setup (Spanish labels). Your Hub displays the labels and content you configure for your own program.

What you'll see​

The page lists every field on the registration form as an expandable card. Each card has the field's name (e.g. Teléfono, Nombre, Apellido, Correo, Cumpleaños, Special Code, Acepto recibir comunicaciones de marketing, termsAndConditions, Acepto los términos y el cumplimiento del RGPD) plus its underlying id in light text (e.g. phoneNumber, firstName, lastName, email, birthday, joiningCode, allowSMSAndEmail, termsAndConditions, termsAndGDPR).

Click a card to expand. Each field has these controls:

  • Placeholder — the greyed-in hint text shown before the user types.
  • Id — the underlying identifier (changing this is rare and risky — it's what the POS / API uses to identify the field).
  • Show on register / Show on update — checkboxes for whether the field appears on the public registration form and the in-app profile-update form. Independent.
  • Disable on register / Disable on update — checkboxes for whether the field is read-only on each form.
  • Required — checkbox.
  • Rules — Min characters, Max characters, Regex (with corresponding error messages for each).

A + Field button at the top right lets you add a brand-new custom field if the standard ones don't cover what you need to collect.

Registration form page. Header reads "Registration form — Below you can see the registration form fields. Add, edit, reorder and delete to customize it for your business needs." A "+ Field" button on the right. The Teléfono (phoneNumber) card is expanded showing Placeholder "Teléfono", Id "phoneNumber", checkboxes for Show on register, Show on update, Disable on register, Disable on update, Required, plus a Rules section with Min characters 11 (error message in Spanish), Max characters 12, Regex with error message. Below: collapsed cards for Nombre, Apellido, Correo, Cumpleaños, Special Code / Código especial, Acepto recibir comunicaciones de marketing, termsAndConditions, Acepto los términos y el cumplimiento del RGPD.

When to touch this​

  • Adding a new question to the form (e.g. favourite product category, customer dietary preferences) — click + Field, define id and label, add validation rules, place it where you want in the order.
  • Removing a field that's adding friction — uncheck Show on register (don't delete; you might want it back). Members who haven't filled it stay where they are.
  • Tightening or loosening validation — adjust min/max or regex.
  • Translating placeholders or error messages — change the strings inline.

Reordering​

Drag-and-drop the cards to reorder. The order in the management panel is the order members see on the public form. Required fields generally go first, optional ones later, consents at the bottom.

Consents are special​

The last three fields in the standard form are member consents:

  • allowSMSAndEmail — communication consent for the loyalty program's marketing channels.
  • termsAndConditions — agreement to the terms of use document configured under Legals.
  • termsAndGDPR — agreement to the GDPR / privacy document configured under Legals.

These are typically required and shouldn't be removed — they're the basis for being able to send marketing communications and store member data legally. The actual document URLs (what gets shown when the member clicks "view terms") are configured under Legals; this page just controls the checkbox itself.

Age limit​

The Birthday field has an Age limit switch: Only members aged 18 and over can register. It is off unless you turn it on. Under it, Under 18 error message is the text a person sees when the birthday they typed makes them younger than 18.

  • It checks the birthday that was typed. If Birthday is not required and someone leaves it empty, there is nothing to check and they can join. To enforce the limit, make Birthday Required too.
  • It covers sign-ups in the app and in the Staff Console. Members registered through your POS are not checked, and members who joined before you turned it on are not affected.
  • Fill in the error message, in your members' language. Left empty, members see a default text in English.

The Joining code field​

Friend referral needs the pre-defined Joining code field on your form: a friend's invite code goes there when they sign up. To add it, press + Field, choose Pre-defined and pick Joining code.

  • Filled in from the link. A friend who opens a member's invite link finds the field already filled in with the code.
  • Without it, General settings shows a warning, and friends cannot enter a code when they sign up.
  • Already on your form? It is the same field that joining codes use, so there is nothing to add.

A link on your form, for example to your full terms next to a consent checkbox, has a URL and an Open link choice:

  • Open inside the app keeps the member in your app while they read.
  • Open in a new tab opens it in the browser. Some websites refuse to be shown inside another site, and then the page stays blank inside the app: use a new tab for those.

For the URL you can paste an address or press Upload and pick a PDF (up to 10 MB). The field fills in with the file's link, so the document does not need to be hosted anywhere else first.

Gotchas​

3 things to watch for
  • Don't change the Id of an existing field. The id is what the API and POS use to identify the field; changing it on a live form will break integrations that submit to it. If you want a different label, change the placeholder, not the id. New custom fields you create can have whatever id you want.
  • Disabling on update isn't the same as hiding. Disable on update means the field shows but is read-only — useful for things like phone number or email that you don't want members editing themselves. Show on update off means the field doesn't show at all in the in-app profile.
  • Custom fields don't auto-flow to BI/Reports. A new custom field appears on the form and gets stored on the member, but reporting on it (e.g. show me all members whose dietary preference is vegan) requires the field to be wired up in BI/Reports separately. Talk to your integrator before adding a field you intend to segment on.