When the Shopify App Store doesn't have exactly what you need, the next step is building your own app. The first decision is what kind of app: a custom app made for your store, or a public app that any merchant can install. Both use the same APIs, but they differ in who can install them, whether Shopify reviews them, how they get paid for, and which store plans they work on.
The short answer
- Build a custom app when the app solves a problem for one store or one business: connecting Shopify to your ERP, automating your fulfilment rules, or adding a feature unique to your brand.
- Build a public app when you want to sell the same solution to many merchants as a product.
If you're a merchant, you almost certainly want a custom app. If you're building a business around an app, you want a public app.
How they compare
| Custom app | Public app | |
|---|---|---|
| Who can install it | One store, or stores in the same Shopify Plus organization | Any merchant |
| Listed on the Shopify App Store | No, installed with a direct install link | Yes, if you list it |
| Shopify app review | Not required | Required before listing |
| Charging merchants | Your own invoice or contract | Through Shopify's Billing API |
| Shopify Functions (discounts, shipping, payments) | Only on Shopify Plus stores | Available to merchants on all plans |
| Typical owner | The merchant or their developer | An app company |
Update: since January 1, 2026, merchants can no longer create legacy custom apps in the Shopify admin. New custom apps are built in the Dev Dashboard and use short-lived access tokens. See what changed and what to do.
When a custom app is the right choice
A custom app fits when the logic is specific to how your business works:
- Back-office integrations: syncing orders, inventory, and products with an ERP, warehouse, accounting system, or CRM.
- Operational automation: tagging orders, routing fulfilment, generating documents, or alerting your team based on your own rules.
- Replacing several app subscriptions with one app that does exactly what you need.
- Private data: connecting to internal systems that should never be exposed to a third-party app company.
Because it isn't distributed to other merchants, a custom app skips App Store review. That makes the first release faster, and the requirements are set by your business rather than by Shopify's listing rules.
When a public app is the right choice
A public app makes sense when the problem is common across many stores, and you want to turn the solution into recurring revenue. The trade-offs are real:
- App review: Shopify checks listed apps against its App Store requirements before publishing, and again after significant changes.
- Billing through Shopify: apps sold on the App Store charge merchants through Shopify's Billing API, and Shopify takes a revenue share.
- Mandatory privacy webhooks: public apps must handle Shopify's customer data request and data deletion webhooks.
- Support at scale: every store has different themes, apps, and settings, so you need onboarding, documentation, and support processes.
What both kinds of app have in common
The engineering work is largely the same either way:
- The GraphQL Admin API. Shopify treats the REST Admin API as legacy and requires new public apps to use GraphQL. New custom apps should use GraphQL too.
- Webhooks for reacting to orders, products, and customers. They should be verified with the HMAC signature and processed idempotently, because the same event can arrive more than once.
- API versions. Shopify releases a new API version every quarter and supports each one for at least 12 months, so every app needs a small amount of regular upgrade work.
- Extensions that put your app inside Shopify itself: admin extensions, theme app extensions, and checkout UI extensions.
- Least-privilege access scopes. Request only the data your app actually needs.
Watch out for plan requirements
Plan limits catch many merchants by surprise. At the time of writing, a custom app that includes Shopify Functions, such as custom discount, shipping, or payment logic, only works on Shopify Plus stores. Checkout UI extensions for the information, shipping, and payment steps also require Shopify Plus. If your store isn't on Plus, check which extension points your idea depends on before scoping the build. Shopify updates these rules, so confirm them against Shopify's developer documentation for your plan.
A practical path
For most merchants, the sensible order is:
- Check the App Store first. If an existing app covers 90% of the need, a small custom integration around it may be cheaper than a full build.
- Write the workflow down. Which events trigger the app, which data it reads and writes, which systems it talks to, and what should happen when something fails.
- Build a custom app for your store. Ship the smallest version that removes the manual work.
- Generalize later, if ever. If other merchants clearly need the same thing, a proven custom app is a strong starting point for a public one.
The choice is rarely about technology. It comes down to who the app is for: your own store, or a product for everyone else.