Hello! Last week I started seeing this uninstall reason for the very first time. I have never seen this before, is this something new that Shopify has added? Has anyone else started seeing this as well in their dashboards?
Also I am a bit confused on what this mean, are the apps automatically uninstalled by Shopify when a merchant decides to cancel their Shopify plan?
Hey @Rami! Good eye, this is a recent platform change. When a merchant schedules the cancellation of their Shopify store (rather than cancelling immediately), Shopify now automatically uninstalls all third-party apps as part of that process. The scheduled_cancellation reason indicates exactly that. The merchant didn’t manually uninstall your app; they’ve decided to close their store and Shopify handled the app cleanup on their behalf.
This went live in the last few weeks, which is why you hadn’t seen it before. Your existing webhook handlers will continue to work normally, but you may want to account for this reason in your analytics. These uninstalls represent merchants leaving the platform, not merchants choosing to remove your app specifically, so filtering them out of your churn metrics could give you a more accurate picture of voluntary uninstalls.
I don’t believe the possible uninstall reasons are documented anywhere publicly at the moment. I’m raising that internally as something that should be addressed. Let me know if you have any other questions about this!
Hi Donal,
I’d like to ask that, when a merchant schedules their store for cancellation, are all the apps they use also canceled? If they cancel the store immediately, what happens to the apps and what notifications do app developers receive? Also, could you help clarify the difference between shop cancellation and store closure?
Thank you!
Shop cancellation and store closure are the same thing - the merchant-facing “Close store” button and the internal “cancel shop” process both run the same flow. The only meaningful split is whether the cancellation is scheduled (default, takes effect at the end of the current paid billing cycle) or immediate.
On the scheduled path, apps stay installed and functional during the wind-down window. When the cancellation date arrives, Shopify uninstalls each third-party app and you receive the standard app/uninstalled webhook. The scheduled_cancellation value isn’t part of the webhook payload itself, it’s surfaced as the uninstall reason in your app analytics in the Partner / Dev Dashboard, which is where you’d see it broken out alongside other reasons. On the immediate path, the same app/uninstalled webhook fires once the closure is processed, and 48 hours after the uninstall you’ll get the shop/redact GDPR webhook regardless of which path the merchant took.
Distinct from cancellation entirely, things like trial expiry, plan freeze for billing failure, the Pause plan, and Shopify-initiated terminations all behave differently and won’t surface as scheduled_cancellation.
"I don’t believe the possible uninstall reasons are documented anywhere publicly at the moment. I’m raising that internally as something that should be addressed. Let me know if you have any other questions about this!"
+1 here. It would be great to have uninstall reasons included in the app/uninstalled webhook, as we currently have no way to track this internally.