Members Only received its first update since launch, with the release of v1.1.0. This includes some quality-of-life improvements that make the login, registration, and purchase flows even better than before.
The user experience (UX) is one of the most important aspects of a product or service. It has the ability to instill confidence and joy in the people using your software, or frustration if the software interfaces are not great or if they’re tedious to operate.
The importance of a good UX is much higher when it comes to e-commerce solutions like Members Only. If the user’s journey from A to Z isn’t as smooth as butter and as fast as possible, conversion rates drop considerably.
It should be as simple as possible for users to buy what you’re selling. Every little bit of friction increases the difficulty of purchasing and results in decreased conversions. This is so widely known I don’t even have to cite a source for the statement. You already know it.
It’s why I felt it necessary to improve the UX for logging into an account, particularly when it comes to users resetting their passwords. To be clear, the need to improve this flow was due to decisions made early on to collect as little information as possible from users before sending them off to the Stripe checkout page.
When someone clicks a purchase button created by Members Only, if they are already logged into an account, they are taken straight to the Stripe checkout page. This is obvious and not really a problem that needs solving.
On the other hand, if someone is logged out when they click the purchase button, we need to know who they are so we can associate their purchase with their WordPress user account. In this scenario, when the button is clicked, a small modal with a form is shown requesting the user’s email address. When they submit that, Members Only does a check in the background to see if that email is associated with an existing account. If it’s not, we ask them to confirm the spelling of the email address. Then we create an account in the background and automatically log them into that new account.
If the email is already attached to an existing account, they are shown a login form, and upon successful login they are sent to Stripe’s checkout page.
OK, so what’s the problem? You may have noticed in the flow that new user account flows do not present a way for the user to specify their password. This was by design to simplify and streamline the purchase experience. But, the side effect of this is that users don’t even know what their passwords are. Members Only generates a secure password automatically using internal WordPress functions.
The problem is, users need a nice way to reset their passwords when they don’t know what the password is. If we take them out of the purchase flow, chances are they don’t complete their purchase. At the very least they have to navigate their way back to the place where they started their purchase, and that’s just not a very nice experience.
Now Members Only provides a “Forgot password” link. This lets users receive a password reset code via email, and put it into the modal, all without breaking out of the purchase flow. Once they provide the reset code, they are then presented with a form to provide their new password.
This new flow is part of the Stripe Checkout and Login Form blocks provided by Members Only, and it makes life easier for you and your users. It also includes some important things like rate limiting, attempt limits, user enumeration protection, and password safety checks.
I have some other ideas about how to improve these flows even more, but I’m still noodling on them and waiting to hear feedback from customers. Have thoughts? Send me a message and let’s chat.