We asked for notifications earlier and got fewer
Our permission ask sat behind a level about half of new players never reach. Moving it earlier is the obvious fix. We shipped it, and it halved the number who said yes.
Notifications are how you get a lapsed player back. If you never got permission, there is no mechanism — no email, no address, nothing. For a free game it is close to the only re-engagement channel that exists.
Ours was gated behind reaching level six.
The gate sat exactly on the cliff
Separately, we had worked out that first-session depth is the strongest early predictor we have. Players who get past about half a dozen levels in their first sitting come back at roughly double the rate of players who stop short of that, and the effect keeps climbing with depth.
The uncomfortable corollary is that around half of new players never reach six levels at all. They are the ones most likely to drift away, and they are therefore the ones we would most want to be able to reach later.
And the ask was gated at six. The people who most needed a recovery channel were precisely the people never offered one. Written down like that it is not a subtle problem, and the fix is not subtle either: move the ask earlier.
What we changed
We moved it to level three, behind a remote-config key so it could be reverted without a release. Everything else stayed the same — the same soft prompt, the same wording, the same flow into the system dialog.
The expectation was straightforward. Many more people would see the ask. Some fraction of those would say yes. The fraction might be a bit lower, because they were less invested, but the much larger denominator would more than cover it.
Exactly half of that happened.
More asks, fewer grants
Far more people saw it. Of those, nearly three quarters declined the soft prompt — a much worse rate than at level six.
The part that mattered: grants per install roughly halved. Not "grew more slowly". We ended up with about half as many players reachable by notification as before the change, having shown the ask to several times as many people.
The conversion of the system dialog itself did not move at all. Everyone who got as far as Apple's actual permission alert said yes at the same rate as before. The entire loss was in the soft prompt, on players who had been in the game for about ninety seconds.
We did not convert fewer people because fewer saw the ask. We converted fewer because showing the ask to an uninvested player is how you spend it.
One shot, and the soft prompt spends it
Here is the mechanism we had not taken seriously.
A soft prompt — your own screen, asking whether the player would like reminders, before you trigger the real system dialog — is the standard pattern, and the reason for it is sound: the system dialog can only be shown once, ever, so you use your own screen to avoid burning it on a no.
But our soft prompt was also effectively one-shot. A player who declined it was not asked again. Of several hundred players who declined that soft prompt, exactly one ever went on to see the system dialog.
So the soft prompt was not protecting the permission. It was consuming it, on our own terms, at a moment we had chosen badly. We had built a mechanism to avoid spending a scarce resource too early and then spent the resource with it.
The number we had been quoting was the wrong one
Worse, we had been reporting this well for months without noticing.
The opt-in figure in our own reporting was the conversion of the system dialog — of people who reached Apple's alert, what share tapped Allow. That number was healthy and it was real. It was also conditional on three earlier steps, every one of which lost people.
Measured the way that actually matters — of everyone who installed the game, how many are reachable by notification — the true figure was a small fraction of the one we had been quoting. Roughly a fifth of it.
Neither number is wrong. One answers "is our permission alert well-timed", the other answers "can we reach our players", and we had been using the first to feel good about the second.
We could not see the top of the funnel
One reason this ran as long as it did: the event that fires when the soft prompt is shown was firing zero times.
It had been added to one of the two code paths that can trigger the ask. The other path — the one most players actually hit — consumed the prompt without logging it. So for months we had grant counts and dialog counts and no idea how many people had been asked, which is the denominator the whole question turns on.
It is an unglamorous class of bug and I suspect it is extremely common. If an event's count is exactly zero, that is not a quiet signal. It is a broken one.
Where this reasoning breaks
We reverted to level six, and I want to be careful about what that decision does and does not prove.
We tested the old prompt, earlier. We did not test a better prompt earlier. Our soft prompt at the time said very little about why anyone would want notifications, and asking a stranger ninety seconds into a game for a vague benefit is a weak offer at any level. It is entirely possible that a benefit-led prompt — tied to a streak the player can see they are about to start, or a daily reward that is visibly waiting — converts fine at level three. We have not run that, so the honest conclusion is narrower than "ask later".
It is also one game and one audience. Puzzle games are not social apps; a player with no friends in the game has less obvious reason to want a push, and the result may not transfer.
And the original problem is still there, untouched. Half of our new players still leave with no way for us to reach them. Reverting the gate restored the grant rate; it did nothing at all about the people behind the cliff. The real fix is to get more players past six levels, which is a content problem, and much harder than moving a number in a config file.
Ask at investment, not at reach
The thing I would carry to another product is that permission asks are not an impressions game, even though every instinct says they are.
Reach and conversion are not independent here. The earlier you ask, the more people see it and the worse they convert, and because the ask is one-shot, a bad ask is not a neutral outcome — it permanently removes that player from the pool. Showing it to twice as many of the wrong people does not get you more grants. It gets you fewer.
Before moving any permission prompt, work out what the player has at stake at that moment. If the honest answer is nothing yet, you are not widening the funnel. You are spending it.