App requirements checklist for submission to the Shopify App Store
Shopify's requirements for the Shopify App Store provide the best merchant experience of apps across the entire app lifecycle from branding and listing, installation and onboarding, to functionality and quality. Also, different types of apps, such as sales channel apps, need to implement some unique patterns to meet merchant expectations. You’ll find these patterns described in these requirements.
Branding requirements ensure your app is best presented to create merchant interest and encourage installation. Following the listing requirements helps you to effectively communicate to the merchant how your app can provide solutions.
Installation requirements describe the correct flows for authentication, app install charges, and any sign-up steps (if required). Following onboarding requirements provides a low friction experience for the merchant when getting to know your app.
Branding and listing covers content requirements for your app, including uniqueness, app naming, and the content of your app’s listing in the Shopify App Store.
App name and tagline
The app listing is your calling card - it helps merchants find your app and understand how it can help run their business. Your listing explains the features, user interface, and functionality of your app. Your listing should clearly communicate functionality and pricing so that merchants can quickly understand the benefits of your app.
Merchant agrees to app permissions as part of Shopify’s OAuth.
If there are install charges, then the app prompts the merchant to agree using the Shopify Billing API. Otherwise, you can define a trigger for a charge elsewhere in your app's flow, such as at the time of a service plan upgrade or individual purchase.
If there are sign-up steps to complete, then the merchant signs up in the app UI.*
Merchant completes onboarding steps in the app UI.*
* sign-up and onboarding in the app UI can occur in the Shopify admin with EASDK or the app's website.
Some apps need to implement specific features to meet merchant expectations. Though sales channel apps follow many of the same app listing requirements as other apps, there are a few unique requirements to call out. By way of example, some of the following requirements use visual examples taken from sales channel apps built by Shopify, such as Pinterest and Facebook.
Channels should leverage the Embedded App SDK to create embedded apps capable of managing settings. These apps must be created using the Shopify Polaris component library. This allows apps to be loaded directly in the Shopify admin and access its native interface, and improves the workflow for merchants.
The following diagram shows the lifecycle of a channel from the merchant's perspective, including installation, onboarding, and functionality. It indicates some unique characteristics of sales channel apps.
Merchant agrees to sales channel app permissions as part of OAuth.
App redirects to eligibility requirements and terms of service (TOS) page within Shopify admin. Eligibility requirements are communicated using feedback messages.
Merchant is prompted to authenticate to their channel account using the account connection component. If they do not already have an account, then they are prompted to sign up. Authentication takes place in a pop-up provided by the app's UI and occurs outside of Shopify.
If there are additional steps to complete or an approval period, then this information is communicated using feedback messages.
Once the merchant is approved, the approved state is communicated to the merchant using a feedback message.