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 and listing 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 and onboarding 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.
Functionality and quality Following the functionality requirements can help to ensure that app features work as intended and that your app is error free and in accordance with our code of conduct.
These requirements are subject to change, as we're continuously making improvements to our app store and developer platform. Your app will be expected to meet any new requirements that are added here. The Shopify Apps Quality Assurance team can reject an app at their discretion if it does not meet the set standards.
Branding and Listing
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.
If you submit multiple apps to the app store, then your apps need to be clearly different from one another. Multiple apps submitted by the same developer are held to a higher standard of uniqueness. Apps that are essentially the same need to be combined into one. App name
App names can't contain “Shopify” and can't be generic feature names. For example “Wishlist” is not allowed, but “Wishlist by DevShop” is acceptable.
App descriptions must not be included in the app title.
App names should not exceed 21 characters, as they will be truncated in certain areas of the Shopify App Store. Listing
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.
If you're building a carrier integration that uses DHL, Fed-Ex, or Purolator, you can't use the carrier's name in your app's branding. This is because of contractual agreements between Shopify Shipping and these carriers.
Make sure your listing is complete and well written.
App listings should be written in English. If your app is offered in another language, you can include a translated version in a second language.
Make sure both short and long descriptions are included.
Your listing must not include testimonials, ratings, or reviews of any kind.
Your app listing must include an app icon and banner.
You must include at least 3 screenshots. Use images from your app’s interface to show how your app works.
additional guidelines to learn how to write an effective app store listing. Pricing
To list apps that are not free in the Shopify App Store, make sure that you have implemented the Shopify Billing API. Use of other payment methods or systems is not permitted unless you have otherwise been notified by Shopify. Contact email@example.com if you have any questions or concerns.
Pricing must accurately reflect the 'all-in' price. If a service costs money but the integration is free, the app listing should reflect the price of the service.
If your app has multiple pricing plans, then merchants must be able to upgrade and downgrade the plan without having to delete the app or contact support.
If your app charges merchants, then it must include a page that is displayed when an app charge is declined. The information that appears on this page will depend on your app's pricing model, but at a minimum it should explain why the charge was not accepted, how to confirm the charge, and how to remove the app. Installation and Onboarding
The installation and onboarding flow includes the events that occur from the time when a merchant discovers an app, through to the required authentication and onboarding steps.
The diagram shows the typical flow that a merchant goes through during the installation and onboarding process.
Merchant clicks to install the 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.
Install and onboard requirements
When a merchant clicks “Get” from the app’s listing, the app should immediately authenticate using Oauth before any other steps occur.
If an account is required, then it can be automatically created by fetching the credentials from the merchant's store, and creating one for them (recommended). If a manual sign-up form is required, it should be a simple process for new and existing merchants.
If a sign-up form is required, then the form's fields should be autopopulated. This can be done by retrieving information from the Shop object of a merchant's store.
The app should take advantage of the Embedded app SDK.
App install process must be automated and not require your manual review.
If your app requires manual editing of a merchant's theme files, then you must include uninstallation instructions.
Your app is required to install and onboard successfully on multiple stores that use the same email address. Functionality and quality
Functionality and quality requirements help you to develop great apps that deliver a consistent and delightful experience for Shopify merchants.
The app must be tailored to Shopify merchants. This means that while you might have competing integrations, both the app and relevant documentation must use Shopify-specific workflows.
Each app listing must connect to a standalone service, and it should not be possible to configure other listings from the service dashboard. If you plan on offering various tools, then you can either do so from a single application dashboard, or from completely separate applications each with their own listing.
The app must include an interface for merchants to interact with. This is where the merchant should be redirected to after authenticating the app through OAuth or approving app charges.
Merchants expect apps to load quickly and run smoothly. Make sure that you optimize your app to have a fast start up time (400ms or faster) and fast load times.
The app must follow Shopify's code of conduct and not expose merchants to any legal problems or risk. Errors
Features should work as intended, and must interact with the Shopify platform in the expected manner.
App must be feature-complete, fully-functional, and work as described in the app description.
App must be thoroughly user-tested, and completely bug free.
The app's permissions must be scoped correctly and the app should never ask for more permissions than are required for its functionality.
If a merchant uninstalls and reinstalls an app, then OAuth needs to occur again to properly request permissions.
If the app makes use of the Billing API, it must account for user billing declines and properly redirect to a Charge was declined page. Support
All supporting documentation must be hosted in the UI of the app or on websites hosted by the app. Documentation must not be hosted on cloud-based services.
Include a support email address. Great support is a key value for Shopify, and if you don’t measure up to our standards, your app can be delisted. You are expected to provide prompt support to merchants.
Support must be easy to get, and include clear documentation and instructions that are specific to Shopify. Data and User Privacy
All user data should be used in an ethical and transparent manner. If your app requires use of merchant or buyer data, then the collection, storage, and use should be fully disclosed.
If your app is used by merchants based in Europe, or merchants with buyers based in Europe, then it is your responsibility to ensure that your app is GDPR compliant.
If you are handling a substantial amount of data, it is important to have a system in place to manage this properly, including secure storage and the ability to quickly erase data at the user's request, as per the data rights of individuals.
If your app runs marketing or advertising campaigns that require personal information, then make sure you have a system for allowing users to provide data consent for marketing promotions. Security
Security must include stored salted password hashes, not actual passwords, as described on OWASP.
You must build a secure app that is protected against cross-site request forgery ( CSRF) attacks, cross-site scripting ( XSS) attacks and other security vulnerabilities.
App must be served over HTTPS using a valid SSL certificate.
App must not process payments or orders outside of Shopify’s checkout.
App must not alter or modify Shopify’s checkout. Mobile apps
Mobile apps are great for Shopify merchants who want to extend their online stores to reach more customers.
If you create a mobile app builder, then make sure you have met our guidelines for building a mobile app builder, including building with Shopify’s native checkout. Submitting your app
If you've created your app by following all the requirements, then you're ready to submit your app for review by the Shopify Apps team.
Learn more ›
Sales channel app requirements
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. Overview
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 clicks to install the sales channel app.
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. The app prompts the merchant to agree to any
commissions or other fees using the Billing API. Merchant publishes products to the installed channel. Sales channel app sends
feedback to the merchant for any product publishing errors. The
Checkout API enables buyers to purchase products on the channel; orders are created in the Shopify admin.
Install and onboarding
The sales channel app must use the Embedded App SDK.
Eligibility issues are communicated using a red banner feedback message.
The merchant must be redirected to the account section with the account connection component after install and eligibility steps are complete.
Authentication (sign-up/sign-in) for the sales channel account takes place as a pop-up in the app's UI, and occurs outside of Shopify. This process returns to the channel upon completion.
If there is an approval process, then this is communicated to merchants using a banner component. The app stays in the pending state while the merchant awaits approval from the channel.
Approval or rejection is communicated to merchants via a green or red banner component. Account
Channel must have an account section featuring the account connection component always visible (labelled with your channel name, such as Sample channel).
Account section allows merchants to disconnect their account. Functionality
Publishing section is created using a card and the annotated layout shown in the publishing example screenshot.
Publishing section must show number of current products published, and provide links to the Shopify bulk editor to view and manage those products.
Publishing section must report any products with errors preventing publication.
Product issues are communicated using feedback messages and the ResourceFeedback API.
App uses ProductListing API to retrieve products set for publication by the merchant.
Marketplace testing must be completed to verify that products are properly set up for publishing. Checkouts
Sales channel apps must use the Checkout API to enable product purchasing/order creation via the channel.
If third-party payment processing is enabled, then payments testing is required. Commission section
Commission section is created using a card and the annotated layout.
Commission section states the commission rate.
Commission section states how and when merchants will be charged. Terms and conditions section
App must include a Terms and conditions section, with links that open in a new window.
App must have a help footer that links to support on your platform in a new window. The support page must include links to documentation and support contact information.
Help footer must be visible on every page of the sales channel within Shopify admin. Navigation icon
App must include a 16x16 SVG navigation icon uploaded through Shopify Partners.
Icon must be a single color with a transparent background.
Icon should be less than 2KB.
Icon can contain only whitelisted tags:
Icon can contain only whitelisted attributes:
Select an option
What was good or bad about this page?