There are many solutions for creating your own online store. In specific, I considered Squarespace (examples) and Shopify (examples: New World Next Week and The Highwire). As I have built my own Content Management Solution / Web Building tool (Jongleur) for generating static web pages, I had previously used Snipcart as that solution is built for static pages.
We have three web sites where people buy our products. Firstly, we have a site where we sell a Norwegian book. I built that site using WordPress with WooCommerce. Secondly, we have a site selling artwork, built using Jongleur (my own CMS). And thirdly, we have another Jongleur site for selling my book. Since we have multiple sites selling our products, we built one central shopping site (mpathic.shop), and we link the latter two sites to this web shop. This way, we get cross sales as well.
Since we sell our Norwegian book using Norwegian kroner (NOK), and our other products in euros (EUR), we have so far not integrated this first site with mpathic.shop. At a later stage, we will switch from NOK to EUR for that book, and start selling that book via mpathic.shop as well.
WordPress with WooCommerce is simple to use. There are many good tutorials online, and you do not need any coding skills. And, if you sell all your products from the same location and can handle the orders manually, it is fairly easy to get started.
Our challenge was that we sell different products from different locations. Our Norwegian book is distributed from Norway. My drawings are printed and shipped by a UK company, and lastly we are packing and sending my book from our own home office here on the Azores. To handle this, I have developed an ordering system on top of WooCommerce. My system supports different order types and executes different actions based on the type of orders. For example, the system generates CSV order files for the Norwegian company that distributes our Norwegian books. Similarly, it generates CSV order files (in a different format) for the UK company that handles the art prints. And, for the books we ship ourselves, the system registers the shipment with the local postal service, generates and prints shipping labels, notifies customers about their tracking number, and so on. The order system also automatically does the accounting related all our orders (via an API to our accounting solution).
I have built the online store for another Norwegian publisher, using the same tools (WordPress and WooCommerce). I integrated their site with a distributor they use. Order files are automatically sent to their distributor, and return files are automatically downloaded and parsed.
Personally, I can not justify using Google Analytics to track our users (as best as I can, I try to avoid surveillance companies). Hence, I set up our own installation of Matomo.
We are using Hetzner for renting cloud servers. Running a Jongleur site requires minimal resources, as the sites are static. With a single CX11 server, you can run many static sites. WordPress with WooCommerce requires more resources, though. Still, unless you get a lot of simultaneous users, CX11 will work for such an installation as well. DigitalOcean is an alternative place to host your services. I have used DO for years, and their support and services have been great. And, there are more alternatives to pick from.