The problem of people who want to start an online store, in my experience, is to find companies that want to sell them products they do not need. It is very common to see a man who only sells a couple of products that has a super mega-expensive hosting, and he thinks it is the usual, simply because nobody told him any alternative. Before beginning the online shop, you must ask for advice, which is free, to at least 10 different companies / freelancers.
People who will start an online store are like these:
- A person having a good business idea and wants to start an online business from scratch, without having physical store
- Physical store that wants to have online store
- A person who already has an online store but wants to renew it because it is outdated or he thinks that he is paying an amount too high of money each month for a "specialized hosting for online shops".
Although I can simplify it more: People with basic computer skills and people who do not have these skills. If a person has no computer skills, or does not have time to deal with the online store, then he needs to delegate all on a company specialized in online stores. I don not like this kind of companies, they are often quite expensive relative to what they offer, and many of these companies sell obsolete software, but as customers that do not know anything about computers, no one will going to complain. Also when a customer realizes what they are doing, and he wants to quit, they put all sort of obstacles to give him his data.
As a programmer, there are two kind of online stores, the ones than can be done with a CMS, and the ones that must be developed with custom programming. When to use one or another? All depends on the shop scheme that the client requires.
CMS like Prestashop, Magento, etc ... are used in these cases:
- The customer has no previous website, and the shop scheme is typical: categories, products, deals, outlet, etc... therefore a CMS suits him perfectly.
- The client already has another CMS like Joomla, Wordpress, etc... and he wants to integrate a store, in this case if you have a Wordpress, install an online shop plugin like Jigoshop, etc...
- In the customers store scheme are some things that can not be resolved with a CMS, but you can develop / modify an existing plugin for that CMS and solve the problem.
- The customer likes the typical navigation design of CMS online store: home-list-detail, etc... and also likes the standard layout with header-columns-footer.
The CMS advantage is that initially with a few hours of development, the store is finished and ready to run; the problems may come later, if the client, once the store is running, wants to add new features to the store that are not easily achievable with a CMS.
There are many cases where it is impossible to use a CMS to give the client all the features he wants. Therefore it is very important that the customer make a scheme / briefing of all the features of the store before contacting any company / freelance for development. You will need a custom programming if...:
- The customer wants a unique custom design that goes beyond the typical template layouts mentioned above.
- He needs features that are difficult to resolve in a CMS, such as a virtual product tester, a product customizer, complex rules of pricing or shipping, etc...
- The online store scheme itself is not the typical catalog-cart-checkout-payment.
- The store needs to integrate with the management software of the physical store (like an ERP), and this software is very old or "closed" (most common).
Resuming, any scheme that goes beyond the typical used by a CMS.
The problem is that custom programming will be more expensive and will have to define every feature accurately.
The customer can't say that he wants "everything that comes with Magento". In custom programming, you'll have exactly what you want in terms of design and programming, but you need to define and pay every feature.
Resuming, for make an online store the first thing is to write everything about it in a document, and then ask ask ask, not stay with the first company / freelance you contact, find economic proposals, and try to escape whenever possible of "companies that are specialized in online shops where you will get everything done" because you will probably be paying a monthly fee for a generic shop solution they give to you, not the one you wanted.