This is a Quora question I was asked to answer. My answer is below.
There are many things that can make or break and online retail business but some key ones in my experience are as follows.
Marketing
Not understanding what your breakeven return on add spend (ROAS) is for each product by channel. This could lead to unprofitable advertising spend. The way to remedy this is to thoroughly understand your cost structure organized into a profit and loss statement by product and channel. This diagram and spreadsheet model can help.
Spending to acquire a customer and they only purchase once. You need to retain customers because in my experience, it costs 7x less to retain a customer than to acquire a new one. Even if you can profitably acquire a customer with a good ROAS, eventually you will run out of customers. It is better to think about your products and your offerings upfront in terms of how they can help you keep customers before you launch.
Website
Poorly designed website, where it does not look good, it is not very well organized, and hard to move around and find things.
Shopping carts with too many steps. Of course you absolutely want to design your checkout with a funnel to include upsell, crosssells and downsells, but they have to make sense to what the customer is already purchasing.
Shipping
No free shipping available.
No free returns with ample time to make a return.
Not informing them on checkout with their tracking code and estimated delivery date.
Now, that said, if you have an exceptional product that truly wow’s a customers, they may be willing to forgive many of the mistakes made in a website and the shipping, but probably not for long. For physical product, ecommerce is pretty easy to setup and get the above elements right out the gate, so better to do it before you launch.
Backend Operations
Lack of inventory management, which could mean you experience have out-of-stocks, and unless you have a unique, exceptional product without direct or substitute competitors, you may loose that customer. Or it could mean you have too much inventory that does not move and you end up soaking up valuable cash that sits in a warehouse.
Too many returns that ends up eating up a lot of your profit in trying to process returns and return product to inventory and/or disposing of.