Discount apps are public apps that integrate with the Shopify admin to provide discount types for merchants. You can create one or more product discount, order discount, or shipping discount types as part of your app.
Discount classesAnchor link to section titled "Discount classes"
Order discountAnchor link to section titled "Order discount"
The order discount type is a discount that's applied to all merchandise in the cart.
- Money off the order subtotal. For example, $5 off the order subtotal.
- Money off products on an order. For example, 20% off all products on the order.
- Tiered discount by spend. For example, spend $100 to get 10% off all products.
Product discountAnchor link to section titled "Product discount"
The product discount type is a discount that's applied to a particular product or product variant in the cart.
- Money off a product. For example, 20% off shirts.
- Money off a product variant. For example, $5 off blue shirts.
- Buy a specific quantity of a product for a specific amount. For example, $5 off up to 2 blue shirts.
- Buy a specific amount of a product, get a second amount at a discount. For example, buy 4 shirts and get 2 blue shirts free.
Shipping discountAnchor link to section titled "Shipping discount"
The shipping discount type is a discount that's applied to one or more shipping rates at checkout.
- Free shipping.
- A discount on shipping. For example, 20% off shipping or $5 off shipping.
How Discount apps workAnchor link to section titled "How Discount apps work"
- App Bridge React: Use App Bridge React to build the UI. The discount React library provides a set of React components for building a discount form page.
- Metafields: Store your configuration in one or more metafields.
- Shopify Functions: Use Shopify Functions to create discount behaviors that aren't offered out-of-the-box with Shopify. For example, you can create a new type of discount.
Access scopesAnchor link to section titled "Access scopes"
To use the GraphQL mutations, your app needs to request the following access scopes for a Shopify store:
write_discounts: Allows apps to create and update Shopify discounts
read_customers: (optional) Enables querying for a shop's customers
read_products: (optional) Enables querying for a shop's products
read_shipping: (optional) Enables querying for the countries a shop ships to