A first denial costs more than waiting to ask
Aliases: sticky denial · don't ask again · permission denial cost
What it is
Most operating systems treat a person's first denial of a system permission dialog as a stable preference: a later call to the same API shows no dialog, or quickly becomes "don't ask again." Recovering usually means leaving the app and finding the toggle in system settings. Asking too early and collecting one "Don't Allow" therefore costs more than holding the request until the feature is visible. This entry is about the near-irreversibility of that first No. It is not about whether launch is the wrong screen, and not about stuffing the dialog back after a refusal.
Why it happens
The system dialog is a one-shot authorization channel, not a retryable prompt. Platforms remember denial so apps cannot turn asking into harassment; the side effect is that a hurried No is written into long-lived state. A denial during launch or registration is especially expensive: the feature has not been seen, so the No carries almost no information, yet it closes the channel. Reopening it turns "tap a dialog" into "find Settings, find the app, find the permission list, flip the switch, return"—a path most people never finish. Delaying the ask is not politeness. It avoids burning the only cheap recovery chance at the moment of least information.
Studying it
Track the recovery funnel after a single denial, not only the allow rate on the dialog.
Independent variables: timing of the ask relative to first exposure of the feature, whether the app offers a settings deep link after denial, whether the platform swallows a second API call. Dependent variables: first-denial rate, share that recover to Allow via settings within seven days, tasks abandoned for lack of the permission, drop-off points on the recovery path.
A single lab session cannot show the multi-day consequence of a remembered denial. Separate "Don't Allow" from "Don't ask again"; the latter is harder to reverse. Raising grant rate by prompting again a few days later measures harassment tolerance, not whether the first ask was premature.
Where it stops holding
When the person chose "Allow Once" or "Ask Every Time," a denial is not long-lived state; the cost model has to follow the platform's actual semantics. If the permission is already off in system settings, the app will not get another dialog no matter how well timed the feature is—the only path is Settings. Security-driven refusals (unknown-source device management, a microphone from an untrusted surface) should stick; the problem is asking at all, not stickiness.
Applying it
- Before firing the system dialog, ask whether the product can afford a recovery that only lives in Settings if this action is denied; if it cannot, do not ask yet.
- Keep channel-closing dialogs until the person has seen what the feature produces (a preview, a route, a sample clip), not until a branding screen.
- After a denial, do not immediately recall the same API. If the feature is still needed, explain in-app how to reach Settings and offer one jump.
- Verify with a seven-day funnel on first-denial users: how many reach Settings, how many flip the switch, how many return and finish the original task. Near-zero recovery means the first ask was too early, not that the settings page is hard to find.
Related
- Within the group: H4.01.1 Request the permission when the feature is used, not at launch · H4.01.3 Stacked permission requests lower overall grant rates
- Adjacent: H4.03 Degradation after Denial · H4.04 Revocable Permissions · O1.05 The Usability Dilemma of Informed Consent
- Search terms:
first-denial stickiness·don't ask again·permission recovery