How I prevent unwanted users from signing up to my B2B SaaS

idontknow07

New member
For B2B SaaS, we only want serious prospects signing up.

In my experience, people who sign up using a non-work email are not serious people. Therefore it's better to just prevent them from signing up.

Why? Non-serious users eat up expensive cloud resources and our customer support team's time.

These are the preventative measures I implement in my B2B SaaS products at new user registration (Note: a lot of these apply more for higher-ticket SaaS than prosumer SaaS):
  1. Prevent personal email addresses
  2. Check for burner/temp email addresses
  3. Prevent competitor email addresses
  4. Prevent '+1' in email addresses
  5. Auth provider restrictions
  6. Use WAF
  7. Rate limit your API
  8. Manually verify new users
  9. Make users enter a credit card

1. Prevent personal email addresses​


The lowest-hanging fruit is to grab a list of personal email service providers (like Gmail, Yahoo) and blacklist them.

You can get a list of personal email addresses from

https://gist.github.com/ammarshah/f5c2624d767f91a7cbdc4e54db8dd0bf.

2. Check for burner/temp email addresses​


These are two free APIs you can use to check if someone is using a disposable email service (I've found it's best to verify from both b/c each provider has different data):
Additionally, grab a static list of known disposable email services at https://github.com/disposable-email-domains/disposable-email-domains.

3. Prevent competitor email addresses​


If you have a list of competitors, no reason to let them easily sign up for your product. Add their domains to your blocklist. If they want to snoop on your product, make it hard for them.

Pro tip: Throw a misleading error so they think your product has bugs.

4. Prevent '+1' in email addresses​


Anyone with a Gmail/GSuite address can add a +1 to their email address, which results in a different email. For example, if my email is
Code:
kevin@mycompany.com
, I can use
Code:
kevin+1@mycompany.com
.

To prevent abuse, add validation to your backend to sanitize emails so that you get the true email address. Companies like Intercom use this strategy to prevent abuse on their free trial.

Pro tip: Make sure you add an allowlist for domains that belong to your company. This is useful in development to ensure employees/contractor don't run into this.

5. Restrict signups via your auth provider​


If you are using an auth provider like Firebase, you can limit max sign ups.

6. Use WAF​


If you use something like Cloudflare, you can use their WAF (web application firewall) feature to defend against bad actors. You can block by entire APNs or IP addresses with flexibility.

This is more of a reactive measure, but good defense if you need it readily available.

Pro tip: You can also use Cloudflare's API to dynamically update WAF rules (e.g, if someone sends an absurd number of requests, add a blocking rule that makes them cool down).

7. Rate limit your API​


Either at the DNS level (e.g, Cloudflare) or application-level (e.g, your server), if you add rate-limiting to your signup form endpoint, this is a good practice to minimize abuse.

8. Manually verify new users​


In my SaaS GrowSurf, we encountered a gnarly spammer who would take advantage of our free trial to send out spammy emails to his email list. I implemented all of the above, but he was a pro (using paid IP rotating services) and relentless (every single day picking on us for a month). Ultimately, we added a manual email verification system to combat this and win. Our support team could click a button to allow the email-sending feature, but users needed our manual approval first.

If you use an ESP like Postmark, it's important your spam rate be a small percent of your total emails sent, otherwise they will cut you out as a customer (after warnings).

10. Make users enter a credit card​


This adds a lot of friction, but is useful depending on what product/service you're selling. We don't allow a credit card on signup, but for example, if your business is an email service provider, you definitely want users to enter a credit card this to protect the sender reputations of your IP addresses.

This is a list I've made over the years of building B2B SaaS. I hope you found this helpful!

Comment if you've got additional insights.

If you found this useful, I share more stuff like this on Twitter: https://twitter.com/kevinyun
 
@idontknow07 Honestly if a website would prevent me from signing up with email alias I'd instantly close and forget about that site because of two reasons: you either don't know how emails work and can't validate properly e-mail address which doesn't build trust + I don't know you, I don't know how much will you spam me. Let e-mails be used the way it's meant to be used
 
@loveneverfailshim Though it sounds complicated, our end takeaway is very simple to the user: Use your work email address. Not a big ask to our real B2B customers. The thing that makes things complicated here is that we do best when users can self-signup without a commitment (e.g, credit card), and build trust through product capabilities testing.

I wrote in some of my other comments our experiences over the years and how we built up to these 8 points. Certainly didn't start with an entire list -- it's all from cause and effect to improve the business and processes. All points don't apply to all SaaS, but most of the above works for us.
 
@loveneverfailshim For a B2B service, people signing up with private e-mail addresses (e.g. GMail) are often an indication of a low value customer / fraudster. Not always, but often. So I'd put these users into a verification queue for the very least and ask them about their use case before confirming their signup.
 
@idontknow07 useful post, thank you for investing the time to write it.

Still the best way to completely remove „fun bidders“ from your user list (if this is your marketing strategy) would be to not offer a free tier. That alone (without fancy scripts and email checks) will filter out those users.

Only issue is that unless your product is known, very unique and sought after, not many users will feel like granting you their private business email and their credit card information.

I am one of those users, I have the funds to pay for subscriptions, but many times I will start by doing a „test run“ using my gmail email address and no payment information given, then after a few days if I find value I will than use my private business email and CC info to signup for the paid tier.

API rate limits is something you should anyway use if you have free or „basic“ tiers, otherwise you might experience service abuse.

One method I’ve seen being used is when the provider lets free tiers sign up but the quota is very limited, or if you want to use the product on a free plan you need to first submit a „request“ and then you will be going through a small „vetting“ process before you are given access
 
@charizard23 Just curious: Do you not use your business email because you don't want to be put on a mailing list?

I had the same thought as the OP. Prevent signups from personal email addresses.
 
@cande Less about worrying from mailing lists, since when dealing with a service provider, Should my email be put against my will on a mailing list, I could ask to be removed (and refusing to do so might lead to legal consequences)

It’s mostly about organizing of resources, as my business email addresses are used to organize the different components of the business and I don’t want to introduce emails that are not (yet) an integral part of the operations
 
@charizard23 Totally agree - personal emails can convert to customers.

What you care most about is ensuring users don't create duplicate accounts, which is a separate but similar problem (since it's easiest to make duplicate accounts using personal rather than work email, esp when email verification is required).

There are a couple services you should look into if you're trying to stop multi-accounting specifically - Castle, Verisoul, Arkose Labs, Spur, etc. that are useful!
 
@idontknow07 Who is your target audience? This strategy could be limiting if you’re targeting certain industries, small businesses and startups. I realize there’s a trade off there but the salient point is that all b2b target audiences aren’t the same.
 
@reidk Yup, this is it right here. Other comments in this thread all valid given their ICPs and it's certainly not one-size-fits-all.

Our pricing is rather larger for a self-service product (starting $450/mo). We don't have any individuals or prosumers as customers. The above list is intended to block out individuals b/c they either didn't see our pricing or were exploring our type of marketing software with no intention to convert.

Most of our customers are teams and companies that have set budgets that come in knowing they need to pick out a software.
 
@anglocatholicshrops That's good. Our ICP are SMBs, but marketing and tech teams with budgets and typical B2B buying process, so the above works for us. That list above didn't contain 8 points when we started, it was 0. Lots of cause and effect to lead us to these implementations.

If our ICP were SMB individuals charging forward with their own use or as prosumers, I would keep the personal email use allowed.
 
@idontknow07 These are not prosumers paying for their personal use. These are all legit businesses using Gmail, etc. We do B2B only. My guess is that 20-30% of all business emails are businessname@gmail.com. Many small businesses use hosting companies such as Wix, which don't have hosted emails. Therefore, they use Gmail.
 
@idontknow07 We found that even though our model is B2B, it happens pretty often that people firstly use our product registered with their own personal emails, then use it for their businesses so why would we like to make such restrictions? No reason, so we don't.
 
@happychristian738 Definitely good to experiment. We allowed Gmail/Yahoo's for a year or so. I had the wishful thinking mentality, but those guys never ended being serious buyers. Also correlated with some horrible customer chat experiences. Eventually realized it's just better to work with software buyers that are familiar with B2B buying. Our software also works best when there's a free trial without CC required. Builds trust in the product and capabilities before buying.
 

Similar threads

Back
Top