---
title: "Shopify automatic discount limit, verified November 2026"
description: "What a Shopify store answered at its limit of 25 active automatic discounts: which discounts count, the error the next create returns, and what a scheduled or a deactivated discount does to the count. Verified 3 November 2026 on Shopify's 2026-10 API."
url: https://offersuite.io/shopify/limits/automatic-discounts
updated: 2026-11-03
---

# Shopify's automatic discount limit: 25 active, and what the 26th returns

A Shopify store runs 25 automatic discounts at once, and an app's automatic discount takes one of the 25. The limit is shared between the merchant's own discounts and every discount app installed. Here is a store taken to the limit and one step past it.

Verified 3 November 2026 on Shopify’s 2026-10 API, on a real store. Each statement marked with a tick is checked against the answer Shopify gave.

## The 26th active discount is refused, with a code that names something else

The store began with a few active automatic discounts, some of them an app's. Creates were accepted until 25 were active. The next one came back with no discount and one entry in userErrors.

The code is ACTIVE_PERIOD_OVERLAP, which reads like a scheduling conflict. The message is the part that says what happened. Code that handles this error by its code alone reports the wrong cause.

**Creating automatic discounts up to the limit, and past it** Verified 3 November 2026 · API 2026-10

#### What was sent, and what Shopify answered

What Shopify answered: Creating automatic discounts up to the limit, and past it

| Step | Answer | Active automatic discounts on the store |
| --- | --- | --- |
| 1. Count the store's active automatic discounts that are an app's | Read | 2 |
| 2. Count all of its active automatic discounts | Read | 4 |
| 3. Create automatic discounts that start now, one at a time, until 25 are active | Accepted | 25 |
| 4. Create one more that starts now | Refused in the mutation's userErrors `ACTIVE_PERIOD_OVERLAP` “Limit of 25 automatic discounts reached. Deactivate an existing discount to add a new one.” | 25 |
| 5. Create one scheduled to start in three days | Accepted | 25 |
| 6. Deactivate one of the active discounts | Accepted | 24 |
| 7. Create one more that starts now | Accepted | 25 |
| 8. Activate the discount that was deactivated | Refused in the mutation's userErrors `ACTIVE_PERIOD_OVERLAP` “Limit of 25 automatic discounts reached. Deactivate an existing discount to add a new one.” | 25 |

#### What that shows

- Every create was accepted until 25 automatic discounts were active. An app's automatic discounts were among the 25: they count toward the limit with Shopify's own.
- The next create was refused in the mutation's userErrors, with the code ACTIVE_PERIOD_OVERLAP and the message “Limit of 25 automatic discounts reached. Deactivate an existing discount to add a new one.” The store still had 25.
- A discount scheduled to start later was accepted while the store was at the limit: only active discounts count.
- Deactivating one left 24 active, and the next create was accepted.
- Activating the deactivated discount was then refused with the same code and message: the limit holds on activation as it does on creation.

## Only active discounts count, and activation is checked too

A discount scheduled to start in three days was accepted while the store was at 25. Deactivating a discount made room for a new one.

Turning the deactivated discount back on was then refused with the same error. The run did not wait to see what a scheduled discount does when its start date arrives on a full store.

## What this means for a discount app

An app that creates one automatic discount per offer or per campaign spends the merchant's 25, and the merchant finds out when their own sale will not save.

An automatic app discount takes one place however much its function decides. One discount whose function reads the cart can carry every offer the app runs.

## How this was verified

Every step on this page was sent to a Shopify Plus development store we keep for this, on API version 2026-10, and Shopify’s answer was recorded as it came back.

The discounts were created through the Admin API with discountAutomaticBasicCreate, turned off and on with discountAutomaticDeactivate and discountAutomaticActivate, and counted by reading the store's automatic discounts after each step.

Each discount the run created was one of Shopify's own percentage discounts on a single product, with a minimum quantity no cart reaches, so none of them priced anything. All of them were deleted when the run ended. The discounts the store had before, an app's among them, were not changed.

A suite sends these steps again. A statement that no longer matches the answer takes this page down until it is corrected, and no record stands for more than 90 days without being taken again. This is what one store answered on one API version: your store’s plan can change the result, so try it on a development store.

Seen something different on your store? Write to [privacy@offersuite.io](mailto:privacy@offersuite.io) with the request and the answer 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 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)
- [Shopify, verified **Shopify automatic discount not working, verified November 2026** 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.](https://offersuite.io/shopify/troubleshooting/automatic-discount-not-working)
- [Shopify, verified **Shopify discount code limit per cart, verified November 2026** What a Storefront API cart did with six discount codes: a valid code in sixth place is not honoured, codes the store does not have still take places, the order of the list decides, and a free-shipping code is counted apart. Verified 3 November 2026 on Shopify's 2026-10 API.](https://offersuite.io/shopify/limits/discount-codes-per-cart)
