---
title: "Shopify automatic discount not working, verified November 2026"
description: "A checklist for a Shopify automatic discount that does not show in the cart, each step backed by a real cart: where to look, a function that returned nothing, a code or another automatic discount that displaced it, and a line discounted in part. Verified 3 November 2026 on Shopify's 2026-10 API."
url: https://offersuite.io/shopify/troubleshooting/automatic-discount-not-working
updated: 2026-11-03
---

# Shopify automatic discount not working: what to check

An automatic discount is active, and the cart shows full price. An automatic discount never appears in the cart's list of codes, so there is no flag to read. Each step below is a cause, with the cart that shows it.

Verified 3 November 2026 on Shopify’s 2026-10 API, in carts built on a real store. Each statement marked with a tick is checked against the cart Shopify returned.

## 1. Look on the line, not on the cart

An automatic product discount that did apply is reported on the line it priced. The cart's own list of allocations stays empty. Check you are reading the right place before deciding it did not run.

**A discount function prices one line** Verified 3 November 2026 · API 2026-10

#### Into the cart

- 1 × Single Bag at $40.00, bought once
- The cart attribute the app discount's function reads

#### What Shopify returned

The cart Shopify returned: A discount function prices one line

| 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.

## 2. A function that returned no operations looks exactly like no discount

If the discount is an app's, its function decides per cart. When the function returns nothing, the cart shows nothing: no allocation, no warning. The cause is in what the function read from the cart, here a cart attribute it did not find, and the cart cannot tell you that.

**A function that returns no operations** Verified 3 November 2026 · API 2026-10

#### Into the cart

- 1 × Single Bag at $40.00, bought once
- No cart attribute, so the app's functions return no operations

#### What Shopify returned

The cart Shopify returned: A function that returns no operations

| Line | Quantity | Price | Discounts on the line | Line total |
| --- | --- | --- | --- | --- |
| Single Bag | 1 | $40.00 | none | $40.00 |
| Discounts on the cart | none |  |  |  |
| Cart total | $40.00 |  |  |  |

#### What that shows

- The line cost its full $40.00.
- No discount allocation appeared anywhere in the cart, and no warning: an active automatic discount whose function returns nothing leaves no trace.

## 3. A discount code may have replaced it

A larger code on the same line, set to combine with nothing, took the line. The automatic discount left no trace and the cart returned no warning about it. Build the cart again without the code.

**An automatic product discount and a larger product code that combines with nothing** Verified 3 November 2026 · API 2026-10

#### Into the cart

- 1 × Single Bag at $40.00, bought once
- The cart attribute the app discount's function reads
- Code VERIFY-BAG50PCT: 50% off the bag, one-time purchases only, combines with nothing

#### What Shopify returned

The cart Shopify returned: An automatic product discount and a larger product code that combines with nothing

| Line | Quantity | Price | Discounts on the line | Line total |
| --- | --- | --- | --- | --- |
| Single Bag | 1 | $40.00 | −$20.00 code VERIFY-BAG50PCT | $20.00 |
| Discounts on the cart | none |  |  |  |
| Cart total | $20.00 |  |  |  |

- `VERIFY-BAG50PCT` applicable: true

#### What that shows

- The code applied: $20.00 off, a cart total of $20.00.
- The automatic discount's $10.00 was gone from the line, and the cart returned no warning about it.

## 4. Another automatic discount in the cart may have displaced it

An automatic discount set to combine with nothing was dropped when another automatic discount applied to a different line of the same cart. There was no warning. Build the cart with that product alone, then check the discount's combination setting.

**A Shopify automatic discount that combines with nothing, and an app's on another line** Verified 3 November 2026 · API 2026-10

#### 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

The cart Shopify returned: A Shopify automatic discount that combines with nothing, and an app's on another line

| 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.

## 5. It may have applied to part of the quantity

A discount limited to some units splits the line. One of the two lines is at full price, and a total read from the wrong one looks like a discount that did not work.

**A function discounts one unit of a line of two** Verified 3 November 2026 · API 2026-10

#### Into the cart

- 2 × Single Bag at $40.00, bought once
- The cart attribute the app discount's function reads

#### What Shopify returned

The cart Shopify returned: A function discounts one unit of a line of two

| Line | Quantity | Price | Discounts on the line | Line total |
| --- | --- | --- | --- | --- |
| Single Bag | 1 | $40.00 | none | $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

- One line of quantity 2 went in; the cart came back with two lines of quantity 1.
- One of them cost $30.00 with the $10.00 allocation, the other $40.00 with none.
- The cart total was $70.00.

## 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 two products in these carts: Single Bag, at $40.00, also sold on a selling plan named “Every 30 days” that has no pricing policy; 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.

The other discounts in these carts, as they are set on the store

| Discount | Class | Gives | Combination setting |
| --- | --- | --- | --- |
| Automatic, “VERIFY scoop $4 off” | Product | $4.00 off the scoop, one-time purchases only | combines with nothing |
| Code VERIFY-BAG50PCT | Product | 50% off the bag, one-time purchases only | combines with nothing |

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](mailto:privacy@offersuite.io) with the cart and we’ll run it.

## Related

- [Shopify, verified **Shopify offer mechanics, verified on a real store** How Shopify discounts, discount functions, cart transforms, selling plans, the Storefront cart and their limits behave, shown in real carts built on a Shopify store and built again at least every 90 days.](https://offersuite.io/shopify)
- [Feature **Publish and verify on a real Shopify cart** Publishing writes the offer to Shopify, builds a real cart for every visible option and goes live only if each one charges what the offer promises.](https://offersuite.io/features/publish-and-verify)
- [Shopify, verified **Shopify discount functions, verified November 2026** What a Shopify discount function's output looks like in a real Storefront cart: where the allocation lands, a line split by a partial discount, and one discount with a product and a shipping class. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/discount-functions)
- [Shopify, verified **Shopify Storefront cart discounts, verified November 2026** Where a Shopify Storefront API cart reports each kind of discount: product discounts on the line, order discounts on the cart, shipping discounts on the delivery group, and codes it did not apply in warnings. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/storefront-cart)
- [Shopify, verified **Two Shopify product discounts on one line, verified November 2026** Real carts with two Shopify product discounts aimed at one line: they did not stack even when both allowed product discounts, and a larger code that combines with nothing replaced the automatic discount. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/discount-combinations/product-and-product)
- [Shopify, verified **Shopify automatic discount with an app discount, verified November 2026** Real carts with one of Shopify's own automatic discounts beside an app's automatic discount: both applied on separate lines when each allowed product discounts, and one set to combine with nothing was dropped without a warning. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/discount-combinations/automatic-and-app-discount)
