Published by Chris Coyier
Building an eCommerce site? There are a zillion options. In a recent group interview about eCommerce, I talked a bit how I think it's weird that all these eCommerce software solutions are also CMSs. At the root of things what you really need is a cart and a way to process credit cards (which is why I like FoxyCart).
But of course there are also a zillion different considerations. A CMS solution might be perfectly ideal. This article is intended to help you walk through those considerations so you have a clearer picture of what you are dealing with. I'm not going to tell you what solution you should use, but you can use that refined pictured to help you choose an eCommerce solution.
Before get yourself into all of this, you need to take stock on why you are building this eCommerce site. To sell something, obviously, but you don't necessarily need to build a brand new site to sell something on the web. You could, for example, sell products on eBay or having an Amazon store. Having your own store gives you control, gives you branding, and saves you from extra cuts from the middle man. But having your own store also leaves you on a raft in the vast ocean of the interwebs. Promotion will be on you.
Is this site going to be purely an eCommerce site? Sure the site might have a unique homepage, probably some static pages for things like "terms and conditions", but otherwise is this site made up of products and ways to get to those products?
Or, is eCommerce just a part of the overall picture of this site. Perhaps you need a blog, forums, movie galleries, who knows what else.
This is an particularly important thing to consider when choosing what software to use. If you are looking at a CMS-style software, how well does it do non-product-based CMS pages? Are you comfortable using one CMS to run the eCommercen and another CMS to run the blog? Or is that going to be too big of a pain in the ass? Can you somehow use the blog CMS to power the eCommerce too? Vice versa?
- How many products are for sale?
- How many users to do you have / expect to have?
- How many transactions to to expect to process? Traffic?
- How many administrative people do you have?
No eCommerce solution is going to tell you that they don't work for high number of prodcuts / high traffic / high transaction website, but of course, some are better suited to it than others. For example, if your store has 1,000 products, how is the user interface for browsing and finding that product for an update? Is it easy to search for it, with good results? Do you have to browse? How about finding user accounts? Can you search by phone number (if that is something you know you'll need to be able to do)?
Do you already know where this site is going to be hosted, and technology you will have available? It would be a bummer to make the perfect eCommerce software choice only to find out the host was unable to to provide the version of MySQL you need (or something like that). Hopefully you have a flexible enough host to accommodate, or are in a position to find suitable hosting after you have made your choice.
Clearly this is the area you'll need to put in the most time. The reason there are so many different eCommerce software packages is because there are so many different possible feature sets. No one software has every single possible feature, because it would be absurdly bloated. Here is a big ol' list of things to think about
Coupons / Discounts / Vouchers / Gift Certificates - Not just "do they have them", but look closely at how they work. A client may want to offer a special code for $10 off an order of one specific item if they order 3 or more. Then you find out the cart has coupon codes but they only work as a discount on the total value of the order only.
Inventory Tracking / Backorders - If inventory is important, you should look closely at how it works. You probably don't want to be writing this yourself. One important consideration is how things behave when inventory runs out. Do you have options?
Recommended Products - Cross-selling is effective, how easy does this software make it? Do you have specific control? Does it to it automatically based on sales?
User Reviews - Can users leave reviews of products? Is that good or bad?
Shipping Options - This probably should get it's own main section of this article because it is so important. Companies can be weird about their shipping. And just because it sounds cut and dry at first doesn't mean they won't come knocking with some curveball in how it needs to work. Here are some shipping-specific considerations:
- Calculation/Integration based on major carriers: UPS, FedEx, USPS, DHL
- Free Shipping? (as a whole or on specific items/promotions)
- Combinations of all of the above
- Taxing of shipping?
International Support / Different Currencies - Is this store going to be based or accept orders internationally? Do you need to display prices in multiple currencies? Can users switch between currencies? Do you / Can you set different prices by hand or does it / can it happen automatically based on exchange rates?
Addresses are also formatted differently in different countries, so take care to make sure that the checkout isn't awkward for the customer in any of the countries you support ordering from. For example, a "state" shouldn't be required if the shipping country doesn't have "states", and the software should know that.
Integration with other systems & Importing / Exporting - It's nice to not feel trapped in any one particular software. Good honest software will work with open formats and allow importing and exporting of those formats. This may be of particular importance to you if you plan to integrate with other systems. For example, something like Google Product Search, which requires you to submit your product data periodically in special formats. Send a newsletter? Perhaps user signups could integrate with MailChimp or whatever other email marketing system you may use.
Search - Any CMS is likely to have search, but how good is it? If you have thousands of products, it better be pretty damn good. How much control do you have over the results? What areas does it search in? Does it match how you expect your customers to perform search (for example, by product code)?
Organizational Possibilities - How are products organized? Categories? Tags? Hierarchy? Does this match how you envision the products being organized?
Customer / User Benefits - Do users get accounts? Is that good or bad? What are users able to do? (e.g. save commonly placed orders, check order status, etc).
Statistics - What kind of reporting do you need? Analytics? Goal tracking? Sales reports? Graphs/Charts?
Checkout Process - How many steps is it? Is it intuitive feeling? Does it accomodate specific scenarios you may need? (e.g. multiple shipping locations, splitting payment across multiple cards, field for including special information, etc.). Don't underestimate this part, as this is where client curveballs can be the most painful. What seems to them like a little thing, say multiple shipping locations, can turn into a monsterous painful project from a development angle.
Popularity / Community
Fifty million Elvis fans can't be wrong, right? Popularity in software often equates to quality. You should definitely not chose by popularity alone, but once you've looked at all the other considerations you'd do well to chose the more popular choice. This isn't just because the more popular software has likely proven itself over time, but also because if you need help on something down the road, you are far more likely to find it with popular software than obscure software.
Are there user forums? Do you get support from the company itself? Is it free or does is cost money?
This is often listed as a "feature" of the cart. In some respects it can be, in some respects that claim is absurd. Much of SEO is common sense. It has to do with quality content, incoming links, and the trust your website has built. Even the HTML structure of your page is important, but that is likely controllable by you and how you skin things / build your template.
No eCommerce software can help you with common sense, but it can be helpful with some practical features. How are the URLs formatted for product pages? Do they look like crazy gibberish or do they look nice and clean and include the product name? Are you able to control page titles on a page-by-page basis if you choose? Can you you set Meta descriptions and keywords? Is the templating system flexible enough for you to build your theme with intelligent, semantic HTML?
Does this company already have an existing relationship with a credit card processor? How attached are they to it? I find these gateway companies have a funny way to digging their tentacles into companies and brainwashing them into thinking they are the only/best choice. Here is a conversation I've had more than a few times:
Hey Chris, we would like to switch to use Peachfart to process credit cards on our website.
Why? It it totally irrelevant to your customers, and their transaction fees are exactly the same as PayPal. If something goes wrong with PayPal I can probably find information about it on the web. Peachfart doesn't even look like they have support forums. Plus I've never heard of them. If you were buying a car that looked and drove exactly the same, would you buy the Toyota or the Fjakmarika?
Still, if the company has a pre-existing relationship with somewhere like Peachfart, you may need to look for eCommerce software that supports it. Good luck.
How many people are ultimately going to be using the backend? Is there a main administrator? Do some IT staff need access? What about Bob in shipping? Maybe the secretary needs to check on the status of orders for phone calls sometimes?
If you know or can anticipate some of these needs, you can look at what kind of access levels are possible with different software.