Permission‑Request Playbook: 10 Acceptance‑Tested Permission Flows (Onboard, Re‑ask & Decline‑Recovery) with Exact Copy & Metrics
Written by AppWispr editorial
Return to blogPERMISSION‑REQUEST PLAYBOOK: 10 ACCEPTANCE‑TESTED PERMISSION FLOWS (ONBOARD, RE‑ASK & DECLINE‑RECOVERY) WITH EXACT COPY & METRICS
This playbook gives founders and product teams ten ready‑to‑ship permission flows for location, camera, notifications, contacts, and app tracking. Each flow includes exact microcopy, when to show it, re‑ask timing rules, decline‑recovery screens, and the KPI map you need to measure opt‑in lift and retention. Use these as contractor-ready templates—copy, paste, and track.
Section 1
How to use this playbook (quick rules and KPI map)
Ship permissions as feature scaffolding, not as a gate. Ask only when the user triggers the capability, show a short contextual pre‑prompt that explains the benefit, then present the OS dialog. If users decline, show a decline‑recovery screen that offers an alternative or an easy path back to settings.
Measure success with a small KPI set: pre‑prompt click‑through rate (CTR), OS prompt accept rate (system grant rate), re‑ask accept rate, and downstream retention lift (D7/D30 for feature users vs non‑permission users). Use event names like permission_pre_prompt_shown, permission_pre_prompt_clicked, permission_os_prompt_shown, permission_granted, permission_rejected, and permission_reask_shown. That event taxonomy keeps A/B tests and attribution clean.
- Ask in context: when the user invokes the feature the permission enables.
- Pre‑prompt → OS prompt → Post‑response follow‑up (success or recovery).
- KPI map: Pre‑prompt CTR, OS accept rate, re‑ask conversion, feature activation %, retention lift (D7/D30).
Section 2
10 contractor‑ready permission flows (exact copy + timing rules)
Below are compact, production-ready flows. For each: (1) Trigger moment, (2) pre‑prompt copy (single screen/dialog), (3) OS prompt trigger, (4) immediate follow‑up on Deny (decline‑recovery UI), (5) re‑ask timing rule. Replace [AppName] with your app name and localize.
1) Location — Turn‑by‑turn / Map features: Trigger: user opens map or taps “Find nearby”. Pre‑prompt title: “Show your location to find nearby [items]” Body: “We’ll use your device location only while you use this feature to show nearby [stores/orders].” Primary button: “Allow while using [AppName]” Secondary: “Not now” Follow‑up if Denied: “Location is off — you can enter an address manually or enable location in Settings.” Buttons: “Enter address” / “Open Settings” Re‑ask rule: Re‑ask only when the user again taps a location action that would immediately show value (do not re‑ask automatically).
2) Camera — Capture or scan: Trigger: user taps camera capture. Pre‑prompt title: “Take photos to [save/scan/send]” Body: “Allow camera so you can capture [receipts/profile photos]. We won’t use it without you taking the picture.” Primary: “Use Camera” Secondary: “Upload instead” Follow‑up if Denied: “Camera access denied. Use photo upload or allow camera in Settings.” Buttons: “Upload photo” / “Open Settings” Re‑ask rule: One immediate in‑flow re‑ask after a short in‑app rationale; if denied again, wait 7+ days or the next clear need.
3) Notifications — Order updates, messages: Trigger: after the user completes an action that will generate ongoing updates. Pre‑prompt title: “Get real‑time updates” Body: “Enable notifications to receive order updates and important messages.” Primary: “Yes, keep me updated” Secondary: “Not now” Follow‑up if Denied: “Notifications are off. We’ll show updates inside the app; enable alerts in Settings to get them while away.” Buttons: “Show in‑app” / “Open Settings” Re‑ask rule: Re‑ask after a meaningful event related to the notification type (e.g., next order or next message) — not sooner than 3–14 days depending on frequency of meaningful events.
- Flows cover trigger, pre‑prompt, follow‑up, and re‑ask timing for each permission.
- Always provide a functional alternative (manual entry, upload, in‑app feed).
- Limit re‑asks and tie them to explicit user intent or meaningful events.
Section 3
Decline‑recovery screens: exact patterns that win back users
Decline is not a dead end. The right recovery screen reduces friction, explains concrete loss, and gives three clear actions: a low‑friction fallback, a Try Again path (that re‑explains benefit), and an Open Settings button. Keep copy short, show one small visual (e.g., map pin, camera icon, bell), and use a neutral tone.
Exact recovery microcopy (universal template): Title: “Permission needed for [feature name]” Body: “Without [permission], [feature] can’t [what it does]. You can continue using [alternative], or enable [permission] in Settings.” Buttons: “Use [alternative]” / “Try again” / “Open Settings” Behavior rules: If the user taps Try again and the OS will not show the prompt (iOS: .denied state), show instructions and an Open Settings path instead of repeatedly triggering the OS dialog. On Android, use shouldShowRequestPermissionRationale to decide whether to re‑explain or directly request.
- Recovery screen must offer: Alternative flow, Re‑try (with fresh rationale), Open Settings.
- Show a visual example of the feature loss to make the cost concrete.
- Detect platform re‑ask affordances (iOS denied vs Android rationale flag).
Section 4
Re‑ask strategy, frequency rules, and A/B ideas
Good re‑ask strategy is conservative and signal‑driven. Re‑ask only when (a) the user performs an explicit action that reveals motivation, (b) there’s a fresh value moment, or (c) enough time has passed so the user’s context changed. Avoid time-based spam; prefer event‑based triggers tied to user intent.
A/B test ideas: pre‑prompt copy variants (benefit‑first vs. technical reason), single vs. two‑step re‑asks, and immediate in‑flow re‑ask vs. deferred re‑ask after a feature completion. Track pre‑prompt CTR and OS accept rate as primary A/B outcomes. If you run experiments, segment by platform and user acquisition source—iOS and Android baseline behaviors differ enough to require separate experiments.
- Re‑ask only after intentful user actions or meaningful events (not every launch).
- A/B test pre‑prompt benefit language, timing, and number of allowed re‑asks.
- Segment experiments by platform and UA channel; analyze retention lift, not just grant rate.
FAQ
Common follow-up questions
When should I ask for App Tracking Transparency (ATT) on iOS?
Ask ATT when you can clearly show the value the user receives from personalized ads or cross‑app features—typically after a few sessions and just after the user experiences the benefit. Use a pre‑prompt that explains exactly what tracking enables and offer a clear skip. If they decline, provide value in other ways and consider re‑ask when the personalization benefit becomes unambiguous.
How many times can I re‑ask before it becomes harmful?
Conservatively: one immediate re‑ask in the same flow (with an explicit rationale) and then no more than one additional re‑ask tied to a meaningful user action within 7–30 days. If the OS prevents the prompt, show a clear Open Settings path instead. Excessive re‑asks reduce trust and increase churn.
Which metrics matter most for permission optimization?
Start with four metrics: pre‑prompt CTR, OS prompt accept (grant) rate, re‑ask conversion, and retention uplift for users who granted vs. didn’t (D7/D30). Add feature activation % and support volume for permission‑related issues. These give both acquisition‑level and product‑quality signals.
Should permissions be asked during signup/onboarding?
Only if the permission is required to complete a core onboarding task and the value is obvious (e.g., a navigation app asking location to show route). Otherwise delay until the user tries the feature. Early cold prompts cause high immediate declines and degrade long‑term trust.
Sources
Research used in this article
Each generated article keeps its own linked source list so the underlying reporting is visible and easy to verify.
Android Developers
Request runtime permissions | Android Developers
https://developer.android.com/training/permissions/requesting
Android Developers
App permissions best practices | Android Developers
https://developer.android.com/training/permissions/usage-notes
AppMaster
Push notification permission UX: timing, copy, and fallbacks | AppMaster
https://appmaster.io/blog/push-notification-permission-ux
Boundev
Push Notification Best Practices: UX Playbook | Boundev
https://www.boundev.com/blog/push-notification-best-practices-ux-guide
Appcues
Asking nicely: 3 strategies for successful mobile permission priming | Appcues
https://www.appcues.com/blog/mobile-permission-priming
Superwall
Permission Prompts | Superwall Docs
https://superwall.com/docs/dashboard/dashboard-creating-flows/permission-prompts
Next step
Turn the idea into a build-ready plan.
AppWispr takes the research and packages it into a product brief, mockups, screenshots, and launch copy you can use right away.