How to publish a Shopify App: 9 key steps to pass app review

March 24, 2023
·
13 min read
·

Passing the app review process is a crucial step in making your app available on the Shopify App Store. However, it can be challenging. In this article, we'll explore the submission preparation process, the review process, and common reasons for rejection.

Preparing a Shopify app for submission

After developing a Shopify app, it’s time to prepare it for submission and go through a checklist to ensure that the application is ready to be reviewed by Shopify.

1. Ensure that the app meets the Shopify requirements

These requirements cover general aspects such as authentication flows, permissions, and setup instructions, as well as more specific criteria depending on the type of app.

General requirements for all apps:

  • Prohibited configurations: Apps must use Shopify APIs to function. They must not falsify data to deceive merchants or buyers or host other marketplaces on Shopify. For a full list of prohibited configurations, click here.
  • Installation and setup: The app must authenticate using OAuth when merchants install it. It must also include in-app setup instructions that explain how to use the app properly. The app must never request that a merchant generate and provide a private API key.
  • Functionality and quality: The app must have a user interface that includes buttons, controls, and features for merchants to interact with. It should also be stable and free of bugs.
  • App performance: The app must not reduce Lighthouse performance scores by more than 10%.
  • App listing: The app must have an app listing that explains the app's features, functionality, and pricing.
  • Security and merchant risk: The app must not collect Shopify user credentials. It must be protected against common web security vulnerabilities. The app must not process payments or orders outside of Shopify's checkout.
  • Data and user privacy: The app must include a link to a privacy policy in the app listing. It must also implement and attest to all protected customer data requirements.
  • Support: The app must include an email address that merchants can use to contact if they need help setting up or using the app.

Requirements for specific app configurations:

  • Online store: If the app interacts with a merchant's theme, make sure the app also works in the theme editor environment. If the app includes app blocks or app embed blocks, provide detailed setup instructions.
  • Embedded apps: Use Shopify App Bridge and include a navigation icon in SVG format with a transparent background, sized 16x16 pixels.
  • Product sourcing: Product sourcing apps don't need to use the Billing API for the sale of goods to their merchants, and can instead use a PCI-compliant gateway.
  • Mobile app builders: Use Shopify App Bridge and the Shopify web checkout to process payments.
  • Sales channels: The account section for the sales channel must let merchants disconnect their account, and the sales channel must use the ProductListing API resource to retrieve products set for publication by the merchant.
  • Purchase option apps: The purchase option app must support multi-currency, automate theme modifications, use the correct API scopes to reflect functionality, etc.
  • Donation distribution apps: Use the Billing API or a PCI-compliant third-party gateway when collecting donation funds from merchants through the app’s user interface.
  • Payment apps: Can only use Payments Apps APIs and must be operational and available on a 24/7 basis at least 99.95% of the time in any measurement period.
  • Post Purchase apps: Display a maximum of 2 post-purchase offers/messages to customers, and allow customers to accept or decline post-purchase requests.
  • Checkout UI extension apps: Can't be used to display promotions or advertisements, must use only the documented APIs, and must not collect information, including personally identifiable information, that's already captured by a standard Shopify checkout form field.
  • Blockchain apps: Ensure no personal data is written or stored on-chain, and don't sell, transfer, or modify fungible tokens unless you're a payments partner approved by the Shopify Payments team.

2. Follow Shopify App Design Guidelines

It is important for apps embedded into the Shopify Admin to follow App Design Guidelines. Standalone (non-embedded) apps don’t have to follow all the guidelines so their design is more customizable.

One of the ways to ensure that the app adheres Shopify’s design guidelines is to use Polaris. It is a design system for the Shopify Admin that provides access to UI components like Button, Navigation, various layouts, checkboxes, etc. These components are compliant with Shopify App Design Guidelines by default, and that’s why Polaris makes it easier to pass the app review. However, its use is optional.

3. Create an app listing

An app listing is the app’s page that merchants see in the Shopify App Store. It helps merchants find the app and understand its value for their business. It must explain the app’s features and functionality. To create an app listing, select Shopify App Store as the distribution method for the app.

An app listing must include the following information:

  • Basic app information: app name, icon, categorization, and supported languages.
  • App introduction: Up to 100 characters explaining the app's purpose in a clear and concise way.
  • App details: Up to 500 characters expanding on the main app’s benefits.
  • Feature list: Up to 5 of the app's features.
  • Feature media: Image or video to showcase the app.
  • Screenshots: Up to 6 screenshots demonstrating the app in action.
  • Demo store URL (optional): A development store with the app installed.
Avoid generic marketing language in your app listing.

- Do: We package and ship your orders. Fast, simple fulfillment can boost sales and delight customers. 

- Don't: Get your products shipped fast. We'll take care of all the busy work for you.

Visit Shopify documentation for more information on creating an app listing.

4. Test the app

The app must be production-ready or the Shopify team won’t review it. Thus, make sure to take into account any issues a merchant may face when installing and using the app. Here’s what to pay attention to:

  • The app must authenticate immediately using OAuth once the merchant clicks "Install", before any other steps occur.
  • Ensure that the app can handle heavy user traffic.
  • If the app adds anything to an online store or interacts with it somehow, test it with different Shopify-made themes.
  • If there are any links in the app, they all must work properly.
  • If the app uses a billing system, it must use Shopify Billing API.
  • If the app requires code changes, use automated installation resources such as script tags, or assets to insert and remove code snippets.

5. Make a One-Time Payment of $99

Publishing apps on the Shopify App Store for the first time requires a one-time fee of $99 for the entire Partner account. After that, the apps can be published for free.

6. Submit a working MVP if needed

To keep working on the app after the approval, put it as unlisted. Or submit a working MVP instead of a complex app that would require more time to be approved. Moreover, when a complex app is submitted, Shopify Approval Team will probably have more to say about it and ask for more changes at once.

7. The app should be disabled by default

Once installed, the app should be disabled. Store admins should be able to enable it manually when needed.

8. Install analytics (optional)

Get more information about how merchants find the app listing in the App Store by tracking traffic with Google Analytics, or Facebook Pixel. Both can be set up in the app listing settings.

9. Install in-app analytics (optional)

To get insights into how merchants use your app, integrate analytics tools, such as Fathom, Google Analytics, or Facebook Pixel. This will help you understand your users better and make data-driven decisions that improve the app.

Understanding the review process and timeline

The initial review process can take up to 14 days.

Here are the states of the app during the review process.

  1. When the app is submitted for the first time, it is marked as Submitted.
  2. If the app needs major changes, it will be rejected and moved to the Draft state. Once the changes are made, the app must be resubmitted.
    Please note: If the app is resubmitted without addressing the reasons why it was rejected, then a Partner Account could be temporarily suspended from submitting apps to the Shopify App Store.
  3. If the app needs minor changes, it moves to the conversation stage; don’t resubmit it, just make the changes required.
  4. The app is marked as In Review after the changes have been made.
  5. If the app meets all the requirements, the status changes to Live and it appears on the Shopify App Store.
If the app is not accepted during the approval process, feel free to ask Shopify as many questions to make the necessary improvements.

Submitting the app for review

To submit the app for approval, go to the Partner Dashboard and select Shopify App Store as a distribution method for the app. Then, create a new app listing and add a listing to it. If the app supports more than 1 language, then the app listing should be translated into all the languages that the app supports. Preview the listing, ensure that the content, formatting, and images appear as expected, and submit your app.

Common reasons for rejection

App listing issues:
  • The app listing is either incomplete or lacks some essential information.
  • The app listing is missing screenshots or has punctuation or grammar errors.
  • Pricing information is not accurate.
Installation issues:
  • The app does not immediately authenticate using OAuth before any other steps occur after a merchant adds the app from the app’s listing.
  • When merchant installs the app, a fatal error occurs.
  • The merchant needs a code to add the app to the store but there aren’t any installation instructions.
Technical issues:
  • The app has requested more API permissions than it actually uses.
  • The app has uncaught errors or bugs.
  • Sign-up forms aren’t auto populating: any sign-up or sign-in forms requiring store address and email address should auto populate. Using information from the shop object can pull this data from a merchant’s store and help with auto-populating forms.
  • The use of cookie sessions. Unsure whether they are used in the app? Ask the development team.

Prohibited actions on the Shopify App Store

If prohibited actions have been taken, the Merchant App Experience Team will determine the appropriate action. This can include sending an email requesting prompt action, immediately unpublishing or suspending the app, or removing app creators from the Shopify Partners program.

Prohibited actions include:
  • Failure to respond to merchant support requests.
  • Not providing consistent technical support.
  • Sending spam or using illegal and invasive marketing tactics, such as using a pop-up ads or constantly sending emails about your app without merchants’ consent.
  • Modifying the app or app listing after publication, which results in it no longer meeting the Shopify app requirements.
  • Adding affiliate links in the app listing.
  • Not notifying a merchant 30 days before removing the app.

Conclusion

In conclusion, submitting a Shopify app to the Shopify App Store is a multi-step process that can be challenging. Before the submission, the app should be prepared according to all Shopify requirements and regulations and understand the review process and timeline. By following the steps outlined in this article and avoiding common mistakes, the app is more likely to be approved. Remember to adhere to Shopify's guidelines and terms, and don't hesitate to ask for help if needed.

Elijah Atamas

CEO, Softcery
© 2023 Softcery. All rights reserved.