Find feature entitlement friction

See which locked features users try to access, which plans hit upgrade prompts, and where entitlement gates create conversion opportunities.

Published

difficulty intermediate · time to value 5 minutes

Start from this

Show feature entitlement friction for the last 30 days: locked feature views, upgrade prompt impressions, conversion after prompt, and accounts with repeated interest.

Why this matters

Locked-feature views are demand signals. If many starter accounts repeatedly hit the same feature gate, that is either a pricing opportunity or a product packaging problem.

What you get

  • Locked features ranked by demand
  • Prompt click-through and conversion
  • Accounts showing repeated expansion intent
  • Packaging recommendations by plan

Walk through it

You

Which locked features are creating upgrade demand?

Agent

I’ll compare gate impressions to prompt clicks and later plan changes.

POST /v1/projects/:project_id/analytics/query {
  project_id: "default",
  hogql: "SELECT properties.feature AS feature, properties.plan AS plan, countIf(event = 'feature_locked_viewed') AS locked_views, countIf(event = 'upgrade_prompt_clicked') AS prompt_clicks, count(DISTINCT properties.account_id) AS accounts FROM events WHERE event IN ('feature_locked_viewed','upgrade_prompt_clicked') AND timestamp > now() - INTERVAL 30 DAY GROUP BY feature, plan ORDER BY locked_views DESC LIMIT 30"
}

The output

The agent returns feature gates with demand and likely action: improve copy, adjust entitlement, or route accounts to sales.

Setting it up

Emit events wherever the product blocks or upsells a feature. Include account and plan.

Variations

  • “Show only accounts above 80% quota.”
  • “Find features that get viewed but never upgraded.”
  • “Draft pricing-page copy for the top gated feature.”

Try this recipe in your own agent.

Ask your agent to adapt the starter prompt to your saved signal map and live events, then run it against your data.

Install agentry.sh/install.md for me
Agent will onboard itself and then your app