I'm grappling with the user registration experience for my application.

I'm considering this model:

  1. User enters...

    • Username
    • Password
    • Password confirmation
    • Email address
  2. The app displays a message saying "Please check your email to complete your registration" and sends them an email sort of like...

    Hi username.

    It appears that you would like to register for Useful Web Application.

    If so, please click this link to complete your registration:

  3. They click the link and it takes them to a page saying, "Thanks. You're registered."

But I'm wondering if that second step is necessary.

I've noticed that Instapaper just registers you and logs you right in with no confirmation email.

Should I skip confirmation emails?

The main reason I want users' emails is so I can send a "reset password" link if they forget their login info.

(In case it's relevant, this app isn't a forum or a social site. It's more of a software as a service utility type of thing.)

7 Answers 7


You need it for a simple reason, so that you can ensure that people haven't used someone else's email to sign up for your service. Another reason for email verification is that people might identically enter their email wrong and an email verification step helps them check that they had used the correct email to sign up.

An alternative approach you can use is to allow people to login once they sign up, but keep a notification on top which informs them to verify their email addresses.

I don't recommend limiting functionality to ensure users verify their email, but you could keep a timer within which the user might verify his email to continue using the app.

Also provide them with a feature to update the email from your app just in case they accidentally entered the email wrong. This will ensure that they can update the email once signed in, without having to recreate a new account.


I think users hate to verify their registration via email, I know I personally do.

For one thing, it's slower and takes more work. Users are lazy.

If this is done to make sure you receive a real email, an annoyed user can easily circumvent by using one of those temporary accounts (like mailinator). So it's pretty much useless..

If this is done to make sure the user hadn't misspelled their email, I think you can come up with better ways. For example, after registration show a quick message that registration was successful and that an email was sent to confirm that. Say that if the user did not receive a confirmation email, they should double check their email under their account settings. Of course, you should have an account settings page where users can view and edit their email address.

In addition, try to remember to login state (in a cookie for example if this is a web app) for at least 48 hours. So if the user did not receive a confirmation email, and they have closed the app, they would remain logged in and able to edit their email address in the account settings.

Another option is to ask for the email address twice (like the password), but I find this annoying as well.

I don't like the email validation messages (your email is not validated, and we will annoy you until it is), they are also super annoying.

If your service is paid for, I would encourage email validation since it should be a bit more robust in that case. But keep in mind that many payment gateways already rely on an email address (like PayPal) which you can assume to be correct without extra validation.

  • 1
    "Another option is to ask for the email address twice (like the password), but I find this annoying as well". Yes, annoying. But what's worse is when websites disable pasting of email address and username, and even password. Commented Mar 14, 2018 at 8:19

Another option is to separate validating the email from "completing registration".

You allow people to complete registration, but keep a reminder that the email address hasn't been validated.

That way users can register and use the site without being blocked or distracted by having to visit their email account (which isn't always possible in some contexts).


Unless you're really, really concerned about the authenticity of users' email addresses - skip the 2nd step.

If, for some reason, you want users to sign up with their real identities - again skip the 2nd step and use Facebook authentication or something similar instead.


I recommend considering social verification instead of email, because that's the way modern mobile operating systems are built.

iOS (and Android, though I'm less familiar with the Android OS) has moved decisively in the direction of social verification by allowing users to sign into their Facebook account at the device level. They even pop an interstitial 'Allow this app to connect to Facebook?" message so users don't even have leave the app they're registering for to verify their identity.

Email verification, on the other hand, is a much more manual process that involves switching between apps and the possibility of getting hung up by lag in the delivery of the confirmation email.

Just because iOS is doing it doesn't mean you have to do it, but it's usually a safe bet for apps to take their cues from the OS.


I will attempt to offer something different than the other answers.

When you're onboarding your users for the first time, in order to retain them better you have to keep them in the app and show them the value of your product.

Push notifications and verification emails are road blocks in the onboarding process because you're sending people outside of your app (BIG MISTAKE) in the first few minutes of them using your app. This is counter intuitive.

If the verification email is unavoidable due to clients security needs or other such things, then it is advisable that you delay the verification email for about an hour so the users are not distracted within the "make or break" first few minutes of exploring your app.


What about the user fills the registration inputs, clicks the Send or Register button and a message shows saying You are going to create a user with email [email protected] + a button saying Confirm as a last step for the registration?

User would read the email again and confirm, instead of having to write twice their email or open their email app.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.