Skip to main content
Shopify freezes an app subscription when it can’t collect from the merchant: a failed card, a store on pause. The subscription still exists, but it isn’t billing, and the store is in limbo until it’s resolved. Two triggers cover the pair.

Subscription is frozen

subscription.subscription_frozen fires when Shopify reports the subscription as frozen and it wasn’t frozen already. A repeated frozen report doesn’t fire again. This is an involuntary state, not a decision the merchant made. The email that works here is a heads-up about payment, not a win-back.

Subscription is unfrozen

subscription.subscription_unfrozen fires when a frozen subscription returns to active. It’s deliberately distinct from Subscription is activated: the store was already a customer, so a first-purchase welcome would read badly.

What they carry

Both carry the store’s variables plus the subscription payload’s subscription_plan and subscription_status.

Building on them

  • On frozen: email the merchant that billing failed and their access is at risk, and set a custom field your app can read to soften what it gates.
  • On unfrozen: clear that field, and optionally confirm to the merchant that everything’s back.
  • Branch either on a segment if you only want to chase paying tiers.
As with every subscription trigger, an out-of-order Shopify delivery describing an older state than the one recorded is ignored. A freeze followed by a late-arriving “active” from before it won’t fire the unfreeze. A “frozen” that Shopify sent before the store uninstalled your app but that reaches Meridian after the uninstall fires nothing either: the uninstall cancelled the subscription, and it is recorded as cancelled.
Last modified on October 7, 2026