How Discount Rollouts Change Your Shopify Discount Strategy

Shopify’s 2026‑10 API now lets merchants bundle discounts into Rollouts, giving you granular control over launch timing, buyer allocation, and channel availability. Learn what changed, who is affected, and how to update your apps and stores to take full advantage.

How Discount Rollouts Change Your Shopify Discount Strategy
7 sections

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

  • Request the new scope – Add read_rollouts to your OAuth scopes list. For example, in your OAuth URL include scope=read_discounts,read_rollouts.
  • Handle re‑authorization – Existing merchants will see a permission prompt the next time they open your app. Store the new token.
  • Query the Rollouts connection – Extend any discount‑fetch query to include rollouts { id, name, startsAt, endsAt, effectiveAllocation, treatmentSplit, activationEvent, expirationEvent }.
  • Merge schedules – Compare the discount’s startsAt/endsAt with each Rollout’s startsAt/endsAt. The effective availability window is the intersection of the two.
  • Respect channel limits – If a Rollout’s effectiveAllocation is below 100 %, limit the discount display to the Online Store context in your code.
  • Test thoroughly – Use the GraphQL Explorer with API version 2026‑10 to verify that discounts appear as expected in both Rollout and non‑Rollout scenarios.
  • 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

  • Audit existing discount logic – Identify any places where you assume a discount’s native dates fully describe its reach. Add Rollout awareness.
  • Leverage webhooks – Subscribe to the rollouts/create and rollouts/update webhooks to keep your internal cache in sync when merchants modify a Rollout.
  • Document for merchants – Explain in your app’s UI how a Rollout‑linked discount behaves differently, especially around partial traffic.
  • Monitor API deprecation – Older API versions will continue to filter out Rollout‑affected discounts, so plan to upgrade all integrations to 2026‑10 or later before the next version cycle.
  • 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.

    Tags
    Sources

    Related Articles

    Orders Webhooks Now Deliver Subscription Selling Plan IDs Directly

    Orders Webhooks Now Deliver Subscription Selling Plan IDs Directly

    Shopify’s latest webhook update adds a selling_plan_id field to order line items, letting developers identify subscription plans without extra API calls. Learn what changed, who it impacts, and how to adapt your apps today.

    October 1, 20263 min
    Unlocking Fiscal Compliance: New fiscalDeviceIdentifier Field on PointOfSaleDevice

    Unlocking Fiscal Compliance: New fiscalDeviceIdentifier Field on PointOfSaleDevice

    Shopify’s 2026-10 API adds a fiscalDeviceIdentifier to PointOfSaleDevice, giving developers a reliable way to access a device’s tax‑registered identifier for in‑person fiscal workflows. Learn what changed, who it impacts, and how to implement it today.

    October 1, 20264 min
    Why metafieldInteger Is Gone: Migrating to metafieldInt in API 2027‑01

    Why metafieldInteger Is Gone: Migrating to metafieldInt in API 2027‑01

    Shopify’s 2027‑01 API drops the metafieldInteger collection condition in favor of metafieldInt. Learn what changed, who’s affected, and step‑by‑step how to update your queries, mutations, and value types before the upgrade.

    October 1, 20264 min
    Unlocking Rollout Visibility: New Admin GraphQL Queries and Webhooks for Shopify Apps

    Unlocking Rollout Visibility: New Admin GraphQL Queries and Webhooks for Shopify Apps

    Shopify’s latest Developer Changelog introduces Rollout queries and webhooks in the Admin GraphQL API, letting apps discover, monitor, and react to coordinated launches, experiments, and temporary events. Learn what changed, who needs to act, and how to integrate the new capabilities today.

    October 1, 20264 min