I have a website and an application where a user can register. When they do, an email is sent to them with a link with a token attached (The token is stored in the database).

For my platform users cannot log in unless they have verified their email. My systems will send daily reminders as well.

Now my problem is that a big proportion of users that register to my site do not end up verifying their email and so never use the platform which is causing a loss of potential subscription sales.

Now the reason I have it this way is because some emails are spam emails which bounce. When an email bounces the account is added to a deletion list.

I am wondering how I can make this process better for user retention as well as protecting my systems against fake emails?


3 Answers 3


welcome to the forum!

I've been working in sign-up and onboarding flows for a few years and in my experience there are many ways to address the problem you are describing depending on what part of the equation you want to focus on.

Spam emails

One (sort of) simple solution here is to check the email structure and trigger a reCaptcha v3 when the email looks suspicious.

The caveat is that some bots eventually learn how to bypass these verifications and also, for those users who get mistakenly detected as spam you are adding an extra point of friction. This friction though can potentially make up for the loss in email confirmations.

Lack of engagement

This one is a fun one because you can pretty much do whatever you want. Depending on the nature and tone of voice of your platform you could try adding some fun element or even gamification to the sign-up process by telling the user something like…

Thank you for signing up to ACME Ind!

We just sent one of our best elves to your email to verify your account. Treat him well, he is a bit shy.

Email experience

Before getting into the solutions I described above, you should probably analyse the current performance of your first email and the reminders. Consider the following:

  • What's the Open Rate of the first email?
  • From those users who open a reminder, what's the average time they need to confirm the account? Is it after the 1st reminder, the 2nd… ?
  • What's the average Click Through rate of those who open the email? In other words, how many users of those who open the email end up confirming the account?
  • How many clickable elements you have on that email?
  • Have you experimented with the subject line? I recommend making the subject line relatable and personal by using the $firstname token.
  • Is the design of the email clear, clean and visually engaging?
  • Have you checked if your email is falling under spam and in what percentage of the cases?

After you have analysed all of those aspects you should have a good set of data to start making assumptions and defining possible solutions to confirm them.

  • Thank you for the information. Based on when you have said I have done the following. - When a user signes up they get sent a verification email which they must verify within 2 week. They still get access to the account in this time, to allow them to view the platform, hence removing the need for verification at sign up. - When signing up and when the email is sent, I have a bounce detector on AWS which is basically instant and if the email bounces it gets added to a rejected list on my DB which prevents the 'fake' user from logging in Oct 5, 2022 at 11:02

I suggest you:

1. Do not accept temporary emails in your form

2. Add another login like google, Facebook, and others.

3. Change email provider and look at DNS verification for email

4. Use phone verification

  • 1
    Quite the opposite (on 1 and 4). I drop any attempts to register if the system doesn't allow temporary emails or requires a phone. I don't want to give away my primary email to every little website that, in most cases, shouldn't require accounts in the first place.
    – Zeus
    Oct 6, 2022 at 7:09

Let's break the question down into a couple of other questions.

Do you really need to verify email addresses?

You should explore what role email address verification plays in your product.

  1. Can your application function without it? This is the most crucial question. If your product does not need it for any purpose other than billing, consider not requiring emails in the first place. Only require an email or a phone number during billing if possible. Delink email addresses from a signup workflow, and only add them when necessary.

  2. Is it to prevent spam accounts? Consider that email accounts (and even phone numbers) are easy to create, and spammers can and will automate creation of a large number of spam accounts even with email address verification. Consider adding captcha verification during signup AND use services from a DDOS protection provider—this will prevent automated calls from reaching your services in the first place.

If you really need to verify email addresses

  1. Consider alternate email verification workflows. Instead of sending only a link, also add a 6 digit code that they can then paste into your application.

  2. Dissociate signups from email (Such as allowing signups/sign ins using only an username with email optional) and just block off all parts of the application except the user data section. This will also allow users to change their email address if they entered the wrong one during signup.

  3. Consider that the large number of users who never verify their email address will also never pay for your product. They are self-selecting themselves out.

Your Answer

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

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