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.
Requires Apps must have read_discounts access scope.
The type of discount associated to the automatic discount. For example, the automatic discount might offer a basic discount using a fixed percentage, or a fixed amount, on specific products from the order. The automatic discount may also be a BXGY discount, which offers customer discounts on select products if they add a specific product to their order.
The DiscountAutomaticApp object stores information about automatic discounts
that are managed by an app using
Shopify Functions.
Use DiscountAutomaticAppwhen you need advanced, custom, or
dynamic discount capabilities that aren't supported by
Shopify's native discount types.
The DiscountCodeApp
object has similar functionality to the DiscountAutomaticApp object, with the exception that DiscountCodeApp
stores information about discount codes that are managed by an app using Shopify Functions.
appDiscountType•
AppDiscountType!
non-null
The details about the app extension that's providing the
discount type.
This information includes the app extension's name and
client ID,
App Bridge configuration,
discount class,
function ID,
and other metadata about the discount type, including the discount type's name and description.
appliesOnOneTimePurchase•
Boolean!
non-null
Whether the discount applies on one-time purchases.
appliesOnSubscription•
Boolean!
non-null
Whether the discount applies on subscription items.
Subscriptions
enable customers to purchase products
on a recurring basis.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
The date and time when the discount expires and is no longer available to customers.
For discounts without a fixed expiration date, specify null.
errorHistory•
FunctionsErrorHistory
The error history
for the latest version of the discount type that the app provides.
recurringCycleLimit•
Int!
non-null
The number of billing cycles for which the discount can be applied,
which is useful for subscription-based discounts. For example, if you set this field
to 3, then the discount only applies to the first three billing cycles of a
subscription. If you specify 0, then the discount applies indefinitely.
startsAt•
DateTime!
non-null
The date and time when the discount becomes active and is available to customers.
status•
DiscountStatus!
non-null
The status of the discount that describes its availability,
expiration, or pending activation.
title•
String!
non-null
The discount's name that displays to merchants in the Shopify admin and to customers.
The DiscountAutomaticBasic object lets you manage
amount off discounts
that are automatically applied on a cart and at checkout. Amount off discounts give customers a
fixed value or a percentage off the products in an order, but don't apply to shipping costs.
Learn more about working with Shopify's discount model,
including limitations and considerations.
Note
The DiscountCodeBasic
object has similar functionality to the DiscountAutomaticBasic object, but customers need to enter a code to
receive a discount.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
The items in the order that qualify for the discount, their quantities, and the total value of the discount.
endsAt•
DateTime
The date and time when the discount expires and is no longer available to customers.
For discounts without a fixed expiration date, specify null.
minimumRequirement•
DiscountMinimumRequirement
The minimum subtotal or quantity of items that are required for the discount to be applied.
recurringCycleLimit•
Int!
non-null
The number of billing cycles for which the discount can be applied,
which is useful for subscription-based discounts. For example, if you set this field
to 3, then the discount only applies to the first three billing cycles of a
subscription. If you specify 0, then the discount applies indefinitely.
shortSummary•
String!
non-null
An abbreviated version of the discount
summary
field.
startsAt•
DateTime!
non-null
The date and time when the discount becomes active and is available to customers.
status•
DiscountStatus!
non-null
The status of the discount that describes its availability,
expiration, or pending activation.
summary•
String!
non-null
A detailed explanation of what the discount is,
who can use it, when and where it applies, and any associated
rules or limitations.
title•
String!
non-null
The discount's name that displays to merchants in the Shopify admin and to customers.
updatedAt•
DateTime!
non-null
The date and time when the discount was updated.
discountClass•
MerchandiseDiscountClass!
non-nullDeprecated
The discount class
that's used to control how discounts can be combined. Use discountClasses instead.
usageCount•
Int!
non-nullDeprecated
The number of times that the discount has been used. Use asyncUsageCount instead.
The DiscountAutomaticBxgy object lets you manage
buy X get Y discounts (BXGY)
that are automatically applied on a cart and at checkout. BXGY discounts incentivize customers by offering
them additional items at a discounted price or for free when they purchase a specified quantity of items.
Learn more about working with Shopify's discount model,
including limitations and considerations.
Note
The DiscountCodeBxgy
object has similar functionality to the DiscountAutomaticBxgy object, but customers need to enter a code to
receive a discount.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
The DiscountAutomaticFreeShipping object lets you manage
free shipping discounts
that are automatically applied on a cart and at checkout. Free shipping discounts are promotional deals that
merchants offer to customers to waive shipping costs and encourage online purchases.
Learn more about working with Shopify's discount model,
including limitations and considerations.
Note
The DiscountCodeFreeShipping
object has similar functionality to the DiscountAutomaticFreeShipping object, but customers need to enter a code to
receive a discount.
appliesOnOneTimePurchase•
Boolean!
non-null
Whether the discount applies on one-time purchases.
A one-time purchase is a transaction where you pay a
single time for a product, without any ongoing
commitments or recurring charges.
appliesOnSubscription•
Boolean!
non-null
Whether the discount applies on subscription items.
Subscriptions
enable customers to purchase products
on a recurring basis.
asyncUsageCount•
Int!
non-null
The number of times that the discount has been used.
For example, if a "Buy 3, Get 1 Free" t-shirt discount
is automatically applied in 200 transactions, then the
discount has been used 200 times.
This value is updated asynchronously. As a result,
it might be lower than the actual usage count until the
asynchronous process is completed.
The maximum shipping price amount accepted to qualify for the discount.
minimumRequirement•
DiscountMinimumRequirement
The minimum subtotal or quantity of items that are required for the discount to be applied.
recurringCycleLimit•
Int!
non-null
The number of billing cycles for which the discount can be applied,
which is useful for subscription-based discounts. For example, if you set this field
to 3, then the discount only applies to the first three billing cycles of a
subscription. If you specify 0, then the discount applies indefinitely.
shortSummary•
String!
non-null
An abbreviated version of the discount
summary
field.
startsAt•
DateTime!
non-null
The date and time when the discount becomes active and is available to customers.
status•
DiscountStatus!
non-null
The status of the discount that describes its availability,
expiration, or pending activation.
summary•
String!
non-null
A detailed explanation of what the discount is,
who can use it, when and where it applies, and any associated
rules or limitations.
title•
String!
non-null
The discount's name that displays to merchants in the Shopify admin and to customers.
totalSales•
MoneyV2
The total sales from orders where the discount was used.
updatedAt•
DateTime!
non-null
The date and time when the discount was updated.
discountClass•
ShippingDiscountClass!
non-nullDeprecated
The discount class
that's used to control how discounts can be combined. Use discountClasses instead.
A list of nodes that are contained in DiscountAutomaticEdge. You can fetch data about an individual node, or you can follow the edges to fetch data about a collection of related nodes. At each node, you specify the fields that you want to retrieve.