Skip to main content
Log inSign up

Shopify uses cookies to provide necessary site functionality and improve your experience. By using our website, you agree to our privacy policy and our cookie policy.

Performance, integration and category-specific requirements come into practice

To ensure that the Built for Shopify status represents the highest quality of app apps will need to meet the following performance, integration and category-specific requirements. These requirements are designed to ensure that each app that earns the Built for Shopify status excels in meeting the unique needs of the merchants it serves.

Built for Shopify annual review will be on January 2, 2025.

Performance requirements

Date enforced: January 2, 2025

Integration requirements

Date enforced: January 2, 2025

  • Enable seamless sign up based on Shopify credentials Apps should make sign up seamless for merchants, without requiring an additional login or sign-up prompt. Users should be able to begin using the app immediately after installing it without having to complete another sign up. Exceptions apply on apps that can’t be easily accessed by merchants in a self-service manner and require a more complex sign-up, often involving a business-to-business contract. In these cases, the first step to the in-admin onboarding of these apps must always be a workflow that enables a merchant to link the current store with their existing credentials.

If your app offers both self-service and business-to-business sign up, then the app's onboarding must include an option to sign up for the service using the merchant's existing Shopify credentials.

  • Include simplified monitoring or reporting Expose key metrics that are helpful for merchants on the app’s home page. If your app includes monitoring or complex reports that can only exist on an external website or app surface, then you must include a simplified version of the monitoring or reporting in the Shopify admin.

  • Keep third-party connection settings within Shopify Any settings or configurations that control the connection between Shopify and a third-party system must be available inside the Shopify embedded app interface.

Category specific requirements

We understand not all apps are the same. Apps are built to address a wide variety of merchant workflows and serve many diverse functions. Moving forward some categories of apps must adhere to additional requirements. These requirements specify specific APIs, integrations, and design guidelines that reflect what a great app in these categories looks like.

Product bundles apps Date enforced: January 2, 2025

  • Use bundles primitives Your app must either use the GraphQL Admin API to create static bundles or use a cartTransform function to create customized bundles. However, if your app supports a bundles use case that is not yet supported through these APIs --- such as selling bundles on unsupported sales channels, selling bundles as a part of a subscription, or editing orders to add or remove bundles after purchase --- you may use other methods to create a bundle.

Subscription apps Date enforced: January 2, 2025

Discount apps Date enforced: January 2, 2025

Product reviews apps Date enforced: January 2, 2025

Fulfillment services apps Date enforced: January 2, 2025

  • Actively fulfill orders Your app must be active and have fulfilled 100 or more fulfillment orders in the last 28 days. If an app is not active, then it's not possible to accurately assess the other criteria for fulfillment services apps.

  • Complete fulfillment orders Your app must have completed 99% of the fulfillment orders assigned to it in the last 28 days. New fulfillment orders that were created in the last 7 days are excluded. A fulfillment order is considered incomplete if it is in one of the following states:

  • open, submitted

  • in_progress, accepted

  • in_progress, cancellation_rejected

  • in_progress, cancellation_requested

  • Wait for merchant requests Your app must only fulfill fulfillment orders after a merchant requests fulfillment.

  • Add tracking information In the last 28 days, your app must have added tracking information to 80% of the fulfillments that it creates within one hour of creation. In cases where precise tracking information isn't available from a shipping carrier URL, you can provide a custom URL to your app's site by: Using fulfillmentCreateV2 to populate fulfillment.trackingInfo.company and fulfillment.trackingInfo.url(s) at the time of creation, OR Using fulfillmentTrackingInfoUpdateV2 to mutate an existing entry and populate trackinigInfoInput.company and trackingInfoInput.url(s).

  • Respond to fulfillment requests In the last 28 days, your app must have responded to 99% of fulfillment requests within four hours by either accepting or rejecting the fulfillment request.

  • Respond to cancellation requests In the last 28 days, your app must have responded to 99% of cancellation requests within 1 hour by either accepting or rejecting the cancellation request.

Fulfillment services apps Date enforced: July, 2025

Carrier services apps Date enforced: January 2, 2025

  • Respond quickly to rate requests Over the last 28 days, the carrier rate endpoint provided by your app must respond in fewer than 500 milliseconds for 95% of calls.

  • Complete rate requests reliably Over the last 28 days, the carrier rate endpoint provided by your app must successfully respond to 99.9% of requests.

Returns and exchanges apps Date enforced: January 2, 2025

Invoices and receipts apps Date enforced: January 2, 2025

Was this section helpful?