Some shopping cart comparisons

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 Redbubble, although I personally mostly use Threadless).

Updated, February 20, 2021: Added information about ko-fi, removed recommendation for Storenvy

Updated, February 9, 2022: Added some stuff about Gumroad, bump ko-fi up to top recommendation, add some terminology explanations

Some helpful terminology

  • Variation: More than one kind of a physical product; for example, a book coming in both hardcover and paperback, an enamel pin coming in different colorations, or a shirt coming in different sizes.

  • Marketplace: An area where a customer can browse or search offerings from multiple vendors.

  • Payment processor: The entity that handles the actual transfer of currency from buyer to seller and the fiddly bits of assessing sales tax/VAT, refunds, and so on.

  • Fulfillment pipeline: The mechanism by which the seller gets products to the buyer, not just in terms of the physical aspect of it (packing up a box and shipping it) but the logistics involved (being notified of or otherwise keeping track of pending orders, notifying the customer of tracking information, etc.)

  • Shipping options: Being able to provide different options for shipping method and speed, which often varies a lot by the product size/weight/type (for example, USPS Media Mail can be used to ship some items at greatly reduced cost but has severe restrictions and is subject to inspection). Advanced shipping option systems also provide the ability for one order to contain multiple items and thus have less total shipping than if they were ordered separately. The logic for this can get enormously complex.

Fully-hosted options

These providers do everything for you (hosting the website, managing inventory, handling payments, etc.), and are generally the easiest to work with, but also typically the most expensive.


Previously just a tip-jar system with subscription support as well, Ko-fi now has a fully-fledged storefront, called Ko-fi Shop, which provides pretty great flexibility in the items you sell, also allows selling one-off commissions, and lets you accept both PayPal and Stripe payments. Their merchant fee is 5% on top of the payment provider’s fee, or you can pay $4.50/month to have the merchant fee waived entirely. In my opinion, this is the best platform to go all-in on, as they’re run responsibly, care greatly about their community, and have a laser focus on being a sustainable business that benefits its users. (And that also applies to them as a substitute for Patreon.)

I have not yet set up a physical shop there, so I do not have any insight into what support they have for physical variations, shipping options, or fulfillment pipelines. I keep meaning to, though.

Be aware of their acceptable content guidelines, but that’s going to be pretty typical for any of these platforms.


(Disclaimer: I am an investor in Gumroad, as of March 15, 2021.)

Gumroad primarily exists to serve the electronic downloads market; ebooks/comics, music, that sort of thing. It also supports physical sales, with somewhat reasonably good options for product variations, combining shipping, and generally making it a better experience for both buyers and sellers.

“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.

Recently, Gumroad has come under fire for a number of reasons, including being potentially-supportive of NFTs (and their CEO being all-in on it), the model by which they pay their employees (everyone’s basically a freelancer), and the CEO having some questionable public behavior when engaging with users of the platform. These issues may make the platform undesirable for many folks.


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. As such it’s good for selling general-interest craft goods, but not terribly great for creator-specific merch.


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. But for some folks it works pretty well.


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. They are also incredibly spammy, both for sellers and for buyers, and I generally get a bad vibe about them these days.

Amazon Marketplace

One of the largest shops online. Items are free to list, and for a storage fee they will also handle the packing and shipping for you (“Fulfillment by Amazon”), so if you sell a lot of stuff this can be a pretty good option. However, their fees are enormous (even for self-shipping), and it’s almost entirely a marketplace-only offering; while individual store pages do exist, they’re extremely downplayed.

This is also only good for selling mass-produced items; while some vendors do manage to use Amazon Marketplace for selling one-off or custom items, it’s extremely not suited towards that.

Also, it is extremely awful for selling books on; Marketplace sellers are only allowed to list their books as “used,” and their Fulfillment by Amazon practices have a tendency to destroy/mangle items.

Specifically for books they have a different program, Amazon Advantage, which sucks in similar ways; high fees, terrible fulfillment, and small-press publishers being treated like garbage.

I cannot recommend Amazon.

Embeddable options

These providers let you embed store functionality on your own site.

PayPal web payments API

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.

Integration-wise, they are very similar to the PayPal cart; they provide a JavaScript library that parses the data on your own page to provide a cart interface. This API is pretty flexible and easy to work with. You can make things fairly complex, with plenty of support for variations, customizations, and so on. They also support crowdfunding campaigns.

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!)

Self-hosted options

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.

Setup for it seems quite intense. It also doesn’t come with any payments processors built-in, and instead relies on third-party plugins, most of which are either quite expensive up-front or make their fee structure difficult to ascertain.


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.

There are other WordPress plugins (such as WP EasyCart and WordPress Simple PayPal Shopping Cart) but WooCommerce is the only one that people recommended when I was asking around.


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).

API-based options

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.

PayPal Commerce Platform

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.

Stripe Checkout

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.

Square Orders API

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 February, 2022:

  • 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 Ko-fi, with Gumroad being viable if you aren’t concerned about ideological issues
  • 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
  • Capitalism sucks


Before commenting, please read the comment policy.

Avatars provided via Libravatar