
Reducing app uninstalls: read the reasons in the Partner Dashboard and fix the first run
Where to find uninstall reasons and subscription data in the Partner Dashboard, how to capture subscription events, and what to improve in activation, trials and renewals.
Where uninstall reasons show up
Before you change anything in your app, start with what merchants tell you. According to the Public App Management article in the help centre, you reach uninstall reasons like this:
- Log in to the Partner Dashboard.
- Open My Apps from the sidebar to see your published apps.
- Click View in the Merchant Reviews column for the app you want.
- You'll see two tabs: Rates & Reviews and Uninstall Reason. The second lists the reasons merchants submitted when they uninstalled your app.
The dashboard's app analytics also show total income, subscriptions and ratings, installation analytics, the split between trial and paid subscriptions, the latest installs, and the latest ratings and reviews. You can filter by date range and app type.
partners.zid.sa, so some labels may differ slightly from the help-centre screenshots.The Subscription List: early signals before an uninstall
The Subscription List shows every store subscribed to your app. These columns are worth a weekly look:
- Installation Status: "Not Activated" means the store subscribed but hasn't activated the app yet. These merchants are the closest to leaving without ever trying your app.
- Plan Type: whether the subscription is free or paid.
- Subscription Status: filter by status, such as Active, Renew and Expired.
- Recurring: whether the subscription is set to auto-renew.
- Export All: download the list in Excel format. The export adds fields such as
app_id,store_url,partner_shareandzid_share.
The contact details in this list are the store's primary phone and email, not those of the user who activated the app, so keep that in mind when you follow up.
Capture subscription events in your own system
Don't rely on the dashboard alone. Subscribe to the app subscription events in the Webhooks section of your app in the Partner Dashboard, so you keep your own record of each merchant's journey:
app.market.application.installandapp.market.subscription.active: the start of the journey.app.market.subscription.warning: sent 3 days before the last subscription date.app.market.subscription.suspended: sent when the subscription period ends. A grace period follows until T+5, during which the app stays installed.app.market.subscription.expired: sent at T+5, when the app is uninstalled from the store.app.market.subscription.renew,app.market.subscription.upgradeandapp.market.subscription.refunded.app.market.application.uninstall: sent when the merchant uninstalls the app.
{
"app_id": 1292,
"store_id": 507530,
"store_url": "https://wyatt.com.sa/",
"plan_name": "...",
"status": "uninstall",
"start_date": "2025-02-21T08:05:29.000000Z",
"end_date": "2025-03-22T08:05:29.000000Z",
"amount_paid": 79.01,
"event_name": "app.market.application.uninstall",
"plan_type": "Paid",
"plan_id": 904
}The published app.market.application.uninstall payload example carries the store, plan, plan_type and dates, but no reason field. Join the event with the Uninstall Reason tab in the dashboard. Also remember that the activation policy requires you to stop processing and remove the applicable access after an uninstall.
Read the pattern: when do merchants leave?
This section is general churn-analysis practice, not a Zid rule. The idea is that the timing of an uninstall tells you more about its cause than the count does:
- In the first days, before setup is complete: usually an activation problem, or expectations set by your listing.
- At the end of the free trial: the merchant hasn't reached value yet, or the price doesn't match what they saw. You can spot trials by
plan_typeequal toFree Trial. - At renewal: the subscription reached
expiredwithout arenew, which points to usage fading during the period. - After an error or outage: compare uninstall dates with your error logs and support tickets.
Put each reason from the Uninstall Reason tab into one of these buckets and watch which bucket grows month over month.
Fix the first run: activation and setup
The Zid App Activation & OAuth Policy defines how the journey starts, and much of it directly supports retention:
- A standard app starts OAuth immediately when the merchant selects Activate. Account linking and configuration come after.
- The preferred flow creates the partner workspace automatically after OAuth when verified Zid information allows it, then moves to essential configuration and shows a clear completion state.
- Only show Service ready once mandatory setup is complete. If something remains, show the remaining action and let the merchant resume safely.
- Preserve the verified store throughout setup. Don't make the merchant restart activation or type their store ID.
- Embedded apps open inside the merchant dashboard without an unnecessary separate login.
A good practice is to measure the time from install to the merchant's first tangible result, and to cut every step that doesn't move them closer to it.
Trials, renewals and in-app guidance
- Trial length: the review checklist asks that your trial gives merchants enough time to explore and evaluate the app.
- Renewal window: the window to repurchase the same plan opens at T-5, and
app.market.subscription.warningarrives 3 days before the end. Use that moment to remind the merchant, inside the app, of what they've achieved. - Partner coupons: you can create a coupon in the Partner Dashboard and restrict it to specific Store IDs. Since the August 2026 update, Zid and the partner share the coupon discount cost 50/50, and coupons work even when the plan already has an offer.
- An honest listing: include activation steps and important limits in your description and describe plan features accurately, because Zid logs merchant complaints about unsupported features.
- In-app support: a visible support channel inside the app is now a review requirement, and it's also the shortest route to fixing a problem before it becomes an uninstall.
General practices that help: short contextual tips instead of a long manual, empty states that explain the next step, and an FAQ built from your most frequent uninstall reasons.
Key takeaways
- Uninstall reasons live in the Partner Dashboard: My Apps, then View under Merchant Reviews, then the Uninstall Reason tab.
- The
app.market.application.uninstallevent carries no reason, so join it with the dashboard and your own logs. - Stores marked "Not Activated" and trials nearing their end deserve follow-up first.
- Start OAuth immediately, show setup status clearly, and don't claim Service ready before setup is done.
Sources
Start building on Zid
Sign up in the partner portal, then build and test on a development store.


