The latest Shopify Developer Changelog introduces a game‑changing feature: discounts can now be included in Rollouts. This addition, arriving with Admin GraphQL API version 2026‑10, gives merchants a powerful new lever to coordinate promotions with other store changes, test offers on a slice of traffic, or run short‑term events without juggling separate schedules.
What’s New in the 2026‑10 API
A read‑only rollouts connection is now available on every Discount type (price rules, automatic discounts, discount codes, etc.). Instead of relying solely on the discount’s native startsAt and endsAt timestamps, you can query Discount.rollouts to see every Rollout that influences the discount’s availability. Each Rollout carries its own schedule, effective traffic allocation, treatment splits, and activation/expiration flags.
Why It Matters for Developers
If your app reads discounts—whether to display them in a custom storefront, sync them to an ERP, or generate analytics—you’ll now see discounts that are “active” in the UI but filtered out by the API because they’re only reaching a portion of shoppers. Those discounts will appear in the rollouts connection, and you’ll need to merge the Rollout schedule with the discount’s native dates to calculate the true availability window.
From a permissions standpoint, the new read_rollouts scope must be added to your app’s OAuth request. Existing installations that lack this scope will need the merchant to re‑authorize, otherwise the Discount.rollouts field will be empty.
Why It Matters for Merchants
• Coordinate a flash sale with a theme update or new collection launch.
• Test a new discount on 10 % of traffic before a full rollout.
• Run a temporary coupon alongside a holiday promotion without creating a separate discount object.
When a discount is part of a Rollout, its native dates are only part of the story. The Rollout’s schedule, effective traffic allocation, and treatment split determine whether a shopper actually sees the discount. Full‑traffic Rollouts (100 % allocation) make the discount available across all sales channels; partial‑traffic Rollouts are limited to the Online Store.
Updating Your App: Step‑by‑Step Guide
Sample GraphQL Query
graphql
query GetDiscountWithRollouts($id: ID!) {
discount(id: $id) {
__typename
id
title
startsAt
endsAt
status
rollouts(first: 10) {
edges {
node {
id
name
startsAt
endsAt
effectiveAllocation
treatmentSplit
activationEvent
expirationEvent
}
}
}
}
}
Handling Sales‑Channel Availability
Full‑traffic Rollouts (effectiveAllocation = 1.0) automatically propagate the discount to every sales channel where the merchant has enabled the discount type (Online Store, POS, Buy‑Button, etc.). For partial‑traffic Rollouts, Shopify restricts the discount to the Online Store only, regardless of the merchant’s channel settings. Your integration should therefore check the effectiveAllocation field before exposing the discount on mobile apps, POS, or headless front‑ends.
Next Steps & Best Practices
The ability to embed discounts in Rollouts unlocks a new layer of experimentation and precision for Shopify merchants, while giving developers a richer data model to work with. By updating your OAuth scopes, expanding your GraphQL queries, and handling the combined schedule logic, you’ll ensure that every discount—whether rolled out to a single shopper or the entire ecosystem—is reflected accurately in your app or storefront.
Ready to upgrade? Start by requesting the read_rollouts scope today and test the sample query in the GraphQL Explorer. Your merchants will thank you for the extra control, and your analytics will finally match what shoppers actually see.
