These cases all sound the same on the phone but break down several different ways, because registering takes 5 screens, whether the customer opens it in LINE or in a browser, and they can stall on any of them. So the first question is not "how did it fail" but "what does your screen say right now".

⚡ Quick Path: ask which screen they are on → if it is the OTP screen, go to Account → OTP Check → enter the REF code (or the phone number, if they signed up with one) → read the OTP from Search Result

Information to gather from the customer first

  • The screen they are stuck on — have them read out the heading, such as Log in / Register or Enter OTP Code. This alone rules out more than half the possible causes.
  • The phone number or email address they entered — it identifies the account and is where the OTP was sent. Read it back to them character by character.
  • The REF code on the OTP screen, if they still have it open — it is the reference for that particular OTP request, and you can search on it directly.
  • Any red asterisk or message showing on the form — it tells you which field has not passed.

The 5 screens a customer passes through

Registration is not a single page but a sequence of four. Knowing the order makes locating the failure much faster.

1. The start screen — Perks Waiting For You An EN / ไทย language toggle at the top right and a Get Started button. If the customer opened the link in a browser and the brand has set up its LINE account, there is also a Log in with LINE button. There is almost nothing here to get stuck on. A customer stalled at this screen usually has a connection problem on their own device.

2. The phone-or-email screen Its heading depends on what the brand accepts: phone only, email only, or Log in / Register when the brand accepts both — that last one has a single box that takes either. The OK button stays grey until the entry is valid. A phone number must be 10 digits starting with 0, such as 0812345678. If they say the button will not press, the number is usually short of 10 digits or the email address has a typo.

3. The code screen — Enter OTP Code The code goes by SMS if they entered a phone number, or by email if they entered an email address, and the screen shows where it went with part of it hidden. It has 6 separate digit boxes, a Resend OTP button with a countdown, and a REF : line giving the reference code for that request. This is where customers get stuck most often, and there is a Backoffice menu built for it.

If that phone number or email address is already registered, a correct code logs the customer straight in — they skip screens 4 and 5.

4. The form — Registeration, headed Let's get to know you Shown only to customers who have not registered before. The actual data form. Required fields carry a red asterisk. Below the fields are 2 consent items — marketing messages and acceptance of the terms — and the button that moves them on, Continue, stays grey until every required field is complete. It moves them to the questions page, it does not finish the registration.

⚠️ This screen differs from brand to brand, because its fields are configured in the Backoffice under Settings → Register Form Management. Before telling a customer which fields they must fill in, open that page and look at your own brand's setup. And read the customer's wording back to them, not the Backoffice wording — 3 of the field names differ between the two: First name shows as Name, Last name shows as Surname, and Register Branch shows as Registered branch with a Select branch placeholder. Quote the Backoffice name and the customer will tell you the field is not there.

Default fields are always present and cannot be removed: First name, Last name, Birth Date and Gender, all required; Terms and Conditions, Privacy Policy Consent, required; and News and promotion consent, optional.

Extra fields can be switched on or off, and each has its own required toggle. There are 6: Email, Contact No., ID Card no., Passport no., Reference and Register Branch — the last carrying the note Please create at least one branch to procceed. The email field appears only to customers who signed up with a phone number, and the contact number field only to those who signed up with email — the channel they signed up with is already recorded, so it is never asked twice.

A brand can also add up to 5 custom questions under Custom Questions, which appear as a further step — the fifth screen.

5. The questions page — headed Tell us more about your preferences It appears only for brands that have set up Custom Questions. The questions are laid out as numbered cards; a required one carries a red asterisk and a line stating how many answers it takes, and a free-text one carries a character counter. The button at the bottom, Finished! Let's get started, is the one that finishes registration.

The point that trips people up is that the finishing button lives on this screen, not on the form. When a customer says the last button will not press, ask first whether their screen is showing questions or data fields — if it is questions, they are held up by a required question, not by a data field.

The OTP that never arrives

This is the single most common cause, and the system has a fallback menu specifically for it.

Step 1: Have them request a new code first

The OTP screen carries a Resend OTP button on a countdown. Have the customer wait for it to finish and request one more time. This clears more than half of these cases and needs no Backoffice access at all.

If the code is coming by email, have them check their junk or spam folder too. The email arrives under the brand's name, with a subject that starts with the brand name followed by Your Registration OTP Code or Your Login OTP Code.

While waiting, read the phone number or email back to them and confirm it matches what they entered. One wrong character and the code went somewhere else.

Step 2: Look up the code in OTP Check

If a fresh request still does not arrive, go to the Account menu and open OTP Check, the menu for reading the OTP belonging to that request. The code shown here is the same one the system sent the customer, not a separate backup code, so it works straight away when the code never reached them.

The page carries 2 separate search fields: Phone Number for the customer's number, and Ref Code for the code shown after REF : on the customer's own screen. Either one on its own is enough. If they still have that screen open, Ref Code is the more precise route, because it is tied to that specific request. If the code is coming by email, search on Ref Code only — the Phone Number field takes 10 characters, so an email address will not fit.

Press Search and the result appears in the Search Result table, which has 7 columns: OTP ID · OTP Value · OTP Ref Code · To · Action · Date Create · Date Expire. The code to read out sits in OTP Value. When nothing matches, the table says No data.

This page has no Thai translation — its title, field labels, button and column headings stay English in either language mode. Only the sidebar menu name is translated.

The OTP Check page in the Backoffice with its search box and result area
Searching on the REF code is more precise than searching by phone number

Step 3: Read it out only after verifying who you are speaking to

Once you have the code, pass it to the customer to enter.

⚠️ Watch out before reading a code aloud: an OTP is what proves the customer is who they say they are. Verify the identity of whoever has contacted you, following your team's process, every single time before reading a code out. Use this route only when the code genuinely has not arrived after a resend, not as a routine shortcut. If your team has a procedure for logging OTP disclosures, follow it here too.

✅ Confirm it worked: ask the customer whether their screen has moved on to the form headed Let's get to know you. If it has, the OTP stage is cleared and only the form remains. If they are still on the same screen and it says the code is wrong, have them request a new one and search again — the earlier code may have expired.

Problems on the registration form

The fourth screen is the data form, and its submit button stays grey until every required field is filled. If the customer says the button will not press, go through the fields with them one by one, paying particular attention to any carrying a red asterisk.

📌 Good to know: which fields are required is configured per brand from the registration form management menu in the Backoffice. So your shop's form may not match an example you have seen elsewhere. Before telling a customer they can skip a field, check your own brand's settings.

The field that causes the most trouble is Registered branch, the registration branch, a dropdown with a search box at the top. 2 things are worth knowing about it.

First, the list shows only branches whose status is switched on. A branch that has been switched off does not appear at all. If the customer cannot find the branch they want, check that branch's status in the Backoffice rather than telling them to pick a different one.

Second, the list is sorted alphabetically by the Thai branch name, and the customer sees only that Thai name — never the branch code. So if 2 branches share the same Thai name, the customer sees 2 identical lines with nothing to tell them apart, and picks at random. If you hit this, tell whoever maintains the branch data to make the names distinct.

The customer-side registration form showing required fields marked with red asterisks and a greyed-out submit button
A grey submit button means a required field is still empty — the app has not frozen

Likely causes by symptom

What the customer reportsUsual causeWhat to do
The OTP never arrivedThe SMS or email did not reach them, or the number or address was mistypedHave them press Resend OTP first, and check their junk folder if it is coming by email. If it still does not arrive, look the code up in OTP Check
The code is entered but comes back as wrongThe code has expired, or it is from an earlier requestHave them request a new one and use only the most recent code
The OK button on the phone-or-email screen will not pressThe number is short of 10 digits, or the email address is malformedHave them enter a 10-digit number starting with 0, or check the spelling of the email
The submit button on the form will not pressA required field is still emptyWork through every field carrying a red asterisk, including the consent items at the bottom
The branch they want is not in the listThat branch's status is switched off, so it does not appearCheck the branch status in the Backoffice and switch it on before they try again
They registered again but their old points are goneLast time they signed up with a phone number and this time with email, or the reverse — the system treats these as separate accountsSearch both the number and the email in the Account menu, then have them log in with the channel of their original account

Frequently Asked Questions

Q: Is the code from OTP Check the same one that was sent by SMS?

A: It is the same code. The menu lets an administrator read the OTP belonging to that request; it does not issue a second one. The customer can type the code you read out into the screen they already have open.

Q: How long does an OTP stay valid?

A: The customer's screen shows a countdown on the resend button. The safe approach is to have them request a fresh code and enter it immediately, using only the most recent one.

Q: The customer mistyped their number or email. Can they change it partway through?

A: What they entered on the second screen is where the code goes and what identifies the account. The most direct route is to have them close it and start again with the correct details.

Q: The customer registered fine but did not get the points from the code they scanned. What now?

A: That is a different symptom with its own article. First confirm the account was actually created by searching the number or email in the Account menu. If the account exists but the points did not arrive, move on to the article on missing points.