Opt-In Lab
A public sketch of how notification opt-in analysis is supposed to work.
This page is the studio’s method, not a course. If you want the desk with homework and a memo, go to programmes. If you only need to argue with a colleague about denominators, stay here.
Five stages we refuse to blend
Most dashboards publish a single “opt-in rate.” That number usually mixes people who never saw a prompt, people who deferred, people who denied the OS dialog, and people who later muted a channel while keeping OS permission. The Opt-In Lab keeps five stages distinct:
- Reachability. The user is on a screen and OS version that can show a permission dialog.
- Soft-ask. An in-app explanation with an explicit continue or not now. This is not the OS dialog.
- System decision. Allow, deny, or dismiss, captured from the OS result — not inferred from later sends.
- Channel posture. Transactional versus marketing toggles after OS allow.
- Recovery eligibility. Whether the OS even permits another ask, a settings deep-link, or silence.
If your SDK cannot populate stage three, stop publishing a rate. Inventing Allow from “message delivered” is how teams gaslight themselves.
OS honesty in a Thai install base
Consumer apps in Thailand often carry a wide Android OEM mix beside a smaller, higher-value iOS slice. Blending them produces a calm average that helps nobody ship. We read iOS, Android 13+ runtime notification permission, and pre-13 install-time defaults as separate gates. OEM skins that collapse “not determined” with “denied” get a footnote in the ledger, not a workaround fantasy.
Timing is a variable, not a brand idea
Asking on first open is a decision with a measurable cost. So is waiting until after first value — saved address, first top-up, first follow. The Lab does not prescribe a universal moment. It insists that the moment is logged, that bilingual CTAs share event names, and that Songkran, 11.11, and payday weeks are excluded from “the new illustration failed” stories.
What we will not teach
Repeated system prompts after a clear deny, fake close buttons on soft-asks, and countdown copy implying the app will break without notifications. Those patterns inflate short-term Allow and poison trust metrics you will need later. The studio’s programmes assume you would rather have a smaller, durable permission base.