back
154 comments
At ConversionVoodoo we've found that the gains pulled out of cart-work are staggering vs. other areas in your funnel - 50%+ improvements to be had even on high volume / "well optimized" projects (10k+ sales/mo).

Three easy places to start:

a) Simplify the UI - Make it as simple as possible for people to enter their payment details - large fonts, cross-browser tested, minimal pages, optimized for the lowest screen resolution of your average user on up.

b) Reiterate TRUST messaging - testimonials or buying popular symbols (Verign /McAfee / etc) and even dialing in the PLACEMENT of those logos is high-value eg http://www.conversionvoodoo.com/blog/2010/07/proper-placemen...

e) Implement a Cart Abandon strategy - either sending "instant discounts" via email good for 24hrs to complete order, calling dropped carts, or hitting a pop-up of live help or similar is easy money.

Add to this all the usual - proper messaging on buttons, lightning fast response times, mobile optimized version too, etc and you instantly gain a massive advantage over your competitors.

We have got numerous case studies on the checkout page http://visualwebsiteoptimizer.com/case-studies.php

Some of the common tactics that have worked for our customers:

- Providing a summary of what they have ordered and making sure there are no hidden surprises (extra taxes or shipping charges)

- Adding trust indicators like Verisign seal (yes, they really work!)

- Not requiring them to create an account just to checkout

- Adding phone number and physical address that customers can reach out in case they need help

- Good looking design (people subconsciously associate good design with higher trust. If you have an odd color, or a grammatical mistake, or a dangling element, it tells how careless you are at designing the most critical page, so you would be careless with their money as well)

Wow, I am not a target customer for modern e-commerce. I would never return to a store that had behaviors like this:

> e) Implement a Cart Abandon strategy - either sending "instant discounts" via email good for 24hrs to complete order,

Training users to haggle at checkout and not trust the list prices

> calling dropped carts.

harassing people offline after they leave your store?

> or hitting a pop-up of live help

Does anyone believe in live help? All I ever see it do it block content I am trying to read, providing the equivalent of menu-driven CLI (the scripts agents follow) when I already have a powerful GUI in front of me.

> This means that their credit card details never hit your server.

One thing I've been seeing recently is that some implementations using Stripe DO have the CC details hitting their server. The most common case being when Javascript is disabled the form posts to the website because the developer didn't design with graceful degradation, a dangerous mistake when mixed with credit card numbers.

It doesn't appear to be a problem for you (your payment page for CC info doesn't gracefully degrade with JS disabled and is impassible - you might want to fix that!) but I've seen it on other sites, and it's especially a problem when other sites don't use SSL as a fail safe for this sort of case which I have also seen. For Stripe it might perhaps be worth considering denying all payments from non HTTPS pages for this reason. It forces the merchants to have an SSL failsafe.

Also with CC info being entered on your site, it's presumably trivial for the site itself to record the CC numbers. Trust is the issue here, I'm not going to be entering my CC number on a site I've never heard of, with no reputation. Stripe doesn't solve this issue, Paypal does. Stripe looks wonderful, but it's not going to be suitable for everyone.

> One thing I've been seeing recently is that some implementations using Stripe DO have the CC details hitting their server. The most common case being when Javascript is disabled the form posts to the website because the developer didn't design with graceful degradation, a dangerous mistake when mixed with credit card numbers.

Only if you do it wrong. From the Stripe docs: "The only thing to note is how input fields representing sensitive card data (number, CVC, expiration month and year) do not have a 'name' attribute. This prevents them from hitting your server when the form is submitted."

> It doesn't appear to be a problem for you (your payment page for CC info doesn't gracefully degrade with JS disabled and is impassible - you might want to fix that!) but I've seen it on other sites, and it's especially a problem when other sites don't use SSL as a fail safe for this sort of case which I have also seen.

Again, SSL is covered by the docs. Stripe says you need it. Not that you should consider it, or that it's a bonus, but that you need it. https://stripe.com/help/ssl

Yeah you are right here that it is still possible for our users to mess things up. We do things to try to keep merchants from accidentally sending card numbers to their server (e.g. the default example form makes this hard to do, and most people simply copy and paste this form). It's an explicit decision we've made, though, to leave control in our users' hands as many people seem to like the flexibility to have their checkout experience stay on their site and be designed by them. But we think about where to draw the lines here a decent amount.
I worked on something with credit card processing a few years ago. As I remember, it doesn't really matter if the details hit your server, but the point is you absolutely can not save them.

No putting them in a DB, no putting the in a log file (not even the last four or something like that), nothing. So if your form takes the numbers in, you make an API call, and then you blank them in memory you were OK.

If you put them in the user's session, you were in trouble.

It's all insanely complicated, and the only good solution is "don't do it." There's a good reason people use things like Stripe, PayPal, Authorize.net's CIM (where they store it and certify that they are PCI compliant).

It's worth noting that we're talking about "degrees" of PCI compliance vs "I'm on the hook or I'm not on the hook" Implementing Stripe so that the data never touches your servers still requires you to complete a SAQ-A. That's just a LOT easier than if you are handling the data and have to complete a different SAQ.
God I hate posts about Stripe with a passion. It's like saying "You've had this pain in your back for the last five years? Well, I've got this miracle pill here that will not only make it go away, but it will also taste great. Oh, you're not in the US? Too bad then."

Stop reminding me I can't use Stripe all the time.

Stripe is beta testing internationally. I got an account in Canada about 2 weeks ago.

http://www.businessinsider.com/stripe-square-international-e...

Sounds like an opportunity to me.
I don't know why this is getting down voted. Stripe is close to my most hated company right now because they're not available in the UK :) It's really annoying.
Stripe the service is fantastic. I just hope they can get the financial side together soon. They sent me a 1099 on April 14 this year (you know, one day before taxes are due). Fortunately I hadn't filed yet (I was literally typing everything in TurboTax as the postman came). Not only was that usually illegal (at least for traditional 1099's; I don't know if the same rules apply to 1099-K's...haven't looked), it was highly annoying as it was also the second one they sent me (each with a different amount). Turns out they'd switched payment processors or something at one point and didn't bother to tell their customers to expect two 1099's.

Still using it. Great product. But I had to file an extension and crap to get it all sorted out, which was highly annoying.

Yeah, we just messed this up. I'm very sorry. I'm literally walking to a meeting with a user, but I'll follow up and edit this comment with details and what we're doing to prevent it within the next three hours.

[Update:] So, the background here is that 1099 reporting rules changed last year. A lot of companies—including some of our partners—didn't yet have their infrastructure in place to properly handle them. A lot has been written about the change in the law (search "2011 1099 confusion" for a small sample), and there's been a fair amount of ambiguity and confusion overall (Citibank issued 1099s for frequent flyer miles; whether this was necessary isn't yet clear). Due to this confusion, the IRS actually backed off plans to require the reconciliation of Form 1099K in tax returns filed for 2011.

In Stripe's case, one of our banking partners responsible for the filings was unable to meet the original filing date for all 1099s. While they filed a proper extension with the IRS, this meant that receipt of your 1099 was delayed.

As you point out, we should have done a much better job communicating this at each step -- and, obviously, receiving tax forms in mid-April is not an acceptable outcome regardless. We are working on controlling the process much more closely ourselves next year so that this does not happen again.

But the bottom line is: sorry. We built Stripe to make this kind of hassle go away, and we're doing everything we can to make sure that this was a one-off blip.

Do payment processors even have to send you 1099?

If I'm not mistaken, Google Checkout and PayPal did not send me 1099 - I just had to report all the revenue received from them myself.

I work in the same co-working facility as an education-based startup that switched from using PayPal(where user gets redirected to PayPal) to Stripe (completely branded checkout) and their conversion rates increased 40% overnight and have stayed at those levels. After digging into their API, we're actually building our new company, MoonClerk, on top of Stripe's API. We'll basically be an abstraction layer on top of Stripe so that non-developers can use it and implement it on their site, with a focus on recurring payments (even though we do one-time payments). We really want to allow non-developers the ability to use Stripe.
How is this possible? Through Paypal customers can also pay with credit cards, and even more. They can use checks, or bank transfers (very important in Europe where credit cards are not as popular), etc. Why would usage of Paypal decrease conversion compared to pure credit cards?

My guess is that a lot of customers don't know what Paypal is and don't realize they can just use their credit card.

Why build it on top of Stripe's API and lock you into a single (relatively expensive) vendor? You could build on top of something like SpreedlyCore and simultaneously support Stripe, PayPal Pro, and 30+ different payment gateways for hundreds of merchant account providers.
Stripe.js is a very well-implemented “or something”, where JavaScript that they’ll provide for you hooks into your credit card form with trivial work. (About ~6 lines for me.)

If, like me, you don't like the idea of loading someone else's javascript into your own domain, the "web page" side of things can also be done by dropping a single <iframe> tag into your HTML.

In case anyone is curious, here's Patrick's sales graph: http://www.bingocardcreator.com/stats/sales-by-month

You can see the big jump in May-July (although the jump for July is 32%, not 53%)

Oopsie. Thanks for the correction.
...I am not easily emotionally moved by git command lines...

This is going on my "best of" list of HN-related excerpts

My feelings exactly. That line literally made me feel warm inside for a second.

I am not easily emotionally moved by git command lines, but this is clearly somebody who understands me and what I need in life

"(A customer had — I kid you not — a lightning strike hit her computer during checkout, and as a consequence the JS callback fired 36 times. This resulted in 36 transactions, which Stripe processed without complaint. Oops."

I can't believe the good old 'computer was hit by a lightning bolt' wasn't in one of your test cases, Patrick! I mean it's so obvious :P

More seriously, that is one of the wildest reasons for a bug I think I've ever heard.

@patio11 Thanks a lot for mentioning me in your blog again. I was wondering why there was a spike in my visitor log.

I would love to do a redesign for Appointment Reminder if you're interested :)

Patrick, I'm curious how you have been using Stripe as you are in Japan and it seems they only recently began expanding out of America. Is the business entity behind BCC registered in the US?
I signed up with my US address and banking information. "By registering for a Stripe Service Account, you are confirming to be either a legal resident of the United States, a United States citizen or a business entity authorized to conduct business by the state in which it operates." (Though I finally got a DBA from Illinois, um, yesterday. Not related to Stripe -- a hospital wasn't thrilled with the notion of writing a particular flavor of check to a natural person.)
have to admit, that one of the reasons patio11 got Patrick (cofounder of Stripe) to help with customer support is because he's *the patio11

but great customer service is still great, no matter what.

Patrick is in the support rotation like most of us at Stripe. He'll answer your email too if you send it on the right day.
How do you know this for a fact?
I currently use FastSpring to handle purchases of my software. What's the advantage to using Stripe instead of FastSpring?
Dan, FastSpring’s CEO, here. That’s a good question. With FastSpring, you don’t lose track of your site visitors because we support cross-domain tracking. When a purchase doesn’t complete, you can see the order issues and resolve them as appropriate. You can experiment with various designs and flows because FastSpring order pages are highly flexible and customizable in terms of how the order flow can look, placement of various elements on the order page, etc. and A/B testing is supported. FastSpring all-inclusive, turnkey functionality is mainly UI based. Little coding is needed, it’s all there – functionality you need to launch and functionality you need to grow and maximize the business and its revenue. FastSpring pricing of its all-inclusive service includes the higher processing costs inherent in international transactions, Amex transactions, and certain alternative payment methods.

Here are some advantages to FastSpring: FastSpring works with developers and companies located anywhere US companies are authorized to do business, handles global tax compliance and tax payment management including for VAT, enables end users to pay using their localized currency to avoid bank/exchange fees and a poor US/USD-centric user experience, provides an order page localized in 20+ languages, has PayPal integrated, lets you skip the PCI Assessment Questionnaire, offers fraud prevention, a built-in shopping cart, Google Analytics and marketing ad campaign tracking integration, an unlimited number of easy to setup post-order notifications, designs an order page to match the look and feel of the other pages of the developer’s website, offers merchandising features for cross and upselling to maximize the average order size and optimizer order conversion, built-in notifications, a future bill testing GUI, pre-bill notifications for annual subscriptions, reseller and affiliate management, user role mgmt. & change tracking, consulting for SEO/PPC/Affiliate marketing/Online marketing/order page optimization, one-time purchases in addition to recurring billing, among other advantages. Hope that's helpful with your comparison.

Stripe allows you to charge customer on your site instead of redirecting her to other domain to fill out the purchase form. So, you lose track of your website visitor in a very important moment. If purchase never occurs, you have no idea why. On the other hand, with Stripe you have full control of complete purchasing experience, can experiment with various designs and flows - and measure everything. That enables huge gains with rigorous A/B testing, as Patrick explained.
Depending on your volume a lot of cash.

Fast Spring is 5.9% plus $.95 or 8.9% flat per order.

Stripe 2.9% + 30 cents.

Just curious: are there any good options outside the US?
At Spreedly Core we see a lot of European and Asia Pacific customers sign up due to our API and flexibility to change gateways. However, no one outside of Stripe (and so far Stripe is the only one in the US) who has nailed the instant sign up piece.
> "All three of these tests were null results. (i.e. No significant difference in aggregate purchases between either of the two options" (for goog&payp vs stripe, and several other combos)

This is a very interesting result. I would have thought that additional payment options would boost sales on the margin i.e. increase conversion by a couple of percent (not percentage points ;) for e.g. international customers, or people who already have accounts with GG/PP.

Patrick: Any chance you could elaborate a little more here? Would be very interesting to see some more detailed stats on this aspect.

I can't wait to sign up for Stripe, as soon as they accept currencies besides the USD!

My bank account is in the states, but I need to be able to charge Europeans in euros, Brazilians in reais, Japanese in yen, etc...

"Suffice it to say there is a) a customer group which needs between 8 and 15 cards and b) they really, really like pretty checkouts."

I think this is more "people who are on the margin where they MIGHT be interested in paying for more cards can be convinced when they hit the pretty checkout page". If you don't need more than 15 cards, you probably don't have a burning need for the paid version.

"Is Stripe available outside of the US?"

"Currently Stripe is US only..."

that's nice but you arn't US based because you live in japan so how did stripe let you in?
could it just be his audience, I'm incredibly against adding my credit card on any site.
Or spend a few hours, get a merchant account through a bank and authorize.net with much lower fees and a pretty standard API. Tons of classes to use authorize.net with and super simple... no point of adding ANOTHER layer... charging with a merchant account is trivial.
I've never heard of this service before but it looks quite interesting. I wonder though, how feasible is something like this for paying membership dues in a small club, for example? Is there some other service does this a lot better?
Stripe is a great service, but I get the feeling their PR company or marketing department promotes extensively here (Makes sense since its the target audience).