Deploying, publishing, and distributing your app
After you've added features to your app, you need to make the features available to merchants. To make your features available, you need to do the following tasks. You can do these tasks in any order.
- Select a distribution method: Choose a method of distributing your app to merchants.
- Deploy and publish your app components: Make your app code available to merchants. Depending on the architecture of your app, you might do this using your own hosting solution and deployment pipeline, using the Partner Dashboard, or using a combination of the two. You might also need to deploy your app components to test them.
Distribution methodsAnchor link to section titled "Distribution methods"
The way you choose to distribute your app depends on its purpose and your audience. You can't change the distribution method after you select it, so make sure that you understand the different capabilities and requirements of each type.
Capabilities and requirementsAnchor link to section titled "Capabilities and requirements"
The following table shows the capabilities and requirements that are associated with each distribution method:
|Distribution model||Number of stores||App type||Authorization or authentication method||Approval required||Limitations|
|Shopify App Store||Can be installed on multiple Shopify stores||Public||OAuth. If embedded, then OAuth and session tokens.||Yes||Must sync certain data with Shopify|
|Single-merchant install link||Shopify Plus service partners can install the same custom app on multiple Plus stores for a single Shopify Plus merchant.||Custom||OAuth. If embedded, then OAuth and session tokens.||No||Can't use Billing API to charge merchants|
|Shopify admin||Installed on a single Shopify store.
Shopify Plus service partners can install the same custom app on multiple Plus stores for a single Shopify Plus merchant.
|Custom||Authenticate in the Shopify admin.||No|
Deprecated app typesAnchor link to section titled "Deprecated app types"
The following app types can no longer be created:
- Private apps: Deprecated as of January 2022. A private app was a type of app that one merchant could install directly on their store. If you want to create an app specifically for one merchant's store, then you can create a custom app instead.
- Unpublished apps: Deprecated as of December 9, 2019. An unpublished app was type of public app that one or many merchants could install and had all the same functionality as other public apps. However, the app didn't require any approval from Shopify.
Deployment, versioning, and publishingAnchor link to section titled "Deployment, versioning, and publishing"
Configurations and app extensions managed entirely within the Partner Dashboard are available to your app as soon as you save them. They don't need to be deployed, versioned, or published.
Web componentsAnchor link to section titled "Web components"
Your Shopify web components need to be hosted on your own hosting solution, and need to use your own deployment pipeline. After you deploy your web components, make sure that you update the app URLs in the Partner Dashboard to point to your production environment.
App extensionsAnchor link to section titled "App extensions"
Shopify app extensions are managed in the Partner Dashboard. App extensions built using Shopify CLI need to be deployed to the Partner Dashboard so they can be used as a part of your app. You might also need to deploy some types of app extensions before you can test them.
Some app extensions are versioned, which allows control over when an extension is published, and a way to roll back changes if issues occur. Other app extensions are available immediately after they're deployed.
After you've tested a new version of your extension and are ready to release it to merchants, you can publish it. Publishing an app extension version replaces the current live version served to shops that have your app installed. If an app extension supports versioning, then you can preview a draft of the extension and create a version when you publish it.
If you need to revert changes to your extension, then you can publish a previous version. As a final course of action, you can also unpublish your extension, which makes the extension unavailable for merchants.
Learn how to deploy and publish an app extension.