How to Set Up Email Verification for New Signups

Email verification separates real users from bots, typos, and fake signups. Without it, your list fills with addresses that bounce, damage your sender reputation, and inflate subscriber counts with people who never intended to sign up. The cost of bad addresses compounds over time: each bounce tells email providers you don't maintain clean lists, which eventually affects deliverability to your real users.
But verification that's too aggressive creates its own problems. Friction in the signup flow reduces conversions. Aggressive expiration timelines frustrate users who get distracted before clicking the link. The goal is verification that catches bad addresses while getting out of the way for legitimate users.
Why Verification Matters
Every email address on your list that can't receive email hurts your ability to reach addresses that can. Email service providers track your bounce rate, and high bounce rates signal that you're either purchasing lists or not maintaining quality. Either conclusion damages your reputation.
The impact goes beyond deliverability metrics. Fake signups from bots fill your list with addresses you'll pay for but can't reach. Competitors sometimes sign up with test addresses to spy on your onboarding sequences. Typos mean real users don't receive your emails and assume your product is broken.
Verification filters these problems before they affect your deliverability. A user who can't verify their email address was never going to become a customer anyway. The small amount of friction verification adds is worth it for the list quality you maintain.
There's also a security dimension. Email verification confirms that the person signing up controls the address they're claiming. This matters for password resets, account recovery, and any feature that sends sensitive information to email. Unverified addresses are security holes waiting to be exploited.
Single vs Double Opt-In
Single opt-in means users provide an email address and are immediately added to your list. They might receive a welcome email, but clicking anything isn't required to be subscribed. This maximizes signup conversion because there's no extra step, but it leaves you vulnerable to typos and fake signups.
Double opt-in adds a verification step. Users provide an email address, receive a verification email, and must click a link to confirm. Only then are they fully subscribed. This confirms the user controls the address and actually wants to hear from you. The tradeoff is lower conversion: some percentage of users never click the verification link.
For SaaS products, the right choice usually depends on what users are signing up for. If they're creating an account to use your product, double opt-in makes sense. Users who won't verify their email address probably won't use your product either. The verification step costs you very few real users.
If users are only subscribing to a newsletter or downloading a lead magnet, single opt-in might be appropriate. The stakes are lower, and the friction is harder to justify. Some teams use single opt-in for newsletter signups but double opt-in for account creation.
Regulations also affect this choice. GDPR requires clear consent, which double opt-in provides documented proof of. Other regions have similar requirements. Check the compliance requirements for your markets before deciding. For implementation details, see our guide on how to set up double opt-in for your SaaS.
What Your Verification Email Should Include
The verification email has one job: get users to click the button. Everything else is secondary. Long welcome messages, feature overviews, and marketing copy all distract from that goal. Keep the email focused and short.
Start with a clear subject line that tells users why they're receiving this email. "Verify your email address" or "Confirm your [Product Name] account" works. Avoid clever subject lines that obscure the purpose. Users need to recognize this as the verification email they're expecting.
The email body should contain:
- A brief statement of what they're verifying (their account, their subscription)
- A prominent button or link to click
- A note about what happens after verification
- An expiration notice if the link expires
- A way to contact support if they didn't request this
The verification link or button should be impossible to miss. Use a button with contrasting color, and include the raw URL below it as a fallback. Some email clients don't render buttons well, and some users prefer to see the URL before clicking.
Include a plain text version of the email. Some users have email clients that display plain text only, and a verification email without a working link defeats the purpose. For more on welcome and verification email best practices, see our guide on how to send welcome emails for SaaS.
Timing and Expiration
Send the verification email immediately after signup. Users expect it and are ready to click. Delays create confusion. A user who signs up, checks their inbox, and sees nothing assumes something went wrong. They might try signing up again, submit a support ticket, or give up entirely.
If verification doesn't arrive within seconds, check your email infrastructure. Slow verification emails are a symptom of deeper deliverability or infrastructure problems that affect all your email.
Verification links should expire, but not too quickly. Twenty-four hours is a reasonable minimum. Users sometimes sign up from their phone, intending to verify later from their computer. Some users sign up at night and verify the next morning. A 24-48 hour window accommodates these behaviors.
Seven days works as an expiration window if you want to be generous. Beyond that, you're not getting real users anyway: you're getting abandoned signups and old links being clicked accidentally.
When links expire, users should see a helpful message that lets them request a new verification email. Don't just show an error. The user was trying to verify, so make it easy for them to complete the process.
Handling Users Who Don't Verify
Some users never click the verification link. They might have abandoned signup, entered a fake email, or just gotten distracted. How you handle these unverified accounts affects both your list quality and your conversion rates.
Don't delete unverified accounts immediately after expiration. Send a reminder first. A simple "We noticed you haven't verified your email" message brings back a meaningful percentage of users. Send it 24 hours after signup if your expiration is short, or after 2-3 days if you allow a longer window.
After the reminder, give users another day or two before taking action. Then you have choices:
- Delete the account entirely, requiring them to sign up again
- Keep the account but prevent access until verification
- Keep the account with limited functionality
Full deletion is cleanest but might frustrate users who return weeks later. Keeping accounts with verification required is more forgiving but means maintaining unverified records. Choose based on your product's sensitivity and your compliance requirements.
Never add unverified email addresses to marketing lists. They haven't confirmed they want your emails, and sending marketing to unverified addresses risks spam complaints. Verification is consent, and you don't have it until they click.
The Verification UX Flow
The verification experience starts before the email arrives. After users submit their email address, show a clear message telling them to check their inbox. Mention common issues: check spam folders, whitelist your domain, try the resend button if nothing arrives.
If possible, detect the user's email provider and provide direct links. "Check Gmail" or "Check Outlook" buttons that deep-link to the inbox reduce friction. Users clicking these buttons find your verification email faster than users who navigate to their email manually.
The verification page itself should confirm success clearly and move users forward. "Email verified! You can now log in" or "Your account is confirmed. Here's what's next." Don't make verification feel like a dead end. It's the beginning of the user's journey with your product.
If verification fails because the link expired or was already used, explain what happened and offer a clear path forward. "This link has expired. Enter your email below to receive a new verification link." Don't make users guess what went wrong.
Edge Cases to Handle
Verification systems encounter scenarios your initial implementation didn't anticipate. Planning for edge cases prevents support tickets and frustrated users.
Users who click verification links multiple times shouldn't see errors. The second click should either succeed silently or show a "you're already verified" message. Don't treat a re-click as suspicious.
Users who request multiple verification emails end up with multiple valid links. Either invalidate old links when generating new ones, or allow any valid link to work. The security risk of multiple valid links is usually low, and invalidating old links frustrates users who received multiple emails and click the first one they find.
Users who change their email address need to verify the new address. Don't let users switch to an unverified email and maintain full account access. The new address should require verification before becoming the primary contact method.
Users signing up with disposable email addresses might be testing your product or trying to avoid giving their real email. Decide whether to block disposable domains entirely or allow them. Some legitimate users prefer disposable addresses for initial evaluation.
Implementation Considerations
Verification tokens should be unique, random, and not guessable. A sequential ID lets attackers verify accounts by iterating through numbers. Use cryptographically random strings long enough to prevent brute force attempts. UUIDs or similar work well.
Rate limit verification email requests. Without limits, attackers can use your verification system to spam arbitrary email addresses. One verification email per minute per address, with absolute limits per day, prevents abuse without inconveniencing legitimate users.
Log verification attempts for security auditing. If an account is later compromised, logs showing verification history help understand what happened. Track when verification emails were sent, when links were clicked, and from what IP addresses.
Consider letting users access limited product functionality before verification. A user who can explore the product while their verification email arrives has more reason to complete verification. Completely blocking access until verification adds friction that might not be necessary for your product.
For technical details on authentication infrastructure including email verification, see our guide on how to set up email authentication with SPF, DKIM, and DMARC.
Email Verification Template
Here's a template for a verification email:
Subject: Verify your email address
Hi there,
Please verify your email address to complete your [Product Name] signup.
[Verify Email Address] β (Button)
Or copy and paste this URL into your browser: https://yourproduct.com/verify?token=abc123xyz
This link expires in 24 hours.
If you didn't create an account with [Product Name], you can safely ignore this email.
Questions? Reply to this email or contact [email protected]
This template is minimal by design. Users receiving verification emails know why they're getting them. They want to click and move on. Long explanations slow them down.
The template includes both a button and raw URL for maximum compatibility. The expiration notice sets expectations. The "didn't request this" line handles cases where someone signs up with the wrong email address.
Building Trust From the First Email
Email verification is often the first email a user receives from your product. It sets expectations for your communication style, your attention to detail, and your respect for their inbox.
A verification email that arrives instantly shows you have solid infrastructure. One that's well-designed shows you care about user experience. One that's clear and to the point shows you won't waste their time with future emails.
Conversely, a verification email that arrives late, looks broken, or buries the link in marketing copy signals that dealing with your product will be frustrating. First impressions matter, and this is your first impression.
Keep verification emails focused, fast, and functional. Users who verify successfully enter your product with a positive impression. Users who struggle with verification start their experience annoyed. Get this foundational email right, and you build trust that carries into every email that follows.