In Karma's short history, we've gone through a number of iterations of our checkout process. It might surprise you, given the fact that we only sell one hardware product, and the only additional thing we sell is data service for that hardware product. But if we've learned anything along the way, it's that making something simple and straightforward for a customer is seldom simple or straightforward to create.

We also have the unfortunate challenge produced by the numerous negative and confusing experiences most of our customers have had with other mobile providers: consumers have (rightly) learned not to take anything at face value in this space. To expect hidden surprises on next month's bill and an abusive lock-in relationship. We want to change those expectations, but first we need them to buy Karma.

It's not that our customers don't want to buy data, it's that they don't want to feel forced to buy data

Our original store was simply that: we sold the Karma device, which included a free 1GB of data, and afterwards the customer could buy more data from her account dashboard. A few months later, we decided to sell "Karma packs," which packaged data alongside the device. We pitched the discount of the larger "packs" as a discount on the device — buy the 7GB bundle and the device is 50% off, buy 20GB and the device is free. We soon realized that this was confusing, and that we should instead offer discounts on the data bundles themselves, separate from the basic cost of the device.

And so the iterations continued. We've made a number of missteps: the original version of the shop was a pop-over modal, which required you to sign in with Facebook. We're very sorry about that. We kept improving. A week or so ago we launched the latest version of the store, referred to internally as version 7 but we're not done tweaking. Here's what we've learned so far:

Give people the option not to buy something

In April of this year we made a purchase of 2GB mandatory, in addition to the 1GB bundled with the device. This was a terrible idea. Our reasoning was that you need data to use the device, so we wanted to accustom the customer to buying data up front. The result was a near 34% drop off in sales. It was confusing for someone who expected to pay $99 for Karma to be required to add a minimum of $28 to this purchase before they'd even hit step two in the checkout process.

Add data (or don't!)

However, when we removed the offer of a free 1GB of data with each device purchase, there was zero impact on sales. Now we offer 1GB, 5GB, and 10GB options, in addition to an option to skip data altogether. Most buyers pick the 5GB option. It's not that our customers don't want to buy data, it's that they don't want to feel forced to buy data.

Don't ask people to create an account

As mentioned before, requiring someone to sign in with Facebook before buying Karma was a major misstep. Ultimately, we want to remove all barriers to purchase, and remembering a Facebook login or creating a whole new account can be a major barrier. To use Karma you'll need to have an account, but this doesn't have to happen before you buy a device. After the purchase is confirmed, we give an option to create an account right there, and we also send an email with instructions. Failing that, a customer can sign up for an account the first time they connect to a Karma device, at which point the device is registered to them.

This works because we've oriented our service around selling customers data (gigabytes) they can use with any Karma device, and not the typical carrier model of a single user per device.

One thing we do is ask for an email address early in the checkout process, before even getting a name. People are used to putting in their email address, and it's something we can capture when they continue to the next step. Even if they don't complete a purchase, we could use that address to retarget them later.

Make input fields obvious and intelligent

There are a number of small, but important, things we do to make the input form as simple and straightforward as possible. The first, and perhaps most obvious, is to always show labels for each field. We use the placeholder text to give an additional hint, not as the only indication of what the customer should type.

All you need is zip codes

We auto-populate any field we can. For instance, when you give your name in the Contact Info section, your full name is automatically added to the Shipping Details section. When you enter your zip code, your city and state is automatically selected based on it. When you begin typing your credit card number, the icon switches to your type of card based on the first two digits.

The little things count

We're also forgiving with inputs: spaces are allowed in the credit card number, expiration date can be entered in the customer's format of choice — that's our job to convert, not theirs. We even check if a customer's zip code is outside our coverage area, and offer a (non-blocking) warning about it when they continue to the next step.

No surprises, no inessentials

This isn't the easiest way to build a store

Throughout we want to make sure there are no surprises in the ordering process. With a "single page" design, we display the total price through each step of checkout. When you select a shipping option, we display the exact day you should expect delivery. At any point you can go backward in the process and all your inputs and selections are still there.

We don't display a coupon code field, but instead use referral URLs to auto-add coupons. By default we hide the option to use a shipping address different from the billing address. The large submit button is always in the same spot on the screen, each step of the way.

This isn't the easiest way to build a store. Every little enhancement requires extra work from our developers, and extra thought in the design process. But none of it is rocket science, and the little touches add up.

Feedback, rinse, repeat

At the end of the day, we're successful if people are buying Karma, and if they feel confident in that process. We review any design changes with the whole team to catch problems and gather suggestions. We commission usability studies on a regular basis, to make sure everything makes sense to the uninitiated. We really want to get this right.

And we're always looking to improve. If you have ideas or suggestions for how we could make the ordering process easier, or explain our product better, we'd love to hear from you!

We’d also like to take this chance to thank other hardworking store designers we’ve “borrowed” from along the way: Dollar Shave Club, Virgin America, and Harry’s.