5
8 Comments

How do you authenticate free, trial and paid users in your product?

Hi all,

I'm close to launching a product (in the form of a browser extension) and I'm at the stage where I need to start building the infrastructure to support users and and generate revenue.

Two questions:

  1. can anyone give me the rough outline of what I need to do that; external server, stripe integration, Auth0 or whatever? I'm a developer so this is just a sanity check question, really.

  2. how much of a barrier have people found it asking for an email address up front? Feedback from my Beta testers has been stellar, so I don't envision it being a problem, but without email, I don't see how I can offer a time-limited trial

Any additional info would also be welcome.

Cheers,
Dave

on January 31, 2020
  1. 2

    Will the actual meat of your product be in the extension or in the backend? There will be different complexity for either of those.

    But if you need to authenticate users and persist their data, you will need:

    • Authentication like Auth0, both for the web and inside your extension
    • You'll need some sort of backend system with a database, so you'll want a cloud server somewhere and a database in the same data center
    • For payment, you will need to integrate Stripe both into either your extension or a web-based interface
    • Your backend will need to be able to handle and respond to Stripe webhooks / token auth.
    • As I don't know what you want to do with the extension/server, this should be the basic foundation.

    Regarding your email-up-front question: if you can provide people with value immediately, they will give you their data. Maybe give them a few days of a shadow trial, then ask for the email. This will also make the leads that actually give you their email a better fit, as the people who don't care will be gone by then.

    But I would be careful to ask for an email pre-installation. That is a lot to ask for something you might not even like as a user.

    1. 1

      Hey Arvid,

      Brilliant info, thanks!

      It pretty much mirrored what I expected, but I've yet to implement something like this in my own code.

      Regarding the email - if I don't ask for an email up front, I don't see what is to prevent a user from simply uninstalling then reinstalling the extension.

      Of course, they would lose any user data, but that would probably not be a concern for most people, given the nature of the extension.

      A couple of points:

      • I just checked out Grammarly, and they do ask for an email before allowing you to progress with any install, and it doesn't seem to have hurt them with 10mm+ users.

      • At some point I would like to support the user with onboarding emails (help them level up with the extension's features) though I suppose I could just build that into the product.

      Anyway, thanks for the reply; I'll start looking at those APIs straight away.

      Cheers,
      Dave

      1. 1

        Interesting points! I think if you're thinking of the kind of user that would go through the trouble to uninstall and reinstall an extension every few days to not give away their email, you are looking at the wrong customer. I'd rather focus on making it very easy for legitimate users to get hooked on your product.

        Grammarly is a good example, and you might be right here. If your value prop is high enough, you will be able to capture those emails and use them for onboarding. If people don't see the value even before using the extension, this might be a roadblock to getting customers.

        Please keep us updated about what you'll be doing :)

        1. 1

          you are looking at the wrong customer

          That is a such an important point, and an easy one to forget before launch.

          if you're thinking of the kind of user that would go through the trouble to uninstall and reinstall an extension every few days to not give away their email

          It was more that they would try to get around any free trial, but the same "wrong customer" point applies.

          Anyway, you've helped me make up my mind; much appreciated, and yes I will!

          I've signed up for your newsletter. And I also really enjoyed listening to your podcast episode not so long ago!

          1. 1

            Thank you, that's very kind! Glad you liked it.

  2. 1

    I still use custom coded database-driven auth (in ASP.NET Core), but recently saw userbase.com on Hacker News, which looked interesting for speeding-up this kind of stuff.

  3. 1

    @gvrizzo has done this pretty well with CSS Scan

    1. 1

      Thanks for at-ing!