Features / Plan access
Plan access
The Plans tab is a feature × plan matrix. The plan columns are the products you configure in your Paywall (each product carries a plan name); each cell is the effective visibility a buyer of that plan actually gets — exactly what the SDK resolves for a user on that plan. Click any cell to set a rule.
Reading the matrix
Rows are features (grouped by slug prefix), and packs appear in their own section at the top — a rule on a pack applies to every feature in it. Columns are your plans. Each cell shows the deployed value; where you've staged a change it reads now → after deploy.
| Cell appearance | Meaning |
|---|---|
| A glyph or status word (✓ enabled, ⬆ upsell, ✕ hidden, or new / beta / soon / greyed) | A direct rule for this feature on this plan. |
| A dashed / faded glyph | Inherited from a pack the feature belongs to. |
| Dimmed | No rule for this plan — the feature's fallback applies. |
| 🔒 (locked) | The paywall is on and no plan grants this feature — locked for everyone until you add a rule. |
now → after | A staged change not yet deployed. |
A drift banner warns about misconfigurations: rules referencing a plan that no product grants, and products with no feature_plan_name (their purchases can't be matched by plan rules).
Two ways to assign plans
The model is the same on both screens: the plans you assign get the feature; every plan you don't assign falls through to one fallback. A rule on one plan never touches another. (One exception to keep in mind: changing the feature's Status in the Registry rewrites all of its direct plan rules to that visibility — see Registry.) Plan gating is available on paid Onelo plans (the endpoints return 402 on Free).
The quick way — “Gate to plans”
On a feature row in the Registry click the ⚡ (or tick several rows and use Gate to plans… in the bulk bar). The popover has two parts:
- Tick the plans that get the feature. Each ticked plan resolves to enabled — full access.
- “Users on other plans see” — one fallback for every unticked plan (including plans you add later). Three choices:Hidden not shown at all · Upsell visible with an “Available in …” hint · Locked visible with a padlock, access blocked.
- An optional “Tapping the feature opens the upgrade flow” toggle (shown for Upsell and Locked) routes a tap to Change-plan (subscribers) or the store.
Finer control — the Plans matrix
Gate-to-plans only ever grants enabled to the plans you tick. When you want aspecific per-plan status — say a beta badge for one plan and full access for another — click that plan's cell in the matrix and choose any of the seven:
| Status (per plan) | A buyer of that plan sees | |
|---|---|---|
| enabled | The feature, on and fully usable. | grants access |
| new | On and usable, with a NEW badge. | grants access |
| beta | On and usable, with a BETA badge. | grants access |
| coming_soon | A visible but inert “coming soon” teaser. | visible, not usable |
| Locked | A padlock — access blocked. Tap-to-upgrade follows the same CTA toggle as Upsell (default on) + a higher plan that grants it; greyed only drops the “Available in …” tease. | locked |
| Upsell | A padlock with an “Available in …” tease — tapping opens your upgrade flow when the CTA toggle is on (default) and a higher plan unlocks it. | locked |
| Hidden | Nothing — the feature is hidden for that plan. | locked |
Cells you don't set use the fallback; Clear rule reverts a cell to it. Changes stage until you Deploy. (The locked status is the wire value greyed; the matrix shows that raw word, while Gate-to-plans labels it Locked — same thing.)
Fallback — what users on other plans see
A plan rule only says what that plan gets. Every plan you didn't assign a rule to — Plan 1 in the example above — resolves to the feature's single fallback visibility. This is the one setting that controls all the "other" plans at once:
| Fallback | Effect for plans with no rule |
|---|---|
| Hidden | The feature disappears (the default). |
| Upsell | A visible padlock with an “Available in …” tease — nudges them to a plan that has it. |
| Locked | A locked padlock. Tap-to-upgrade still follows the CTA toggle (default on) + a granting plan; greyed just omits the “Available in …” tease. Turn the toggle off for a truly inert padlock. |
greyed) if it was still hidden, so users on other plans see a padlock rather than the feature vanishing. Change it per feature if you'd rather upsell or hide.How plan gating meets the paywall
| Situation | Result |
|---|---|
| Paywall off | Plan gating is inert — every plan-gated feature resolves to enabled. Gate freely while you build; nothing locks until the paywall is on. |
| Paywall on, feature gated to a plan | Buyers of that plan get your rule; others get the fallback (and an upsell points to the cheapest plan that unlocks it). |
| Paywall on, visible feature with no plan rule | 🔒 Locked for everyone — a visible feature needs a plan. Only hidden stays hidden without one. |