Shopify Auto-Migrated Every Address Blocker Rule in July — Some Didn't Survive, and Non-Plus Stores Just Got the Feature for Free

By Milan Dhameliya · · 7 min read

Shopify quietly migrated every store's Checkout Blocks Address Blocker rules to a new address format validation checkout rule by the end of July 2026, ahead of the Address Blocker's August 31 sunset. The migration was automatic and mostly silent — some rule types, like requiring a street number, aren't supported in the new system and simply didn't come across. Here's how to check what your store actually has active right now, and why non-Plus stores should read this too: the replacement reached every plan, not just Plus.

If your store used the Checkout Blocks app to stop orders shipping to PO boxes, freight-forwarder addresses, or specific ZIP codes, that rule quietly changed underneath you last month, whether or not anyone at your store touched a setting. Shopify's Address Blocker — the checkout function that ran those rules — is deprecated, and by the end of July 2026 Shopify automatically moved every store's "compatible" Address Blocker rules onto a new address format validation checkout rule. No migration wizard, no email asking you to review the result, no diff of what changed. If every rule you had happened to be compatible, you'd never notice. If one wasn't, you'd never notice that either — until an order ships somewhere it shouldn't.

The second half of this is better news, and it's easy to miss if you were never a Shopify Plus merchant: the Address Blocker was Plus-only. Its replacement isn't. Address format validation rolled out to every plan on June 17, 2026, which means stores on Basic, Shopify, and Advanced can now block PO boxes and enforce address formats at checkout for the first time, at no extra cost, with no app install beyond the Checkout Blocks app itself.

The timeline, as Shopify has stated it

Those last two dates come from two different official Shopify pages and don't fully agree on what "sunset" versus "removed" means in practice. Don't spend time reconciling them — the part that actually matters already happened. Your rules were migrated (or dropped) in July, weeks before either deadline arrives.

Check what your store is actually running right now

Go to Settings > Checkout > Checkout rules in your admin, or open the Checkout Blocks app directly and look under Functions > Address format validation. What you're looking for is whether an address format validation rule exists at all, and whether the conditions on it match what you remember configuring in the old Address Blocker.

If you don't have a written record of your old rules — most stores don't — reconstruct it from what the store actually needs, not from memory of a settings screen you configured eighteen months ago:

  1. Do you sell anything where shipping to a PO box, freight forwarder, or parcel locker causes a real fulfillment or compliance problem (freight items, age-restricted goods, high-value goods you insure against a physical delivery address)? If yes, confirm PO box / parcel locker / diplomatic / military / USPS GoPost blocking is still active.
  2. Did you ever block specific ZIP codes — a region you don't ship to, or one flagged for chargeback fraud? Confirm the codes are still listed under the ZIP rule, not silently dropped.
  3. Did you require a street number, to stop orders with a vague or generic address from being placed? This is the one rule type that's confirmed not supported by the new system as a direct equivalent — see below.
  4. Did you block non-ASCII characters (emoji, special symbols) in address fields? You can stop looking for this one specifically — checkout now blocks emojis, special symbols, HTML tags, and URLs in address fields platform-wide, so it no longer needs to be a rule you maintain. Its absence from your rule list is expected, not a migration failure.

The one rule type that doesn't carry over: requiring a street number

Address format validation ships five rule types: blocking specific address types, blocking ZIP/postal codes, enforcing character-count limits, requiring specific fields, and matching a field against a custom regex pattern. "Require a street number" isn't one of the built-in options the way it was in the old Address Blocker. Shopify's own guidance is to use the general checkout setting for requiring additional address fields instead — but that setting makes optional fields like phone number or company mandatory, not enforce the content of a field that's already required. It won't stop someone typing "General Delivery" or "See note" into the address line.

If the actual goal is rejecting a street address that doesn't contain a number, the custom regex rule type is the mechanism built for exactly this — it lets you block checkout when a field matches (or fails to match) a pattern you define, applied to the address line field. A starting pattern that requires at least one digit somewhere in the value looks like this, but treat it as a draft to test against your own address formats before activating, not a copy-paste guarantee — Shopify doesn't publish which regex engine the rule runs on, and international address formats vary more than a single pattern usually accounts for:

^.*[0-9].*$

Use the rule preview before switching status to Active, and test it against a handful of real customer addresses from your order history — including any legitimate ones that are number-light, like some rural or UK addresses — before you risk blocking a real customer over a false positive.

What was never covered, before or after the migration

Both the old Address Blocker and the new address format validation rule only validate shipping addresses. Billing address fields aren't supported by either system. If you've been relying on a workaround — an app, a Shopify Flow automation, a manual review queue — to catch fraud signals on billing addresses, that gap didn't open with this migration and it isn't closed by it either. Worth confirming that workaround is still in place, since teams sometimes assume a checkout-level migration touched more than it did.

Setting up address format validation for the first time, if you're not on Plus

If your store was never on Shopify Plus, this is genuinely new capability, not a migration to review. From the Checkout Blocks app, under Functions, create a new address format validation function, optionally scope it to specific markets if you only want the rule active in certain regions, and build the conditions you need. A common first rule for a store that's been getting misdelivered freight or high-value orders:

Save it, switch status to Active, and place a real test order against each blocked condition before relying on it — the same rule preview and testing discipline applies whether you're migrating an old rule or building a new one.

Audit checklist

  1. Open Settings > Checkout > Checkout rules and confirm an address format validation rule exists if your store ever used the Address Blocker.
  2. Compare its active conditions against what your store actually needs shipped-address protection for — don't assume the migration was complete just because a rule is present.
  3. If street-number enforcement mattered to you, rebuild it as a custom regex condition and test it against real order addresses before activating.
  4. Confirm billing-address fraud checks are handled elsewhere, since neither system validates them.
  5. If you're on Basic, Shopify, or Advanced and never had this capability before, evaluate whether PO box or ZIP blocking would have prevented real fulfillment problems in your last twelve months of orders — it's a five-minute setup now.

This sits in the same category as the Shopify Scripts shutdown — a legacy customization mechanism replaced by a Shopify Function, migrated on Shopify's schedule rather than yours, with the burden of verifying the result landed on the merchant. It's also worth reading alongside the checkout custom fields deadline if you're a non-Plus store still mapping out what checkout extensibility has and hasn't opened up for you this year. If you want a second set of eyes on what actually migrated versus what quietly didn't, get in touch, or see what I do for Shopify stores working through checkout changes like this one.