One tap that protects the store rating and the patient relationship at once.
The idea is simple: the people most likely to leave a 5-star review are the ones who just had a genuinely good moment — but no one was asking them then. Meanwhile, frustrated patients had nowhere private to vent, so their unhappiness leaked into public 1-stars. This system asks the right person, at the right moment, in the right place — and turns every unhappy rating into a ticket the support team actually closes.
Plenty of happy patients — barely any public proof of it.
Internally, Zyla was loved: thousands of high in-app ratings every month. But the public App Store told a different story — only about a hundred ratings, far below what the experience deserved. New patients researching a health app saw a thin, unconvincing rating, while the quietly delighted majority were never asked to speak up. And when someone was unhappy, the only outlet was a public review — so frustration that could have been fixed in a day became a permanent 1-star.
The design challenge: ask for ratings only after a real win, read sentiment before deciding where it goes, never nag, and make sure no complaint is left unanswered. Four constraints, one quiet little pop-up.
Four rules the whole system follows.
Ask after a real win
The prompt only fires when a care-team member just had a genuinely good interaction — never at random.
Let sentiment choose the path
Delight is sent to the App Store; frustration is sent to a private form that goes straight to the team.
Respect the user — never nag
Smart cooldowns mean a patient is asked at most occasionally, and never again once they've rated.
Close every loop
Each unhappy rating lands on a dashboard where support resolves it or escalates — nothing is left unheard.
The ask is earned — fired by a real win, automatically or by a human.
The prompt fires two ways. Automatically, the moment a patient successfully books or completes an appointment — a natural high point. Or manually, when a care-team member taps "Request Rating" after a genuinely good chat. Either way it's tied to a real win, which is what makes it feel earned. And if the patient has closed the app, the pop-up patiently waits for their next visit instead of interrupting.
Triggered by a real win
Automatically when a patient books or completes an appointment — or manually from the console after a good chat.
→Prompt appears in-app
If the app is closed, it waits and shows on the patient's next open.
→Patient rates by sentiment
One emoji tap — the screen colour follows the mood.
→Sentiment routes the rest
Happy → App Store. Unhappy → private feedback to the team.
Step 2 forks on how the patient actually feels.
A 4 or 5 means a happy patient — so we gently point them to the App Store, where their voice helps the next person find Zyla. A 1, 2 or 3 means something went wrong — so instead of a review box, they get a calm "what got in the way?" form that goes straight to the support team. Same step, two very different, deliberate destinations.
Only advocates are pointed at the store, so the rating climbs honestly instead of being dragged down by fixable frustrations.
Unhappy patients feel heard in private and get a real fix — far better than a one-star nobody answers.
Quick issue chips make feedback easy to tag and analyse; the free-text field still leaves room for the real story.
The "happy" nudge is never the same line twice.
A prompt that says the exact same thing every time starts to feel like a chore. So for every 4- or 5-star rating, the App Store ask is drawn at random from a set of warm, varied messages — each one feels fresh, human, and a little delightful, even for a returning patient.
Loving that you're loving Zyla
Help someone else start their journey — share your experience on the App Store.
Glad Zyla's been good to you
Help someone else feel the same — a quick rating on the App Store goes a long way.
That tap just made our day
Share the love on the App Store and help us reach more people like you.
A pleasure to see you smile
A quick App Store rating helps the next person find their reason to smile.
Happy you're happy with Zyla
The App Store is where the next person will look — a rating from you helps them find us.
Familiar, never canned
Rotating the copy keeps the ask feeling personal across repeat prompts — small touch, real effect on tap-through.
The rules that keep it kind — and trustworthy.
A prompt this powerful needs guardrails so it never tips into spam. The logic lives quietly in the background.
⏳ Cooldowns, not nagging
After any prompt, the trigger sleeps for 24 hours. And once a patient actually rates, it goes quiet for 6 months — so no one is ever asked twice in a way that grates.
🚫 Knows when not to ask
Patients reaching Zyla through partner apps are excluded entirely — the prompt simply never appears where it doesn't belong.
🗂️ Every prompt is logged
Each trigger records who sent it, when, and what the patient did — a clean audit trail that doubles as a fair view of care-team impact.
🔁 Built for repeats
A patient can be prompted again over time, so the model is designed around many triggers per person — not a one-shot ask.
Where unhappy ratings go to actually get fixed.
Every rating — 1 through 5 — flows into a Feedback console for the support team. The unhappy ones arrive with their tagged issues attached, so support can read the problem at a glance, add a remark once it's resolved, or escalate to the tech or relevant team. It's the piece that makes the whole loop honest: no patient concern is left unanswered.
| Patient ID | User type | Rating | Feedback type | Source | Submitted on | Remark | Remark by |
|---|---|---|---|---|---|---|---|
| 28573 | VIP | ★★★★★5.0 | — | App | 12 May, 08:22 | + Add | — |
| 83927 | Default | ★★★★★2.0 | Booking issuesSlow responsesApp glitches | App | 12 May, 08:02 | + Add | — |
| 58392 | Premium | ★★★★★1.0 | Slow responses | Web | 12 May, 07:59 | + Add | — |
| 10394 | Default | ★★★★★3.0 | Other · App taking too long to load | App | 12 May, 07:55 | View | Trishla |
| 29573 | VIP | ★★★★★2.0 | Slow responses | App | 12 May, 06:21 | View | Dr. Shweta |
| 92856 | Premium | ★★★★★5.0 | — | Web | 12 May, 05:21 | + Add | — |
Ratings capture the moment — adherence loops create the moments worth rating.
The reason so many patients had something good to say is the engagement system underneath: daily logging, streaks, gamified challenges, and digital therapeutic journeys, designed hand-in-hand with the clinical and data teams. Together they kept people coming back — and kept them on track.
Streaks & daily logging
Tiny daily wins that build a habit — and a reason to open the app every day.
Gamified challenges
Goals and rewards that turn care into something patients want to keep up with.
Therapeutic journeys
Guided, staged programs that make long-term care feel like steady forward motion.
A public rating that finally matches the private one.
Within a month of launch, App Store ratings rose by roughly 380%, the in-app average held at 4.7 / 5, and tens of thousands of patients shared feedback they'd never had a place for before. Just as importantly, the detractors — once invisible — now arrive as actionable tickets that the support team resolves or escalates, so the rating climbs and the experience genuinely improves. The loop pays for itself twice.
Turning a rating prompt into a feedback engine.
Smarter trigger timing
Let data suggest the best moments to ask — after a streak milestone or a resolved concern — so the prompt lands when delight is highest.
Auto-routing detractor tickets
Tag-based routing so "App glitches" goes straight to engineering and "Slow responses" to care ops, with SLAs on resolution.
Close the loop back to the patient
When a complaint is resolved, nudge that patient to re-rate — turning a recovered detractor into an advocate.
Theme analytics on feedback
Trend the issue tags over time to surface systemic problems before they ever reach a public review.