Category-specific achievement criteria
Not all apps are the same. Apps are built to address a wide variety merchant workflows and serve many diverse functions. A great app for one workflow uses different APIs, has different extensions, and looks different from an app for another workflow.
To correctly identify what a great app looks like, we are introducing category-specific criteria. These new 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.
If your app belongs to one of the categories on this page, then it must meet all of the criteria listed for that category.
Bundles apps
Anchor link to section titled "Bundles apps"Any app that groups products together to be sold as a single unit.
Criterion | Description |
---|---|
Use bundles primitives |
Your app must either use the Admin API to create static bundles or use a However, if your app supports a bundles use case which is not yet supported through these API’s — 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. |
Subscriptions apps
Anchor link to section titled "Subscriptions apps"Any app that enables customers to purchase products on a recurring basis.
Criterion | Description |
---|---|
Use subscription primitives and APIs |
Your app must use the following subscriptions primitives and APIs:
|
Use theme app block extensions |
Your app must add subscriptions on product detail pages by using an App block for themes that is compatible with Online Store 2.0. |
Follow subscriptions UX guidelines |
Your app must obey the following subscriptions UX guidelines:
|
Discount apps
Anchor link to section titled "Discount apps"Any app that enable merchants to define and configure price reductions.
Criterion | Description |
---|---|
Use discount primitives |
Your app must either use discount functions to define custom discount types or use the native discount APIs to create discounts. |
Do not use draft orders with custom discounts |
Your app must not create draft orders to give custom discounts. Drafts with custom discounts are designed for one-off merchant-driven flows rather than automated customer-driven flows and do not have the same reporting tools. |
Use a single redeem code per discount |
Your app must use the |
Create high quality links |
All links to your app from Create discount button on the discounts page must direct to a page in your embedded app where merchants can create the corresponding discount. These pages must follow all relevant App Design Guidelines. |
Product review apps
Anchor link to section titled "Product review apps"Any app that enables merchants to collect product reviews.
Criterion | Description |
---|---|
Save data to product reviews metaobjects |
Your app must sync all reviews that you receive to a product reviews metaobject. |
Provide a flow trigger |
Your app must provide a Flow trigger that starts a workflow whenever a new review is collected. |
Use block extensions |
Your app must provide an admin block extension on customer detail pages that allows merchants to see any reviews submitted by the customer. |
Fulfillment services apps
Anchor link to section titled "Fulfillment services apps"Any app that uses its own location to prepare and ship orders on behalf of merchants.
Criterion | Description |
---|---|
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 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:
|
Respond to callback requests |
In the last 28 days, your app must have responded successfully to 99% of Shopify callback requests that are sent to it, so merchants are not alerted to failing callback requests. |
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. |
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. |
Carrier services apps
Anchor link to section titled "Carrier services apps"Any app that connects to a carrier service (also known as a carrier calculated service or shipping service) to provide real-time shipping rates to buyers. Learn more about how to optimize your app's carrier rates performance. To assess your app's performance, your must must make a minimum of 1000 requests in the last 28 days.
Criterion | Description |
---|---|
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 percent 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 percent of requests. |
Returns apps
Anchor link to section titled "Returns apps"Any app that facilitates the process of managing and processing product returns, exchanges, and refunds for customers.
Criterion | Description | |
---|---|---|
Sync returns information |
Your app must use the appropriate APIs to communicate all lifecycle events of a return to Shopify. These include:
| |
Include exchange line items |
Your app must create exchange line items on a order when managing exchanges. You must also remove exchange lines from the order if they are no longer needed. |
|
Include shipping and restocking fees |
Your app must add shipping fees and restocking fees on a order when applicable. |
Invoice and packing slip printing apps
Anchor link to section titled "Invoice and packing slip printing apps"Any app that generates invoices or packing slips for orders
Criterion | Description |
---|---|
Enable printing on orders pages |
Your app must use an admin print action extension to let merchants print invoices or packing slips for an individual order directly from the orders detail page as well as for any selected orders from the orders index page. |