Why Merchants Are Uninstalling Your Shopify App, and How to Find Out
Here is what most developers miss about Shopify app uninstalls. When a merchant removes your app, Shopify asks them why. They often answer. That feedback exists. You just cannot get to it easily.
It is not in the webhook. The app/uninstalled webhook tells you which store left, and nothing about why. The written reason sits in Partner dashboard event history, several screens deep. It is mixed among installs and usage charges, with no API to pull it out. Developers have asked Shopify to expose it for years.
This guide covers where that feedback lives and what the data tells you without it. It also covers the seven reasons merchants leave, and how to build a workflow that catches both.
TL;DR: Understanding Shopify App Uninstalls
|
Question |
Quick answer |
|---|---|
|
Does Shopify tell me why a merchant uninstalled? |
Yes, merchants are asked for a reason, but the response is only visible in Partner dashboard event history. |
|
Can I get the reason via API? |
No. The app/uninstalled webhook identifies the store, not the reason. There is no API field for it. |
|
What does the webhook give me? |
The store that uninstalled, delivered after the fact. Charges are already cancelled and the access token is dead. |
|
Backup detection method |
Watch for 401 or 403 responses from the Shopify API, which indicate a revoked token. |
|
When do most uninstalls happen? |
Early. Around 14% of merchants uninstall within 24 hours and only about 35% remain by day 90. |
|
What the data shows without the survey |
Timing, plan, install source, session count, and the last event before leaving. |
|
The highest-value habit |
Read every uninstall reason, and pair it with timing data to see which cause dominates. |
Why Mobile Advice Does Not Apply to Shopify App Uninstalls
Search for app uninstall advice and you will find mobile content. Notification fatigue, storage pressure, battery drain, intrusive ads. Typical mobile uninstall research covers these well. They are all real problems, and none of them are yours.
|
Mobile consumer app |
Shopify app |
|
|---|---|---|
|
Who uninstalls |
An individual user |
A business making a commercial decision |
|
Typical trigger |
Annoyance, storage, notifications |
Setup friction, cost, no visible return |
|
Money involved |
Often free or ad-supported |
A recurring subscription being cancelled |
|
Feedback available |
Rarely any |
A written reason, if you can find it |
|
Reinstall likelihood |
Low |
Meaningful, especially after a fix |
The commercial framing matters. A merchant uninstalling your app is cancelling a business expense. The reasoning is usually articulable, which is why the feedback is worth chasing.
[Image alt text: comparison of mobile app uninstalls and Shopify app uninstalls by merchant]
What Shopify Actually Tells You
Three mechanisms report Shopify app uninstalls, and each carries different information.
|
Mechanism |
What it gives you |
Limitation |
|---|---|---|
|
app/uninstalled webhook |
The store that removed your app, delivered on the event |
No reason, and it fires after everything is already gone |
|
401 or 403 API responses |
A reliable backup signal that the token was revoked |
Detection only, no context whatsoever |
|
Partner dashboard event history |
The merchant's written uninstall reason |
Buried several screens deep, mixed with other events, no API |
Worth knowing about the webhook: by the time it arrives, any recurring charge has already been cancelled and the access token is dead. Shopify's uninstall documentation notes that uninstalling also triggers cleanup of registered webhooks, script tags, and admin links. There is no window to intervene, only to learn.
Register the webhook at install time rather than later. Treat 401 and 403 responses as a secondary check. Webhook delivery failures come up often in developer forums, so a single detection path is risky.
Where the Uninstall Reason Is Hidden
This is the part most developers never find. When a merchant removes an app, Shopify prompts them to say why. Many do. The response is recorded, but only in one place.
|
Step |
Where to go |
|---|---|
|
1 |
Log in to your Shopify Partner dashboard |
|
2 |
Open the specific app |
|
3 |
Navigate to the event history section |
|
4 |
Filter or scan for uninstall events among installs and charges |
|
5 |
Open each uninstall entry to read the merchant's reason |
The friction is real, and it explains why so few teams bother. Each app requires its own path. Events are interleaved with installs and charges, and there is no export. Third-party tools exist purely to email these reasons to developers.
Developers have repeatedly asked Shopify to expose the reason through the API. For now it remains dashboard-only. Reading it is a manual habit rather than an automated one, and still worth building into your week.
7 Reasons Behind Shopify App Uninstalls
Across written feedback and behavioural patterns, Shopify app uninstalls cluster into seven causes. Each has a different fix.
|
# |
Reason |
When it shows |
What it points to |
|---|---|---|---|
|
1 |
Setup was too hard |
First 24 to 48 hours |
Onboarding friction, not product quality |
|
2 |
Never saw the value |
First 30 days |
Time to first value is too long |
|
3 |
Price versus perceived return |
After first or second charge |
Pricing or value communication |
|
4 |
Found a better alternative |
Any time |
Feature or positioning gap |
|
5 |
Only needed it temporarily |
Seasonal or campaign-linked |
Legitimate, not a failure |
|
6 |
Store closed or paused |
Any time |
Outside your control entirely |
|
7 |
Broke something or conflicted |
Shortly after install or update |
Compatibility, often with another app |
Separating five and six from the rest matters enormously. A seasonal installer and a merchant who could not finish setup both appear as churn. Only one is a problem you can fix. Conflating them makes your uninstall rate look worse than your product is.
What Uninstall Data Reveals Without a Survey
Even with no written reason, the surrounding data is diagnostic. Timing alone narrows the cause substantially.
|
Signal |
What it tells you |
|---|---|
|
Time from install to uninstall |
Under 48 hours points to setup; after 30 days points to value or price |
|
Whether onboarding completed |
Separates never-activated from activated-then-left |
|
Plan at uninstall |
Entry-tier and top-tier churn have different causes |
|
Install source |
Some acquisition channels reliably produce merchants who leave |
|
Last event before uninstall |
A failed charge, a support ticket, or simple silence |
|
Whether a charge succeeded |
Distinguishes a decision from a billing failure |
|
Other apps installed |
Reveals conflicts or a competitor arriving |
Timing is the strongest of these. Around 14% of merchants uninstall within 24 hours. That is almost entirely a setup and expectations problem, not a product one. If most of yours land in that window, onboarding is the fix, and no survey is needed to know it.
A Workflow for Analysing Shopify App Uninstalls
1. Register the webhook at install time
Set up app/uninstalled when a merchant first installs, and add 401 or 403 monitoring as a backup path.
2. Record the full context at uninstall
Capture install date, plan, source, and onboarding status alongside the event. Record last activity and last charge outcome too.
3. Read the dashboard reasons weekly
Block twenty minutes. Read every written reason from the past week and tag it against the seven causes above.
4. Bucket by timing before anything else
Split uninstalls into under 48 hours, days 2 to 30, and after 30 days. These three groups almost always have different causes.
5. Separate controllable from uncontrollable
Store closures and seasonal use are not failures. Excluding them gives you a cleaner picture of what is actually broken.
6. Reach out where it makes sense
The webhook arrives after the subscription is gone. A short, non-defensive email asking what went wrong still recovers some merchants. It also produces better feedback than the survey field does.
7. Feed findings into the roadmap monthly
Individual reasons are anecdotes. Tagged and counted over a month, they become your clearest prioritisation signal.
Tracking Shopify App Uninstalls Alongside Everything Else
The practical difficulty is that context for Shopify app uninstalls lives across several places. The webhook fires in your app. The reason sits in the dashboard, and the merchant history sits somewhere else again.
Install and uninstall tracking in Elevate connects to your Partner account and keeps that context together, so an uninstall is a point on a merchant's history rather than an isolated event.
|
What it surfaces |
Why it matters at uninstall |
|---|---|
|
Install and uninstall events with dates |
Time-to-uninstall bucketing without manual calculation |
|
Full merchant timeline |
The sequence of events immediately preceding the exit |
|
Plan and subscription history |
Whether they downgraded before leaving |
|
Payment and charge events |
Separates a failed charge from a real decision |
|
Install source attribution |
Which channels produce merchants who do not stay |
|
Exportable uninstall lists |
Ready-made outreach queues for win-back |
[Image alt text: Shopify app uninstalls tracked on a merchant timeline with plan and payment context]
Uninstalls are the visible end of a longer process. Catching accounts earlier is covered in finding at-risk customers, the sequence behind each exit in customer journey tracking, and what the losses cost in revenue churn.
CleverTap, MoEngage, AppInventiv, and Sendbird own the high-volume terms with mobile content about notification fatigue and storage. Chasing that volume would bring readers with an entirely different problem. The Shopify-qualified terms carry less traffic and far better intent, and no one currently explains where the uninstall reason is actually stored. That specific answer is the strongest asset on this page.
Elevate makes Shopify app uninstall tracking more useful by connecting every uninstall to the merchant data around it. App teams can analyse merchant churn, time to uninstall, subscription and plan history, payment activity, acquisition source, and the events leading up to cancellation from one Shopify app analytics platform. This turns uninstall data into actionable customer retention insights, helping teams identify why merchants leave, spot recurring churn patterns, and prioritise the product, onboarding, or pricing changes most likely to reduce Shopify app uninstalls.
Frequently Asked Questions
How do I find out why a merchant uninstalled my Shopify app?
Shopify asks merchants for a reason when they remove an app, and the response appears in your Partner dashboard under event history for that app. It is not available through the API or the webhook payload, so reading it is a manual routine.
Does the app/uninstalled webhook include the uninstall reason?
No. The webhook identifies which store is uninstalled and nothing more. Developers have requested access to the reason for years, but it remains dashboard-only.
How else can I detect that my app was uninstalled?
Watch for 401 or 403 responses from the Shopify API, which indicate the access token was revoked. This is a useful backup, since webhook delivery is not always reliable.
Can I still charge a merchant after they uninstall?
No. By the time the webhook arrives, any recurring charge has already been cancelled and the access token is dead. Uninstalling also triggers cleanup of webhooks, script tags, and admin links.
When do most Shopify app uninstalls happen?
Very early. Around 14% of merchants uninstall within the first 24 hours, and only about 35% are still active at day 90. Uninstalls concentrated in the first 48 hours usually indicate a setup problem.
What are the most common reasons merchants uninstall?
Setup difficulty, never reaching visible value, price versus perceived return, finding an alternative, only needing the app temporarily, the store closing, and conflicts with another app or theme.
Should I email merchants after they uninstall?
Yes, if the message is short and genuinely asks what went wrong rather than pitching a return. It often produces better feedback than the survey field and recovers a meaningful share of merchants after a fix ships.
How do I reduce my uninstall rate?
Start by bucketing uninstalls by time from install. Under 48 hours points to onboarding, days 2 to 30 to time-to-value, and after 30 days to pricing or a competitor. Fix the dominant bucket first.