Shopify app store vs. custom development
A few guidelines for when you’re unsure whether you should go with an existing app from the Shopify app store, or with custom theme and app development. The differences and key questions to ask yourself.
If you need a new feature on your store, chances are you’re thinking of installing an app.
In general, it’s the only way to extend its functionality, if your theme doesn’t support the feature. (And themes can’t technically support certain functionality.)
So that leaves you with apps, and there are thousands of them available on the App store.
Or, a different option would be to create a custom app of your own, or develop the feature on the theme itself.
So which one is the best option for your case?
Here are some key questions.
1. Frontend or backend feature?
This is the most important distinction.
You first need to determine whether the feature you want to add can be custom coded on the theme or not.
If the feature requires backend functionality and a database, you can’t do it with theme work.
For example, you want to use the Shipping API to calculate shipping rates. Or the Inventory API to change product quantities. Or the Discounts API to add custom discounts based on specific events. Or the Products API to import products automatically.
All these are backend operations.
But the feature could be something more visual. Like adding custom fields to your product form. Or altering your mega menu. That’s usually much simpler.
In this case, my suggestion is to consider custom theme code.
(Or, you can use a custom built section, in cases where your theme’s sections are not enough.)
The main benefits of custom theme development, compared to apps, are:
- You get the exact result you want.
- It’s much more performant. So you can prevent a sometimes huge reduction in speed (and conversions) compared to an app.
- You can customize the result from the theme customizer, instead of opening an app.
- Since it’s coded directly on your theme, you don’t run the risk of an app’s automations breaking your website. Unfortunately, a lot of apps do this.
But if the feature requires usage of the Shopify API, a database, or a third-party integration, you should consider Shopify (public) apps.
This is because a public app gets developed once and has many users, so it can balance out its costs. That’s why a lot of apps are for free or cost less than $10 a month. While a custom app usually needs to be developed from scratch, for your store only.
And this gets us to the next question.
2. What is your budget?
A custom app with backend functionality will not be cheap.
A public app can take at least 100 hours to develop, test and publish. So a custom app can’t be expected to be ready in 10 hours.
Of course, there are simple apps that can be setup and deployed very fast. Their logic would be only a few lines of code, and they usually perform one thing only.
So it largely depends on the feature. Here are some examples of features with an increased cost of development.
- Connection to a database. An app can synchronize your store with your third party inventory API, but if you need a storage of data, you’ll need a connected database. The app will need to operate on that, and not just use the Shopify API and the third-party API.
- Third-party integration. If there are other services you want to connect to your store, you’ll need an integration. Development involves studying the documentation of that service, and that takes more time. Also, there are services with APIs that are too complex or hard to work with. And this can cause a lot of trouble during development.
- A custom frontend: if the app also needs to display an interface, it will require a design and its implementation. This could be done with Liquid and on the theme, but sometimes the frontend is separate. For example, a React application. So the backend is one thing, but when there’s a frontend too, you’ll need to take design and UX into consideration. The amount of time it takes to create a frontend can be as much as the backend of the app.
The benefit of having your own custom app, when it comes to cost, is that you don’t need to pay for a subscription. You own the app, and the only cost is that of services like hosting. The monthly cost could be $0-$10, depending on the requirements.
In the end, you need to compare the total return of investment.
Here’s an example:
Let’s say you find an app on the App store that costs $30 a month. That’s $360 a year, and $1,800 in 5 years.
Let’s now assume that a custom app with the same features costs $1,800 to develop. Which is actually a really low price, quite unrealistic.
With these numbers, your custom vs. public app choice will start to pay after 5 years. This is a long time. And of course, during that period, the app might need updating and support.
So in this example, it doesn’t make much sense to get a custom app, if there is a public app with the same features.
But what if there isn’t?
This gets us to the next important consideration.
3. What are the required features?
Two important distinctions here: again, frontend and backend.
Let’s start with frontend features.
Apps on the app store are created to support many different stores.
They usually have plenty of settings to customize them. This way, they are adaptive to each use case.
And this is generally helpful for you, the merchant. On the other hand, you have an app that you rarely make a 100% use of.
This has two significant drawbacks.
First, you are sometimes paying for multiple features, while you need only one.
Two, your website is loading code that is configurable based on several different settings.
A lot of the time, if not most of the time, this is the reason why your store will immediately slow down if you install 2-3 apps. You can read more about this here.
If the code isn’t developed properly, your website will be loading lots of extra, large files. And it will be using maybe only 10% of their code.
As a result, if the feature you need is only a small part of such an app, it makes more sense to have it custom-developed.
Now, for the backend.
Again, if there is an existing app that will reliably support your needed feature, and provides enough customization for future changes, it makes sense to go with it.
But what if the app isn’t quite exactly what you need? Unfortunately, you can’t alter a public app to add your specific feature. Their code is on a separate server and you have no access to it.
In that case, a custom app is the only way. And with an app dashboard, you can have the exact settings you need. No more, no less.
4. Number of apps
If you’re looking to add a lot of features to your store, including various frontends, then you need to look into the bigger picture.
In general, stores with more than 5 frontend apps installed will be slow. They will provide a bad user experience. Add a couple of “optimization” apps, and you have a half-broken website.
In this case, one custom app can combine all your feature. It will save a lot of cost in performance, and in turn, conversion rates.
Hopefully the above questions helped a bit with making a decision. There are cases where it’s a one way road. For example, you should probably never proceed with the development of an email marketing app of your own when there apps like Klaviyo. On the other hand, you shouldn’t install an entire product options app when you just want an inscription input field. You, or a professional, can simply add a few lines of code to the theme.
If you’re looking for help to decide which way to go, which app to install, or if you need custom Shopify development, hire an expert.
And feel free to share any feedback on the contact form below.