In the cart, Shopify's automatic discount reads like an app's
The first cart holds a product with one of Shopify's own automatic discounts, a plain 20% off with no app behind it. The second is an app discount whose function prices a different product.
Both come back the same way: an automatic discount allocation on the line, carrying the discount's title. The cart does not say which kind of discount made it.
Into the cart
- 1 × Travel Tin at $50.00, bought once
- On the store, Shopify's automatic discount “VERIFY tin 20% off”: 20% off the tin, one-time purchases only, combines with product, order and shipping discounts
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Travel Tin | 1 | $50.00 | −$10.00 automatic, “VERIFY tin 20% off” | $40.00 |
| Discounts on the cart | none | |||
| Cart total | $40.00 | |||
What that shows
- The $50.00 line cost $40.00, with one automatic discount allocation of $10.00 on the line, named by the discount's title.
- The cart's own list of discount allocations was empty, and it returned no warning.
Into the cart
- 1 × Single Bag at $40.00, bought once
- The cart attribute the app discount's function reads
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Single Bag | 1 | $40.00 | −$10.00 automatic, “Offer Suite” | $30.00 |
| Discounts on the cart | none | |||
| Cart total | $30.00 | |||
What that shows
- The $40.00 line cost $30.00.
- The line carried one automatic discount allocation of $10.00, named by the discount's title.
- The cart's own list of discount allocations was empty: a product discount is reported on its line only.
On separate lines, both applied
Each discount is set to combine with product discounts, and each prices its own product.
Two product discounts on one line do not stack. On two lines, with both allowing product discounts, each line got its own.
Into the cart
- 1 × Single Bag at $40.00, bought once
- 1 × Travel Tin at $50.00, bought once
- The cart attribute the app discount's function reads
- On the store, Shopify's automatic discount “VERIFY tin 20% off”: 20% off the tin, one-time purchases only, combines with product, order and shipping discounts
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Travel Tin | 1 | $50.00 | −$10.00 automatic, “VERIFY tin 20% off” | $40.00 |
| Single Bag | 1 | $40.00 | −$10.00 automatic, “Offer Suite” | $30.00 |
| Discounts on the cart | none | |||
| Cart total | $70.00 | |||
What that shows
- Both applied: the bag cost $30.00 after the app's discount and the tin $40.00 after Shopify's.
- Each line carried one allocation, named by its own discount's title, and the cart total was $70.00.
An automatic discount that combines with nothing was dropped, without a warning
This store has a second automatic discount of Shopify's, $4.00 off another product, set to combine with nothing. Alone in a cart, it applies.
Beside the app's discount it did not, though the two were on different lines and the line it prices had no other discount. An automatic discount is not in the cart's list of codes, so there was no flag and no warning: the line was simply at full price.
Into the cart
- 1 × Brew Scoop at $20.00, bought once
- On the store, Shopify's automatic discount “VERIFY scoop $4 off”: $4.00 off the scoop, one-time purchases only, combines with nothing
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Brew Scoop | 1 | $20.00 | −$4.00 automatic, “VERIFY scoop $4 off” | $16.00 |
| Discounts on the cart | none | |||
| Cart total | $16.00 | |||
What that shows
- Alone, the discount applied: $4.00 off the $20.00 scoop, a cart total of $16.00.
Into the cart
- 1 × Single Bag at $40.00, bought once
- 1 × Brew Scoop at $20.00, bought once
- The cart attribute the app discount's function reads
- On the store, Shopify's automatic discount “VERIFY scoop $4 off”: $4.00 off the scoop, one-time purchases only, combines with nothing
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Single Bag | 1 | $40.00 | −$10.00 automatic, “Offer Suite” | $30.00 |
| Brew Scoop | 1 | $20.00 | none | $20.00 |
| Discounts on the cart | none | |||
| Cart total | $50.00 | |||
What that shows
- The app's discount applied: the bag cost $30.00.
- The scoop cost its full $20.00: the discount that combines with nothing was not applied, on a line no other discount touched.
- The cart returned no warning about it, and its total was $50.00.
The same happened between two of Shopify's own
No app is involved in this cart. The 20% discount and the $4.00 discount are both Shopify's own, on two products, and the second combines with nothing.
In this cart the discount that stayed was the larger one.
Into the cart
- 1 × Travel Tin at $50.00, bought once
- 1 × Brew Scoop at $20.00, bought once
- On the store, Shopify's automatic discount “VERIFY tin 20% off”: 20% off the tin, one-time purchases only, combines with product, order and shipping discounts
- On the store, Shopify's automatic discount “VERIFY scoop $4 off”: $4.00 off the scoop, one-time purchases only, combines with nothing
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Travel Tin | 1 | $50.00 | −$10.00 automatic, “VERIFY tin 20% off” | $40.00 |
| Brew Scoop | 1 | $20.00 | none | $20.00 |
| Discounts on the cart | none | |||
| Cart total | $60.00 | |||
What that shows
- The tin's 20% applied: $10.00 off, a line total of $40.00.
- The scoop's $4.00 did not: the scoop cost $20.00, with no allocation and no warning. The cart total was $60.00.
An order code beside each of them
The order code combines with product discounts. Beside the automatic discount that allows order discounts, both applied. Beside the one that combines with nothing, the code was refused, and this time the cart said so: a code has a flag and a warning, an automatic discount has neither.
Into the cart
- 1 × Travel Tin at $50.00, bought once
- On the store, Shopify's automatic discount “VERIFY tin 20% off”: 20% off the tin, one-time purchases only, combines with product, order and shipping discounts
- Code VERIFY-ORDER10: 10% off the order, one-time purchases only, combines with product and shipping discounts
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Travel Tin | 1 | $50.00 | −$10.00 automatic, “VERIFY tin 20% off” | $40.00 |
| Discounts on the cart | −$4.00 code VERIFY-ORDER10 | |||
| Cart total | $36.00 | |||
VERIFY-ORDER10applicable: true
What that shows
- Both applied: the tin cost $40.00 after the automatic discount, and the code took 10% of that, $4.00. The cart total was $36.00.
- The automatic discount's allocation was on the line and the code's in the cart's list.
Into the cart
- 1 × Brew Scoop at $20.00, bought once
- On the store, Shopify's automatic discount “VERIFY scoop $4 off”: $4.00 off the scoop, one-time purchases only, combines with nothing
- Code VERIFY-ORDER10: 10% off the order, one-time purchases only, combines with product and shipping discounts
What Shopify returned
| Line | Quantity | Price | Discounts on the line | Line total |
|---|---|---|---|---|
| Brew Scoop | 1 | $20.00 | −$4.00 automatic, “VERIFY scoop $4 off” | $16.00 |
| Discounts on the cart | none | |||
| Cart total | $16.00 | |||
VERIFY-ORDER10applicable: false- warning
DISCOUNT_CODE_NOT_HONOURED“The VERIFY-ORDER10 discount code is not honoured”
What that shows
- The automatic discount stayed: the scoop cost $16.00 and so did the cart.
- The code was listed as not applicable, with the warning DISCOUNT_CODE_NOT_HONOURED.
How this was verified
Every cart on this page was built through the Storefront API on a Shopify Plus development store we keep for this, on API version 2026-10, and read back as Shopify priced it. The store sells three products in these carts: Single Bag, at $40.00, also sold on a selling plan named “Every 30 days” that has no pricing policy; Travel Tin, at $50.00, also sold on a selling plan named “Every 30 days, 10% off” whose pricing policy takes 10% off; Brew Scoop, at $20.00. It quotes two delivery rates to a US address.
It has one automatic app discount, titled “Offer Suite”, with a product class and a shipping class, set to combine with product, order and shipping discounts. Its function reads a cart attribute: with it, the function takes 25% off one unit of Single Bag bought once, or $8.00 off the unit on its selling plan, and makes the cheapest delivery rate free. Without it, the function returns no operations.
| Discount | Class | Gives | Combination setting |
|---|---|---|---|
| Automatic, “VERIFY tin 20% off” | Product | 20% off the tin, one-time purchases only | combines with product, order and shipping discounts |
| Automatic, “VERIFY scoop $4 off” | Product | $4.00 off the scoop, one-time purchases only | combines with nothing |
| Code VERIFY-ORDER10 | Order | 10% off the order, one-time purchases only | combines with product and shipping discounts |
A suite builds these carts again and reads the discount settings from the store before it does. A statement that no longer matches the cart takes this page down until it is corrected, and no cart stands for more than 90 days without being built again. This is what one store returned on one API version: your store’s plan, markets and other apps can change the result, so build the cart.
Seen something different on your store? Write to privacy@offersuite.io with the cart and we’ll run it.