Why Sunshine doesn’t have guest checkout
One feature request I get on occasion is for guest checkout. To be honest, this request has always baffled me. Here’s why:
It is definitely true that many users will abandon a checkout experience if they are requested to register an account before they are allowed to checkout. In reality the number of fields to fill out for a guest checkout versus creating an account first on any e-commerce website is exactly the same except for a single additional field: password. All the other fields (email address, billing address and shipping address) are all still needed to complete an order in either situation. The problem is on many e-commerce websites it takes the user to a separate registration area which is a pain. In fact, previous versions of Sunshine (< 1.9) the checkout process did redirect the user to a separate registration page if they were not already logged in. That was not ideal, so I changed it. With the current version of Sunshine, a non-logged in users on the checkout page will see the same one-page checkout screen that a logged-in user would see but with the addition of that single password field.
Sample checkout page using Sunshine with the single, extra password field
If a user does not yet have an account, then one is created for them when they complete the checkout page using the email/password provided. On submit, the account is created, the user is automatically logged in to the new account and then checkout proceeds as normal all in a single process invisible to the user with no extra steps. Checkout simply can’t get any easier for your users.
A new feature being added for 2.0.7 is if a user already has an account and reaches the checkout page without having logged in yet, they can enter their email address and password in same the “Account Information” section as if they were registering. If they give valid login credentials, they are automatically logged in and checkout continues seamlessly. There is no link to a separate login page making this incredibly easy for users to give you their money regardless of already being logged in or not.
Why not just make a Guest Checkout option anyway?
The main reason is more security for digital download purchases. By associated every order with an actual user we can then require the user be logged in before being able to access digital downloads from their order thus making the digital download feature more secure. Yes, some of you are not using the digital download add-on but most of you are.
Another reason is having an order associated with a user creates an order history for that user which they themselves can access. I’ve used guest checkout on many sites, ones where I thought to myself “I am not going to buy anything from this store again, no need for an account.” And sure enough I never did buy anything from that store. Except I got the wrong product in the mail. I had deleted the order confirmation email and was having a hard time finding it. If I had an account, I could have simply logged into the website to check what I had actually ordered. Instead, I had to sit on hold for 20 minutes waiting for a customer service rep. Not the end of the world really, but it’s those small things that make an impact on the overall user experience.
Sometimes we have to help people help themselves and I believe having every order associated with a user account is helpful all around.
What do you think?