Designing a KYC onboarding flow that people finish

Where users actually drop out of a remote identity verification flow, why step order matters more than step count, and nine concrete design decisions that reduce abandonment.

Identity verification is the steepest part of a signup funnel. Even a technically flawless integration loses a meaningful share of applications when the flow around it is built badly.

This is a practical framework for where the losses happen and which decisions reduce them.

Measure first: four separate drop-off points

Tracking “verification abandonment” as a single number teaches you nothing. The flow breaks in at least four distinct places, each for a different reason:

  1. Before starting — the user saw the verification screen and did not begin. Usually a problem of expectation: nothing told them what would be asked or how long it would take.
  2. During card capture — the camera opened, the read never completed. Usually lighting, focus, or a card sleeve.
  3. At the NFC step — the most fragile part of the flow. Antenna position, phone cases and the card slipping all land here.
  4. At the liveness step — the user did not want to show their face, or gave up after repeated failures.

Any improvement made without measuring these four separately is a guess.

Nine decisions

1. State the number of steps up front

“Four steps, about two minutes.” That one sentence measurably reduces pre-start abandonment. People avoid starting tasks of unknown length.

2. Keep progress visible

Every screen should say where the user is. “Step 3 of 4” tells them the end is close, exactly at the most fragile step.

3. Explain the NFC step per device

A generic “hold the card to the back of your phone” is not enough. Antenna position varies by manufacturer. A diagram that points at the right spot for the specific device measurably reduces failed attempts here.

4. Never fail silently

When a read fails, the user must see what went wrong and what to do about it. “Verification failed” is useless. “The card moved too soon — hold it still” is not.

5. Retry automatically

When an NFC read drops, do not send the user back to the start. Retry quietly on the same screen. After the third attempt, show a different hint.

6. Put liveness last

Showing your face is the most personal step. A user who has already read both sides of their card has invested in the process and is likely to finish. Starting with liveness puts the highest-friction step at the moment of lowest commitment.

7. Prefill the form from what you read

The name and date of birth from the chip are already verified. Making the user type them again is both unnecessary friction and a fresh source of error.

8. Do not send the user out of the app

Switching to a browser, an email, or another app for verification is the single biggest source of abandonment. The flow should start inside your app and end there.

9. Ask for permissions in context

Requesting camera and NFC permissions together at app launch raises the chance of refusal. Ask on the screen where the permission is needed, with one sentence explaining why.

Build a recovery path

When verification does not complete, do not discard the application. Store where the user stopped and resume there.

A simple structure that works in practice:

  • An incomplete session is kept for 72 hours.
  • Reopening the app greets the user with “continue where you left off”.
  • If they stall at the same step a second time, offer an alternative: contact support, or a different verification route.

Recovery reliably returns a noticeable share of the applications lost on the first attempt.

What to measure

Four metrics per flow are enough:

  • Per-step completion — of the people who entered each step, how many left?
  • Per-step duration — which step takes longer than expected?
  • Retry count — look at the distribution, particularly on NFC.
  • Recovery rate — of the incomplete sessions, how many came back and finished?

Together these let you see which design decision worked, instead of guessing.

The common mistake: trading UX away for security

Tightening a threshold reduces fraud and also rejects real customers. The right question is not “what is the safest setting?” but “what level of risk is acceptable for this product?”

Using a strict liveness threshold on a low-risk action costs more customers than the fraud it prevents. Tuning risk to the transaction — looser for small amounts, strict at limit upgrades — protects both security and conversion.

Common questions

Where do users abandon a KYC flow?
In four distinct places: before starting at all, during card capture, at the NFC step, and at the liveness step. Each has a different cause, so tracking a single abandonment figure is misleading — measure all four separately.
Where should the liveness step sit in the flow?
Last. Showing your face is the most personal step, and a user who has already read both sides of their card has invested in the process. Starting with liveness puts the highest-friction step at the moment of lowest commitment.
How do you reduce failures at the NFC step?
Antenna position varies by manufacturer, so a generic instruction is not enough — show a diagram pointing at the right spot for the specific device. When a read drops, do not restart the user; retry quietly on the same screen and show a different hint after the third attempt.
How do you recover abandoned applications?
Do not discard the session. Store where the user stopped and resume there. A structure that works in practice is keeping an incomplete session for 72 hours and greeting the user with a resume option when they reopen the app.

Demo request

See the flow on your own device.

Leave your details and we will show you.

  • A live demo
  • A setup that fits your signup flow
  • A pricing proposal for your volume

Form data is processed only to answer your request.