Recently I finally set up a shopping site for me to sell some of my art and other merch. In doing so I evaluated a bunch of different shopping cart providers, and decided I should share my findings.
This is of course not an exhaustive list by any means; it only covers the providers and mechanisms I evaluated in trying to build something functional, quickly.
Also this is only for situations where you’re self-fulfilling your own goods; on-demand manufacturing is an entirely different situation (and for that your best bet is probably Threadless).
These providers do everything for you, end-to-end, and are generally the easiest to work with, but also the most expensive to use.
Gumroad primarily exists to serve the electronic downloads market; ebooks/comics, music, that sort of thing. It does support physical items (and in fact I already had a presence with them), but while it’s fine for downloads, it leaves a lot to be desired for physical goods. For example, you have to set up your shipping options on a per-item basis, there is no cart mechanism (allowing people to combine shipping/orders for multiple items), its variation support is pretty weak, and there’s a lot of features that they lock behind a “pro” account, which means having to pay a rather hefty monthly fee, starting at $10/month.
“Pro” accounts features include:
- Custom layouts, including using your own branding
- Use your own domain name
- Commissioned works
- Video streaming
- Bulk-rate merchant fees
On the plus side, they do allow setting flexible pricing (i.e. “pay at least $X”) although the user experience isn’t great (people who have tried to buy my items get confused as to why it doesn’t let them, because they don’t realize they need to fill in a number). They also let you sell subscriptions to episodic content, which is nice.
All payments are handled via Stripe.
There is no general marketplace where people can search items generally, although they do offer a “Gumroad Discover” service where they will sometimes recommend your items after people buy related items from other sellers, although they charge an additional 10% commission for this.
This is probably the best-known shopping marketplace out there. It provides both a general marketplace (for people to search your things globally) as well as per-store pages. As far as I can tell, all pages are still undeniably Etsy-looking.
Etsy charges a $0.20 base listing fee per item, and each listing is good for one month. So if you have a lot of items, you’ll be paying a lot per month to keep them listed. You can also pay an additional $10/month for Etsy Plus, which gives you 15 “free” listings per month (i.e. $3 worth), $5 of credit in their site-wide ads system, and the ability to use your own domain and a bit more customization of your store. They also give you discounts on various vendor services like custom shipping boxes, business cards, and so on.
The big advantage to Etsy is that it’s where people go to buy certain sorts of craft goods, so you tend to get better exposure for certain product categories.
The great-granddaddy of all the Internet marketplaces. You probably already know about them. Per-item listing fees which vary based on the sale price of the item, the ability to offer them at auction, pretty-okay-but-not-at-all-customizable “store” pages, and a rather… well, not-great marketplace that’s not really intended for the sorts of things I’m trying to sell, personally.
Well-regarded by various folks I talked to. Gives you complete control over everything; pricing starts at $4/month. It’s a bit over-the-top in terms of functionality for what most people need, though.
As mentioned in a billion podcasts and YouTube sponsorships, this place is very well-known. They’re a complete end-to-end site builder and also provide shopping cart functionality. I haven’t looked into the details; as a professional software engineer who cares deeply about the IndieWeb, the thought of using their reductive, bloated, locked-in, template-based CMS gives me hives. But, you do you.
This is what I ended up going with to start out. They provide quite customizable storefronts (with your own branding and the ability to change your theme and layout), they let you list up to 1000 items per month for free, and they also have a global marketplace that people can search for items in. If you need to list more than 1000 items it costs a monthly fee ($15/month for 2000 items, $30/month for 5000); paying this fee also allows you to use a custom domain and provides a few more basic features, but at that point you’re probably better off using PrestaShop instead.
Their item setup is a little bit annoying, although not too bad. Setting up shipping is fiddly and probably the worst part of setting things up, and thumbnails default to center-aligned squares, which isn’t great when you want to change the highlight focus to, say, the top third or whatever. But they’re always working on improving things.
The item editor is a bit limited, and there’s no way I can tell to, for example, filter items by shipping class, or find items which aren’t in a collection. Bulk-editing options are pretty much nonexistent.
It does have pretty nice variation support, however; for example, you can have multiple variations per item where each one has a different price and stock pool. Pro accounts give more control over variations (such as separate images and possibly different shipping classes although I’m not sure about that last one). There is no provision for making customizable variations, however, at least not on free accounts.
Marketplace sales charge an extra commission, but you can adjust your prices to account for this. Marketplace pricing is pretty flexible, really, and seems pretty fair in general.
The main reason I went with this was because it was free, let me list all my items, and gave me enough customization without being annoying about it. Basically they just seem like their priorities are in place to make it easy and affordable for people to sell stuff without it necessarily being their full-time thing, and I really appreciate that.
Unfortunately, they do have a couple of downsides; they don’t allow you to link to your products on other storefronts (so for example, having an associated link to a Threadless or Bandcamp page is out of the question), and they seem like they can be a bit capricious about fanart. So, Storenvy seems good as a secondary place to list your goods to get some amount of marketplace placement, but it doesn’t necessarily cover every use case.
These providers let you embed store functionality on your own site.
This is PayPal’s basic embeddable cart offering. It requires a PayPal business account.
The cost is basically “free” on top of PayPal’s usual merchant fees, making it one of the cheapest methods out there.
They offer a cart, “buy it now” buttons, donations, subscriptions, various payment methods (including payment plans, direct debit, credit cards, etc.), and also have various optional shipping method configurations, inventory tracking, and so on.
The main downside is that you’re stuck using PayPal, which some people dislike for various reasons. (Personally I think they’re valid reasons but explaining them is outside of the scope of this article.)
Ecwid lets you set up your products on their own management portal, and then you can embed their store widget into your own arbitrary page. They also provide a basic CMS to set up an arbitrary page, although it’s a rather annoying thing to work with.
It provides really good variation support, and even allows adding multiple customization options, including text boxes that people can fill out, which is nice. It also has pretty good shipping setup, and lets you use various third-party shipping APIs to determine pricing.
I almost ended up going with this, but I ran up against a very hard limitation: free accounts only get 2 categories and 10 items. Any more than that, and you need to pay $15/month, making it more expensive than any of the fully-hosted options. The design of the widget embed also didn’t provide any real advantages anyway (and it is entirely terrible from an SEO standpoint), so this very quickly went from “oh this is great” to “oh, this sucks.”
I almost ended up going with this one, until I noticed the fine print on their pricing.
The shipping stuff seems pretty comprehensive although I haven’t looked in too much detail.
They also provide a separate development sandbox, which is something sorely lacking from most of the services I evaluated.
Pricing is where they fall flat, however. They charge a 2% commission per transaction, on top of the merchant fees, which is totally reasonable. However, this comes with a big caveat in tiny, light-gray low-contrast text – there’s a $10/month fee minimum. I don’t make even remotely enough sales for this to be worthwhile, so I will not be considering them for my own needs in the forseeable future. (And I’m glad I noticed this before I got charged $10 for them providing literally nothing!)
This is where things get a little… intense. These things are mostly intended for folks who are building A Web-Based Store and basically want to run their own version of Amazon. If you’re reading this guide, these options are probably not that useful for you; it’s akin to building a car wash just to clean your bicycle.
This is an open-source self-hostable cart-and-inventory-management-and-storefront-and-everything-else thing. It’s sort of the WordPress of cart systems, with a huge theme/template/plugin ecosystem and a lot of corporate backing.
Speaking of WordPress, this is a well-regarded plugin for adding a cart and payments to a WordPress site. I don’t use WordPress so I haven’t actually investigated it further, but at a glance it supports a metric buttload of payment APIs, shipping calculation APIs, and a bunch of other stuff. If you’re already running WordPress this seems to be the way to go.
Listed here as well as above because it’s open-source and can be self-hosted. The base package is free, but unfortunately does not include any payment gateway support out of the box, and all of the gateway plugins are pretty expensive (for example, Square costs $175).
These are APIs that you can use for rolling your own cart, so to speak. This is probably the most intense path to take and not for the faint of heart.
It’s PayPal. Figure out your own shipping, tax, inventory, etc., and hand off a value and other metadata to PayPal and they give you a callback when the money comes in.
The PayPal API, except Stripe. They have fewer actual payment mechanisms available, but they do allow Apple Pay which is nice if you’re into that sort of thing.
The PayPal API, except Square. Gives a bit more flexibility than PayPal and Stripe in that you provide line-item details instead of a total value. Or maybe PayPal and Stripe support that too? I’m not sure. Anyway. It’s a payment gateway. It does payment gateway things.
As of November, 2019:
- If you just want to get a small store up and running as a hobbyist and don’t want to pay a monthly fee for the privilege, the best option seems to be Storenvy
- If your needs are a bit more complicated and you sell enough to justify a monthly fee, consider PrestaShop which has better features for a lower price
- If you want to self-host on your CMS of choice and don’t mind using PayPal, consider the PayPal web payments API
- If your site is already WordPress-based, WooCommerce is probably your best bet
For myself, I will likely keep my Storenvy page up to gain their marketplace exposure but will end up setting up my own, more-flexible site using the PayPal web payments API. It’s a bit more work, but it’ll be worth it in the end.