Grow your CSS skills. Land your dream job.

eCommerce Considerations

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.

Reason

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.

Scope

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?

Scale

  • 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)?

Technology

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.

Specific Features

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
  • Weight-based?
  • Quantity-based?
  • Cost-based?
  • Per-item-based?
  • 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.

Support

Are there user forums? Do you get support from the company itself? Is it free or does is cost money?

SEO

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?

Gateway

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.

Access

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.

Comments

  1. Great article. I’m starting to dive into the whole e-commerce thing.

    Have you dealt much with the WP e-commerce plugin? I just recently started using it since I’m a “wordpress nazi” as they say. The only feature it doesn’t support right now is the ability to customize the email that goes out for each individual product. Other than that, it’s pretty neat. I use PayPal as the gateway (not Peachfart).

  2. This is perfect timing! I am currently researching eCommerce options for a few different people and these questions are super helpful. Thanks.

  3. If your looking for a very simple solution check out Milksites, a new up and coming hosted cart solution. Milksites is all about stores being simple, originally designed for non-technical people.

    • Permalink to comment#

      I’d love to answer any questions anyone may have. Much of what you see on CSStricks can be employed in a Milksites theme design as they are fully customizable.

      Anyone who’s designed a Milksites theme can say it’s a cutting edge system that takes the template out of template design. :D

      877-235-2105

    • Permalink to comment#

      Aaron, if you have any questions about how Milksites can make ecommerce and design simpler for your clients, check out
      milksitescom

    • Mike,

      I have a question, what is the cost of milksite. You show no cost up front, pricing tier and your product seems to be a little hidden in the areas of being up front.

      30-day Trial? Equals sucked in and dumped with out knowing what the actual cost is going to be. More importantly, wouldn’t you want to have the customer know the cost so they can plan for a budget on their eCommerce site?

  4. THx for this i’m sure it will help !

  5. Darfuria
    Permalink to comment#

    Excellent article.

    For those WordPress fans amongst us all, check out Shopp – which is a fairly new plugin that wipes the floor with WP e-commerce.

    • I have used Shopp recently for a client and found I had to do a lot of work to make the checkout sections presentable.

      In fairness, I’m not using Shopp exactly as it was intended, but I will be looking for alternatives before using Shopp again.

  6. Wooowa! Thanks chris, that list of points to consider has just completely reinsured my decision to use Magento for a current client project!

    • Jay
      Permalink to comment#

      Make sure you have the hardware necessary for supporting Magento. It is *extremely* process hungry according to reports, and anything below a well specced dedicated server isn’t going to cut it. It’s the primary criticism of what looks to be an excellent product (if you don’t mind having no support, bar on the $10k/year option).

  7. Ryan
    Permalink to comment#

    Well I know your point wasn’t to compare carts, but I think a cool list would be popular carts. You google ‘shopping cart’ and get everything under the sun that’s old, written on .NET, closed, etc. A consideration for us developers is whether it’s open, has documentation, easily integratable, etc. You mentioned FoxyCart, someone else said Magento. I guess a couple other popular ones to consider are Shopify, Goodbarry, but I’m sure there are others that should be on the list, anyone care to expand on that? How about E-Junkie for example, anyone know anything about them?

  8. sam
    Permalink to comment#

    I would love to see a shofify api..

  9. Thanks for the shout out. This is a great article. I just purchased the Shopp Plugin for wordpress and I think I love it. It is built as if it was from wordpress. I am building a site now with it and it is making my live easy. Plus there is a lot of good information about the plugin on the site.

  10. Jose
    Permalink to comment#

    Chris, you tha man.

  11. What typeface is being used in the header image and next to the green checkmarks? Love it!

  12. Donna
    Permalink to comment#

    Great post! Other than the odd post here and there, so few blogs address ecommerce and it is needed so badly. I keep hoping there will be some “ecommerce for dummies” tutorials. Thanks for always being so on-target for what people need!

  13. Thanks for your time and sharing these eCommerce considerations when building a website.

  14. On a side note, what font is that in the headings?

  15. Tom
    Permalink to comment#

    Great overview. I’ve had that peachfart conversation with clients too. I recently had a nightmare time trying to integrate some obscure gateway that the client had signed up with. For me, the ease of integration with payment gateways is the first feature I look for with shopping carts.

  16. Good post, very good!

  17. Tis is a comprehensive list of things to consider. I’ve tried many ecommerce platforms over the past few years (in particular open source), and ultimately settled with cubecart. All things considered, the main factors in this decision were, one i liked the way it was coded. Cubecart is built using CSS layouts which was a fundamental requirement. Also, the design files are totally separate from the functionality, giving you total control without the risk of damaging anything.

    Also an important factor as you have mentioned, is the community. I know that there will always be help, should I require it.

    However, over the last few months, I continue to hear good things about magento.

    I think its safe to say, that whatever eCommerce platform you choose, its important to go through a list like this, in order to expose your requirements as every ecommerce project will be slightly different from the last. For an effective solution the eCommerce must fit in with the current business processes of the client. If the client uses sage for accounting, then a solution to integrate to this would fit their business for example.

  18. Permalink to comment#

    How about a poll so everyone can vote for there favorite e-commerce platform?

    • A poll would be sweet but I’m not sure the best way to approach it. There are literally hundreds if not thousands of eCommerce choices. Maybe I could list what I see as the “top 10″ and then list and other and encourage discussion. I just fear the results of the poll being kind of useless if there is a fair dispersion of choices.

    • What would be really helpful is a Pros/Cons comparison chart of the top 10 or so? Something that will expose strengths and weaknesses of each platform.

      Also, I really like the ecommerce summary you have provided. I could see another way to add some more value to this topic might be if maybe you (or someone) could even put this post into a simple questionnaire type form (downloadable Word doc) that could be used by developers to survey clients before getting into a project? Kindof like a check list of basic requirements. If someone put this together and made it downloadable we could all benefit.

      Of course you don’t see me volunteering to do it! :)

      Thanks for the post.
      ~Jeff (MileHighTechGuy)

    • Permalink to comment#

      Yea there are a ridiculous amount of e-commerce solutions, I know I spent weeks just browsing to see what options were available, turned out there was waaaay too much. Most of the choices too complicated or have pathetic back-ends.

      For people unfamiliar with e-commerce, making a list of what you need from the software is one thing. Actually hunting down the right software for you is a nightmare if you haven’t done it before.

      Some kind of breakdown, would be nice. What would be even nicer is a list of say 10-15, which people could comment on individually and give there opinions.

  19. Permalink to comment#

    +1 for the poll. Good article though

  20. Great post. I currently have 4 design projects on the table all requiring an eCommerce solution. Therefore I have been doing a considerable amount of research to come up with a solution that fits each projects individual needs.

    That is the main idea here-as Chris has well illustrated. There is no “one size fits all” solution.

    So what are my reccomendatons?

    For simple bolt on cart: Foxycart

    For client modifiable products and easy customization : ModX cms with Foxycart

    Full blown, full featured store: Magento

    These recommendations have all of the features we love and need:

    -Open Source or very cheap
    -Host it where you want on YOUR server
    -Modern technologies like Javascript and PHP.

    Good luck

  21. remo
    Permalink to comment#

    I personally prefer osCommerce, but I agree with the gist of your article, there are many choices out there and no “one fits all” solution. For a comparison of open source carts check out http://www.itwebexperts.com/oscommerce_zencart_xcart_comparison.php

  22. Permalink to comment#

    Helpful ;)
    Thanks.

    Kind regards
    Rata

  23. Permalink to comment#

    peachfart? aahahahaha :P

    I had NO idea how much work was involved when I started my first e-commerce project. I’ve done a few now, and I despise them!

  24. This was a very helpful article. I get clients asking me if I build sites with e-com and I usually say no or I can find a guy who does it for me. I guess I’m just not a “real” programmer and that’s why it’s taking me so long to learn how to do this.
    It will take me a good 3 months to understand and build one for testing at least and another three to try a different choice for less complicated shopping carts.
    Thanks Chris.

  25. So what do people use as their #1 payment gateway – you know to actually process the payments? I’ve experience with PayPal only and wonder what other gateways people here use…

  26. Permalink to comment#

    Also another thing you should consider is SSL.

    If you need to accept credit card details on your site then you need to make sure your customers are safe.

    And you also need to check your hosting package allows unique ip addresses for domains else you won’t be able to have SSL on your domain.

  27. Permalink to comment#

    That’s the clear and useful list of points for consideration, but I’d really apreciated if it follows some eCommerce solution review… I know that there are zillion ones, but…

    anyway thank you for summarized that up :)

  28. This was a great read!
    You may want to check out our WordPress ecommerce themes as an alternative to the WordPress ecommerce plugins.

  29. From personal experiences Sagepay/Protx is an ideal payment gateway to use if you are starting a new business online but dont want your customers to realise that. The payments are low and are renewed every 3 months. I always feel Paypal is a bit unprofessional and sometimes seeming desparate.

  30. Permalink to comment#

    A lot of my clients use Beanstream (CDN) so I use Oscommerce with the STS template for making layouts that much easier to use.

  31. My vote goes tooooo………….OsCommerce!!

  32. Permalink to comment#

    I would say prestashop. Really has a lot of flexibility on the css designing side. And great module based back office.

  33. Permalink to comment#

    Excellent post, thanks!!! I also like the poll idea for the TOP TEN!!

  34. I do love the way things like CMS and hopping carts advertise SEO as a ‘feature’, yet don’t bother to mention that the output can be made visible on the web. Strange when the two are exactly the same thing!

  35. I’ve been working with shopify for the last few sites. I’m enjoying it.

    Foxycart seems like a good solution for smaller stores or selling a few items. However, I don’t like that a thumbnail of your item does not appear in your cart.

    Whatever’s clever.

  36. TeMc
    Permalink to comment#

    Great article !

    I use WP E-Commerce for all e-commerce projects I have, whenever possible. I think this WP plugin is not only capable of doing the job in most situations it’s also very easy to use, automaticly uses the WP Theme, ideal when having a blog/website aswell handled by WordPress, multi language, lots of extra things (for example you can install the Dutch language and by Googling you’ll even find paymant modules for iDeal Netherlands Banks etc. ).

    Forums and IRC included aswell. And also very easy customizable (for instance, I wanted to re-arrange the checkout page a little and the php-file for that was easy to find and had comments in it).

    Also lots of CSS classes and hooks to customize it even further.

    PS: +1 for the poll. Maybe a poll with checkboxes so we can choose more then 1 :P

  37. Permalink to comment#

    Here’s kind of an odd question:

    Do you know of any e-commerce solutions that have options to NOT process transactions online? Sounds odd right? Well here’s our scenario:

    The only thing we “sell” on our website is registration for our Spring/Summer classes and gift certificats, but since the class list is a physical list on a clipboard, the way we’ve always processed the transactions was to securely send the credit card information to our accounting department and each is processed manually (after a phone call to confirm the class isn’t already full).

    This is just the best way for us to do it instead of issuing a bunch of refunds after the fact.

    Do you know of any solutions to match our model?

    • I think I’d just create a form (probably Wufoo so it’s surely secure) and collect the credit card information there, just being very clear in the description about how you handle things (don’t charge until a spot in the class is secure).

  38. Dan
    Permalink to comment#

    I have built one Drupal + Ubercart site and I really think it went well and has been having minimal issues. The community support has been very good to say the least. If you look at some of the stores that have been built, I would say it’s a very powerful system. A really nice example I found today is Dogfish Brewery

This comment thread is closed. If you have important information to share, you can always contact me.

*May or may not contain any actual "CSS" or "Tricks".