[{"data":1,"prerenderedAt":397},["Reactive",2],{"content-/saas-signup":3,"translations-/saas-signup":223,"related-articles-/saas-signup":230,"content-query-kHHjJzdz0y":248},{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":5,"title":7,"description":8,"date":9,"slug":10,"keyword":11,"lang":12,"translationKey":10,"body":13,"_type":215,"_id":216,"_source":217,"_file":218,"_extension":219,"sitemap":220},"/saas-signup","",false,"7 Tips for building Smoothest SaaS Signup flow","Les conseils de Niklas Zennström, fondateur de Skype, KaZaA, Joost & Atomico pour entreprendre","2022-07-11T09:33:33.000Z","saas-signup","startup","en",{"type":14,"children":15,"toc":204},"root",[16,35,42,47,58,64,69,75,87,101,106,112,117,122,127,133,138,143,148,154,159,164,169,175,180,185,190,199],{"type":17,"tag":18,"props":19,"children":20},"element","p",{},[21,24,33],{"type":22,"value":23},"text","I built several signup flows, and ended-up building a passwordless signup flow for ",{"type":17,"tag":25,"props":26,"children":30},"a",{"href":27,"rel":28},"https://beanvest.com",[29],"nofollow",[31],{"type":22,"value":32},"Beanvest",{"type":22,"value":34}," I'm pretty happy about. Here are some tips and ideas to build a smooth SaaS signup flow.",{"type":17,"tag":36,"props":37,"children":39},"h2",{"id":38},"only-ask-for-an-email-address",[40],{"type":22,"value":41},"Only ask for an email address",{"type":17,"tag":18,"props":43,"children":44},{},[45],{"type":22,"value":46},"When a user creates an account for your SaaS, you need only one information : an email address.",{"type":17,"tag":18,"props":48,"children":49},{},[50,56],{"type":17,"tag":51,"props":52,"children":53},"strong",{},[54],{"type":22,"value":55},"Asking only for an email reduces friction a lot",{"type":22,"value":57},". If you need additional information, ask for it later. Even a password can be required only after being logged in.",{"type":17,"tag":36,"props":59,"children":61},{"id":60},"have-your-signup-form-on-your-homepage",[62],{"type":22,"value":63},"Have your signup form on your homepage",{"type":17,"tag":18,"props":65,"children":66},{},[67],{"type":22,"value":68},"Why ask user to click multiple times when you can put your signup form on your homepage?\nAnd now that you only ask for an email address, it's really easy !",{"type":17,"tag":36,"props":70,"children":72},{"id":71},"block-throwaway-emails",[73],{"type":22,"value":74},"Block throwaway emails",{"type":17,"tag":18,"props":76,"children":77},{},[78,80,85],{"type":22,"value":79},"You should ",{"type":17,"tag":51,"props":81,"children":82},{},[83],{"type":22,"value":84},"block throwaway emails",{"type":22,"value":86},", and the good new is I built an open-source lib just for that!",{"type":17,"tag":18,"props":88,"children":89},{},[90,92,99],{"type":22,"value":91},"Here it is: ",{"type":17,"tag":25,"props":93,"children":96},{"href":94,"rel":95},"https://github.com/romainsimon/emailvalid",[29],[97],{"type":22,"value":98},"Email Validation",{"type":22,"value":100},". It has a list of more than 10K freemails, disposable and temporary email domains you could block, with many options.",{"type":17,"tag":18,"props":102,"children":103},{},[104],{"type":22,"value":105},"Ideally, show the error message before the user hits the submit button.",{"type":17,"tag":36,"props":107,"children":109},{"id":108},"merge-your-login-and-register",[110],{"type":22,"value":111},"Merge your login and register",{"type":17,"tag":18,"props":113,"children":114},{},[115],{"type":22,"value":116},"When a user tries to create an account with the login page, don't show an error message but simply create the account.",{"type":17,"tag":18,"props":118,"children":119},{},[120],{"type":22,"value":121},"If he uses your sign-up to log in, simply connect him.",{"type":17,"tag":18,"props":123,"children":124},{},[125],{"type":22,"value":126},"And once again, it's easy because you are only asking for an email.",{"type":17,"tag":36,"props":128,"children":130},{"id":129},"remove-passwords-entirely",[131],{"type":22,"value":132},"Remove passwords entirely",{"type":17,"tag":18,"props":134,"children":135},{},[136],{"type":22,"value":137},"Instead of asking for a password, send an email with a link (a \"Magic Link\"). When the user clicks on it he is instantly logged in.",{"type":17,"tag":18,"props":139,"children":140},{},[141],{"type":22,"value":142},"Bonus: you don't need a \"reset password\" page anymore.",{"type":17,"tag":18,"props":144,"children":145},{},[146],{"type":22,"value":147},"I really like passwordless logins, but it's true that it can sometimes be annoying to some users. If you do it, you could also add some",{"type":17,"tag":36,"props":149,"children":151},{"id":150},"give-instant-access-after-signing-up",[152],{"type":22,"value":153},"Give instant access after signing up",{"type":17,"tag":18,"props":155,"children":156},{},[157],{"type":22,"value":158},"Don't require the user to verify his email a second he creates an account.",{"type":17,"tag":18,"props":160,"children":161},{},[162],{"type":22,"value":163},"Instead, connect him and show him an alert message asking to verify the account in the next X days.",{"type":17,"tag":18,"props":165,"children":166},{},[167],{"type":22,"value":168},"After the delay, don't kick him out. Just make the message full-screen.",{"type":17,"tag":36,"props":170,"children":172},{"id":171},"prefill-user-email-after-logout",[173],{"type":22,"value":174},"Prefill user email after logout",{"type":17,"tag":18,"props":176,"children":177},{},[178],{"type":22,"value":179},"When a user logged out or has his session expiring, your can prefill the email to save users some time as they won't even have to type anything!",{"type":17,"tag":18,"props":181,"children":182},{},[183],{"type":22,"value":184},"Just save the last used email in local storage prefill when they try to reconnect.",{"type":17,"tag":18,"props":186,"children":187},{},[188],{"type":22,"value":189},"Here's how it looks like:",{"type":17,"tag":18,"props":191,"children":192},{},[193],{"type":17,"tag":194,"props":195,"children":198},"img",{"alt":196,"src":197},"Prefill email on logout","/images/beanvest-logout.png",[],{"type":17,"tag":18,"props":200,"children":201},{},[202],{"type":22,"value":203},"I tried to create the perfect SaaS sign-up flow but I know this is not flawless. However, I hope this can give you some food for thoughts about what you could try for your own SaaS.",{"title":5,"searchDepth":205,"depth":205,"links":206},3,[207,209,210,211,212,213,214],{"id":38,"depth":208,"text":41},2,{"id":60,"depth":208,"text":63},{"id":71,"depth":208,"text":74},{"id":108,"depth":208,"text":111},{"id":129,"depth":208,"text":132},{"id":150,"depth":208,"text":153},{"id":171,"depth":208,"text":174},"markdown","content:saas-signup.md","content","saas-signup.md","md",{"loc":4,"lastmod":221,"images":222},"2026-07-02T06:16:44.147Z",[],[224,225],{"_path":4,"title":7,"description":8,"date":9,"lang":12,"translationKey":10},{"_path":226,"title":227,"description":228,"date":9,"lang":229,"translationKey":10},"/signup-saas","7 conseils pour un signup SaaS plus fluide","Quelques conseils pour construire un parcours d'inscription SaaS simple et efficace.","fr",[231,236,241],{"_path":232,"title":233,"date":234,"keyword":11,"lang":12,"translationKey":235,"similarity":205},"/focus-startup","The 3 most important things every startup founder should focus on","2016-02-07T07:42:34.000Z","focus-startup",{"_path":237,"title":238,"date":239,"keyword":11,"lang":12,"translationKey":240,"similarity":205},"/golden-cage-entrepreneur","The golden cage of Entrepreneurs","2019-09-15T02:06:04.000Z","golden-cage-entrepreneur",{"_path":242,"title":243,"date":244,"keyword":245,"lang":12,"translationKey":246,"similarity":247},"/appsumo-stripe-coupons","How to setup Stripe codes for your AppSumo deal","2022-08-22T10:06:04.000Z","tech","appsumo-stripe-coupons",0,{"_path":4,"_dir":5,"_draft":6,"_partial":6,"_locale":5,"title":7,"description":8,"date":9,"slug":10,"keyword":11,"lang":12,"translationKey":10,"body":249,"_type":215,"_id":216,"_source":217,"_file":218,"_extension":219,"sitemap":395},{"type":14,"children":250,"toc":386},[251,261,265,269,277,281,285,289,298,308,312,316,320,324,328,332,336,340,344,348,352,356,360,364,368,372,376,382],{"type":17,"tag":18,"props":252,"children":253},{},[254,255,260],{"type":22,"value":23},{"type":17,"tag":25,"props":256,"children":258},{"href":27,"rel":257},[29],[259],{"type":22,"value":32},{"type":22,"value":34},{"type":17,"tag":36,"props":262,"children":263},{"id":38},[264],{"type":22,"value":41},{"type":17,"tag":18,"props":266,"children":267},{},[268],{"type":22,"value":46},{"type":17,"tag":18,"props":270,"children":271},{},[272,276],{"type":17,"tag":51,"props":273,"children":274},{},[275],{"type":22,"value":55},{"type":22,"value":57},{"type":17,"tag":36,"props":278,"children":279},{"id":60},[280],{"type":22,"value":63},{"type":17,"tag":18,"props":282,"children":283},{},[284],{"type":22,"value":68},{"type":17,"tag":36,"props":286,"children":287},{"id":71},[288],{"type":22,"value":74},{"type":17,"tag":18,"props":290,"children":291},{},[292,293,297],{"type":22,"value":79},{"type":17,"tag":51,"props":294,"children":295},{},[296],{"type":22,"value":84},{"type":22,"value":86},{"type":17,"tag":18,"props":299,"children":300},{},[301,302,307],{"type":22,"value":91},{"type":17,"tag":25,"props":303,"children":305},{"href":94,"rel":304},[29],[306],{"type":22,"value":98},{"type":22,"value":100},{"type":17,"tag":18,"props":309,"children":310},{},[311],{"type":22,"value":105},{"type":17,"tag":36,"props":313,"children":314},{"id":108},[315],{"type":22,"value":111},{"type":17,"tag":18,"props":317,"children":318},{},[319],{"type":22,"value":116},{"type":17,"tag":18,"props":321,"children":322},{},[323],{"type":22,"value":121},{"type":17,"tag":18,"props":325,"children":326},{},[327],{"type":22,"value":126},{"type":17,"tag":36,"props":329,"children":330},{"id":129},[331],{"type":22,"value":132},{"type":17,"tag":18,"props":333,"children":334},{},[335],{"type":22,"value":137},{"type":17,"tag":18,"props":337,"children":338},{},[339],{"type":22,"value":142},{"type":17,"tag":18,"props":341,"children":342},{},[343],{"type":22,"value":147},{"type":17,"tag":36,"props":345,"children":346},{"id":150},[347],{"type":22,"value":153},{"type":17,"tag":18,"props":349,"children":350},{},[351],{"type":22,"value":158},{"type":17,"tag":18,"props":353,"children":354},{},[355],{"type":22,"value":163},{"type":17,"tag":18,"props":357,"children":358},{},[359],{"type":22,"value":168},{"type":17,"tag":36,"props":361,"children":362},{"id":171},[363],{"type":22,"value":174},{"type":17,"tag":18,"props":365,"children":366},{},[367],{"type":22,"value":179},{"type":17,"tag":18,"props":369,"children":370},{},[371],{"type":22,"value":184},{"type":17,"tag":18,"props":373,"children":374},{},[375],{"type":22,"value":189},{"type":17,"tag":18,"props":377,"children":378},{},[379],{"type":17,"tag":194,"props":380,"children":381},{"alt":196,"src":197},[],{"type":17,"tag":18,"props":383,"children":384},{},[385],{"type":22,"value":203},{"title":5,"searchDepth":205,"depth":205,"links":387},[388,389,390,391,392,393,394],{"id":38,"depth":208,"text":41},{"id":60,"depth":208,"text":63},{"id":71,"depth":208,"text":74},{"id":108,"depth":208,"text":111},{"id":129,"depth":208,"text":132},{"id":150,"depth":208,"text":153},{"id":171,"depth":208,"text":174},{"loc":4,"lastmod":221,"images":396},[],1782973132486]