Regulatory & Compliance

Shopify Shift to Market-Driven Shipping Puts State Blocks for Restricted SKUs Up for Retest

Shopify opened market-driven shipping to existing merchants on October 1, 2026, with every store moved by July 1, 2027. The upgrade replaces shipping profiles, which some hemp, nicotine, knife, and tactical sellers use to keep restricted products out of certain states, and changes several defaults those blocks depended on.

Illustration of neighbors outside a New England post office on a windy October morning, checking a shaded state map before parcels go out.

Shopify opened market-driven shipping to existing merchants on October 1, 2026, starting a nine-month move that ends with every store on the new model by July 1, 2027. The change retires the merchant-built shipping profile, which some hemp, nicotine, knife, and tactical-accessory sellers have used as a simple state block. A restricted product sits in its own profile, and that profile simply has no rate for the states where the product cannot go.

Shopify says the migration carries existing rates over automatically. Its documentation does not walk through what happens to a profile built to withhold shipping from particular states, and the new model changes several defaults that those setups quietly depended on. For sellers whose shipping settings double as a compliance control, the switch is a reason to run test orders before, and right after, a store flips.

What Shopify is changing and when

Shopify’s developer changelog entry of July 1, 2026 says market-driven shipping “moves merchant-owned shipping configuration out of delivery profiles and into Markets.” Merchants attach shipping options such as Standard or Express directly to each market, then vary the rate inside an option by product and by fulfillment location. The same entry gives the rollout window, October 1, 2026 through July 1, 2027, and Shopify’s October 1 fulfillment roundup tells merchants they can opt in from Shipping and delivery settings in the admin. The developer timeline notes the dates are “subject to change.”

The Help Center page on upgrading from shipping profiles to shipping options by market says stores are upgraded gradually, that most merchants “don’t need to take any action,” and that stores using shipping apps “might be upgraded later, after those apps become compatible.” Merchants who opt in early can switch back during an opt-out window, but Shopify warns that reverting “permanently removes any shipping changes” made after the upgrade.

How a state block works under shipping profiles

Under the current system, a Shopify store has a general profile that covers every product by default and up to 99 custom profiles. Shopify’s shipping profiles page says a product that “isn’t in a custom profile” uses the general rates. The reverse is what restricted sellers lean on. Once a product moves into a custom profile, it ships only where that profile has a zone and a rate.

A May 2023 Shopify Community thread shows the pattern in practice. A Shopify Plus merchant split its catalog into “Restricted Products” and “Permitted Products” profiles so that certain states could not check out the restricted group, then found that mixed carts were charged shipping twice. Later replies in the thread point to checkout validation apps as the cleaner fix, but the profile approach remains the no-code option for a small store.

EC4IM has covered the broader problem of encoding state shipping ban matrices in cart rules. A profile with missing zones is the simplest version of that matrix, and it is the version the upgrade rewrites.

What the upgrade does with existing profiles

Shopify describes the migration in three moves. Shipping zones become markets, and the Help Center says the upgrade “might also create sub-region markets, such as a market for a specific state or province” to match the regions old zones covered. Product groupings in profiles become unpublished collections with a “[Shipping]” prefix, such as “[Shipping] Fragile,” assigned to the product conditions on the migrated rates. Location groups become location conditions.

Product conditions in the new model are blunt. The Help Center page explaining shipping options by market says a rate applies either to “all products available in the market” or to specific collections. Individual products cannot be attached to a rate except through a collection.

On Shopify’s developer forum, a Shopify staff member posting as drew-shopify wrote on July 7 that the company plans “to execute the migration such that merchants will experience no changes to their rates.” In a follow-up example, the general profile’s rate became an option with “Product conditions: None (all products),” while a fragile profile became a separate option tied to a fragile collection. That example was about keeping rates summed across profiles, not about states where a product has no rate at all.

Where compliance and shipping apps fit

Shopify’s app upgrade guide splits apps into three groups. Apps that only manage their own app-owned delivery profiles need no changes. Apps that read the merchant’s delivery profiles must switch their read path, and apps that create or modify the merchant’s profiles must switch their write path, either to an app-owned profile or to the Markets API. The deliveryProfile and deliveryProfiles surfaces are being deprecated for merchant-owned shipping configuration.

The guide is direct about the failure mode. Starting October 1, new installs of an app not yet marked compatible show a warning, and “any merchant who opts in manually will hit breakage if your app isn’t upgraded.” Shopify says it will not move merchants on an app automatically until it confirms the app is compatible. The Help Center adds that an incompatible app’s rates “might not be displayed at checkout, which can prevent customers from completing their order,” and that a banner on the Shipping and delivery settings page flags installed apps that are not compatible.

App-owned profiles also behave differently after the change. The developer changelog says “adding a product to an app profile will no longer impact the merchant configuration,” and the upgrade guide says products in an app profile “may receive rates from both the app and the merchant’s markets.” Under the old model, a product could sit in only one profile.

Analysis: where a state block could loosen

The points below are EC4IM’s reading of Shopify’s published documentation. Shopify has not said that state exclusions break during migration, and the company’s stated goal is that rates stay the same. Each point is a reason to test, not a reported failure.

  • New rates default to every product. Shopify’s setup instructions say “by default, a rate applies to all products in the market.” Under profiles, a rate added to the general profile never reached products parked in a custom profile. After the upgrade, a staff member who adds a holiday flat rate to the United States market and leaves the Applies to setting alone has, by the documentation’s wording, made that rate available to restricted SKUs shipping to any state in the market.
  • Overlapping markets stack their options. Shopify says that when a shipping address falls inside more than one market, “the shipping options from all of those markets are displayed at checkout,” and a child market inherits its parent’s options unless it is customized. A store that ends up with a state-level market from the migration and a country-level United States market should confirm which options a restricted product actually gets at an address in a blocked state.
  • App profiles are no longer exclusive. A compliance or shipping app that moved restricted products into its own profile relied on the old one-profile rule to pull those products away from the merchant’s general rates. Shopify now says those products can draw rates from the merchant’s markets too.
  • The general rate becomes an all-products option. Shopify’s examples show the general profile turning into a rate with no product condition. The documentation reviewed for this article does not explain how the migration keeps that rate away from products that sat in a custom profile with no zone for a given state.

Staff access is a smaller trap. The Help Center says shipping now requires the Markets permission, which “isn’t granted automatically and isn’t included in existing staff roles.” A fulfillment lead who used to maintain profiles may lose the ability to see the new rates, while whoever holds Markets access gains it.

Analysis: what a retest covers

Shopify’s own guidance is to place a test order after setting up shipping options. For a restricted catalog, a useful test set is short: one cart per restricted product group shipped to an address in each blocked state, plus a mixed cart that pairs a restricted item with an unrestricted one. Checkout should refuse to offer a shipping option for the restricted item in every blocked state, exactly as it did before the upgrade.

The other checks follow Shopify’s post-upgrade list. Sellers can confirm that each “[Shipping]” collection holds the same products and variants as the profile it replaced, look for any sub-region markets the upgrade created, and check the app compatibility banner. Any discrepancy found inside the opt-out window can be resolved by reverting, at the cost of changes made after the upgrade.

Sellers who want a block that does not depend on shipping configuration at all have another route. Shopify’s Cart and Checkout Validation Function API lets an app reject a cart server-side, including express wallets such as Shop Pay, PayPal, Google Pay, and Apple Pay, with up to 25 validation functions per store. EC4IM described Shopify’s push toward those functions for age checks in its piece on Shopify checkout extensibility deadlines for compliance apps. A validation rule keyed to product and state does not care how rates are organized, which makes it a backstop if shipping settings drift.

What remains unclear

Several details are not settled in Shopify’s public material as of October 9. The Help Center upgrade pages still carry an “early access” banner saying the feature “is available only to certain stores,” while the October 1 blog post says all merchants are eligible to opt in. Shopify does not publish the length of the opt-out window. The documentation also does not spell out how a migrated store treats a product that, under the old model, had no rate for a given state. Sellers that rely on that behavior will learn the answer fastest from their own test orders. EC4IM’s earlier explainer on Shopify Markets and cross-border selling for restricted product categories covers how markets already govern where a catalog is sold. After the upgrade, the same screens also decide where it ships.

Shipping settings move, compliance checks move with them

Shopify’s market-driven shipping rollout, which began October 1 and runs until July 1, 2027, takes shipping out of profiles and rebuilds it as options inside Markets, with collections standing in for product groupings and new state-level markets where old zones need them. Shopify promises unchanged rates and holds back automatic upgrades for stores whose apps are not yet compatible, but it warns that merchants who opt in early on an unready app will see breakage. For restricted sellers, the open questions sit in the defaults: rates that cover all products unless told otherwise, overlapping markets that combine options, and app profiles that no longer wall products off. A round of state-by-state test orders, a check of the new collections, and a confirmed compatible app, ideally before the opt-out window closes, are the practical way to know a block that worked under profiles still holds under Markets.

Sources