Verification in a SaaS signup flow

SaaS signups have a specific failure that other funnels do not: the activation email is the product. A user who cannot receive it has signed up, appears in your numbers, and will never activate.

There is a second problem that verification is often bought for and does not solve. Trial abuse through disposable addresses is a real cost, and a disposable check is one layer of the answer rather than the whole of it.

An undeliverable signup is worse than no signup

It enters the funnel, consumes a sales touch, sits in the conversion denominator, and produces a bounce that your transactional sending domain pays for. The same domain carries password resets and receipts, so the damage reaches paying customers.

Disposable addresses are the other half. Blocking them at signup stops the cheapest form of trial cycling. It does not stop a determined abuser, who has a subdomain-catch-all setup that looks like an ordinary corporate domain and will pass every check we run.

Verification tells you the mailbox exists. A confirmation link tells you the person controls it. For trial abuse the second one does more work, and the two together do more than either alone.

How the work gets done

The order that matters for SaaS companies, rather than a generic checklist.

  1. Check at the signup field, not after the record is created

    Verify on blur with a short timeout, so a typo gets fixed while the person is still on the page. Fail open: a slow verifier must not cost you a trial.

  2. Block the definite rejections only

    An invalid result and a disposable flag are reasons to push back. A catch-all result, an unknown result and a role flag are not, and rejecting them turns a deliverability tool into a pile of lost signups from exactly the mid-market companies you want.

  3. Treat role addresses as a routing signal

    Someone signing up as ops@ or billing@ is a shared mailbox, which is worth knowing for how you sequence onboarding mail rather than a reason to refuse them.

  4. Re-verify dormant accounts before win-back

    A year-old trial list is full of people who changed jobs. Checking before the win-back campaign is what keeps the bounce spike off your transactional domain.

What verification will not do here

What it costs

Signup-rate volumes usually sit inside the $25 tier for 10,000 addresses, often for months. The free hundred a month with no card covers a pre-launch product outright.

Every tier works the same way. Unknown results and duplicates are never billed, and credits do not expire.

Questions we get asked

Should I block every disposable address?

At signup, usually yes if trial abuse is a real cost to you. Watch what it blocks first: some privacy-conscious buyers use them and convert perfectly well.

Does this replace double opt-in?

No. Verification says the mailbox exists. A confirmation link says the person opened it, and only the second one proves control.

What about role addresses like admin@?

Let them through. In B2B, the person evaluating your product is often using a shared mailbox, and blocking it blocks the buyer.

Try it on your own list first

100 free checks a month, no card. Run a sample and read the unresolved count before you decide anything.