See all services → Shopify Plus Partner
API Developer

Read Rollout Schedules And Traffic Splits Through The API

Apps can now query Rollouts, read their schedules, traffic allocation and affected resources, and subscribe to webhooks when they change. Reading configured allocation alone will mislead you.

Executive summary

What changed

Rollouts are how merchants run sales events, permanent launches and A/B tests by serving treatments to a configured share of buyers. Until now they were invisible to apps. The new surface lets an app list and search Rollouts with the root rollouts query, fetch one directly with rollout by ID, and read what each treatment changes across discounts, catalogs, themes, and checkout and accounts configurations. Schedule and allocation fields are readable: planned activation and conclusion times, configured trafficAllocation, current effectiveTrafficAllocation, and treatment split values. Webhooks cover lifecycle changes, effective-allocation changes and resource changes, so an integration can refetch on notification instead of polling. Access requires the read_rollouts scope, existing resource scopes still govern the underlying payloads, and installed apps may need merchant reauthorization.

Why it matters

One detail deserves more attention than the rest: configured allocation is not effective reach. The trafficAllocation field is what the merchant set. The effectiveTrafficAllocation field is what the Rollout actually receives once mutex group constraints with other active Rollouts are applied. An integration that reads the configured number and reports it as the share of buyers affected will be wrong whenever two Rollouts overlap, and it will be confidently wrong, which is the harder kind to catch. Any reporting or decision logic should read the effective value.

The broader value is explanatory. When a merchant asks why a discount, catalog or theme behaved differently from what the admin suggested, a Rollout is now a readable answer rather than a guess. For anyone operating a middleware layer between Shopify and downstream systems, that is one more source of silent divergence brought into view.

Role-specific impact

Use-case example

Real-world scenario

A footwear merchant on Shopify Plus runs two overlapping Rollouts during a seasonal event: a themed homepage at 50 percent and a discount test at 50 percent, both in the same mutex group. Its analytics middleware reads configured allocation and reports each as reaching half of buyers, so the conversion comparison looks internally inconsistent and the marketing team stops trusting the test. Reading effectiveTrafficAllocation instead shows the real split and makes the results usable. Subscribing to the effective-allocation webhook keeps that figure current when the merchant adjusts the event mid-flight, which on a two-week event happened three times.

Implementation checklist

  1. Decide whether your app needs Rollout visibility, which it does if it reads discounts, catalogs, themes, or checkout and accounts configurations.
  2. Add read_rollouts to your app's scopes and prepare a reauthorization path for existing installations.
  3. Move the integration to Admin GraphQL API version 2026-10.
  4. Use the rollouts query to discover active Rollouts, and the rollout lookup when you already hold an ID.
  5. Read effectiveTrafficAllocation, not trafficAllocation, anywhere you express or report buyer reach.
  6. Subscribe to the lifecycle, effective-allocation and resource-change webhooks, and refetch the affected Rollout on each event.
  7. Test with two overlapping Rollouts so the mutex behaviour is exercised before release.

FAQ

Q: Why do existing installs need reauthorization?

A: read_rollouts is a new scope. Merchants granted only the scopes your app requested at install time, so an app adding this one needs consent again before Rollout data is returned.

Q: Can we poll instead of using the webhooks?

A: You can, but effective allocation changes when other Rollouts start or stop, which is outside your control and hard to predict. The webhooks tell you exactly when to refetch, which is cheaper and more accurate.

Resources

Rollout object API reference

Need guidance? Talk to Makro.