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 appearanceMeaning
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 glyphInherited from a pack the feature belongs to.
DimmedNo 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 → afterA 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.
Worked example. Feature live on Plan 2 + Plan 3, not Plan 1: tick Plan 2 and Plan 3 (they get enabled) and set “Users on other plans see” to Upsell (or Locked). A user on Plan 2 → the feature is enabled; a user on Plan 1 → the fallback. You never touch Plan 1 directly — its result comes from the fallback.

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
enabledThe feature, on and fully usable.grants access
newOn and usable, with a NEW badge.grants access
betaOn and usable, with a BETA badge.grants access
coming_soonA visible but inert “coming soon” teaser.visible, not usable
LockedA 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
UpsellA 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
HiddenNothing — 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:

FallbackEffect for plans with no rule
HiddenThe feature disappears (the default).
UpsellA visible padlock with an “Available in …” tease — nudges them to a plan that has it.
LockedA 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.
When you first gate a feature, its fallback defaults to Locked (wire value 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

SituationResult
Paywall offPlan 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 planBuyers 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.
Honest upsell. If a feature is set to Upsell but no plan actually unlocks it, Onelo downgrades the prompt to Locked — it won't show an "upgrade to unlock" CTA that leads nowhere.

Next

Plan access — Features — Onelo Docs