Product-Led Growth skill 08 of 13
In-App Upgrade Prompts and Paywalls SKILL.md
The In-App Upgrade Prompts skill makes Claude, Codex or another AI agent design the moments inside the product where users choose to pay. It maps upgrade moments at limits, premium features, team growth, trial endings and milestones, chooses soft, hard, metered or preview paywalls, writes task-based copy, builds in-app checkout that returns users to their work, adds admin request flows and sets frequency rules.
in-app-upgrade-prompts/SKILL.md, version 1.0.0, 1,505 words.
By Afeez Adebayo, Marketing, SEO & Growth Expert with 10+ years of experience.
Created 10 October 2026. Updated 10 October 2026. Free to use under CC BY 4.0.
In a self-serve business, the upgrade moment usually happens inside the product: a user hits a limit, tries a premium feature, invites one teammate too many or sees what a higher plan would add. These moments convert well when they arrive at the point of need, explain the value clearly and make upgrading easy. They convert badly when prompts fire on day one for everyone, block users mid-task without explanation or lead to a confusing checkout.
This skill designs in-app upgrade experiences: identifying upgrade moments, soft and hard paywalls, limit warnings, premium feature previews, trial and reverse trial endings, upgrade copy, in-app checkout and measurement.
Operating principles
- Prompt at the moment of need. Upgrade asks work best when the user is trying to do something paid plans allow.
- Explain value, not just price. Show what the user gets and why it matters to their task.
- Don't trap users. Let them finish their work or save progress where possible.
- Make upgrading easy. In-app checkout, clear plan comparison, few steps.
- Respect dismissals. Repeated nagging erodes trust and engagement.
Upgrade moments
| Moment | Example | Prompt type |
|---|---|---|
| Approaching a limit | 80% of storage or projects used | Warning with option to upgrade |
| Reaching a limit | Fourth project on a three-project plan | Soft or hard paywall |
| Premium feature use | Clicking automation on free plan | Feature preview with upgrade |
| Team growth | Inviting a fourth member on a three-seat plan | Seat upgrade prompt |
| Trial ending | Three days left | Reminder with summary of value |
| Reverse trial ending | Premium features about to drop | List of premium features they used |
| Success milestone | 100th invoice sent | Gentle prompt for advanced features |
Paywall types
| Type | Behaviour | Use when |
|---|---|---|
| Soft paywall | Explains benefit; user can continue or try once | Encouraging trials of premium value |
| Hard paywall | Action blocked until upgrade | Clear limit that protects paid value |
| Metered | Allows a few uses, then requires upgrade | Letting users experience value first |
| Preview | Shows the result or a demo of the feature | Value is visual or easy to show |
When to use, and when not to
Use it when free-to-paid conversion is low, when users hit limits without upgrading, when trials end without conversion and when adding new paid features.
Don't use it to choose free limits themselves (free-model-design) or design the public pricing page (the CRO pricing-page-optimisation skill).
Inputs to ask for, in one message
- Plans, limits and premium features.
- Current prompts, where they appear and their conversion.
- Data on users reaching limits and trying premium features.
- Checkout flow inside the product.
- Trial or reverse trial details.
- Support tickets about billing and limits.
Raw SKILL.md file
This is the exact file agents read, including the credit header and licence notice. Save it as in-app-upgrade-prompts/SKILL.md.
---
name: in-app-upgrade-prompts
description: "Design in-app upgrade experiences: upgrade moments at limits, premium features, team growth, trial and reverse trial endings and milestones, soft, hard, metered and preview paywalls, task-based copy, in-app checkout that returns users to their work, admin request flows, frequency rules and conversion measurement. Use whenever someone asks about upgrade prompts, paywalls, in-app upsells, converting free users at plan limits, trial ending messages, feature gating messages or self-serve upgrade flows inside a product."
license: CC-BY-4.0
metadata:
author: Afeez Adebayo
author_url: https://afeezadebayo.com
author_linkedin: https://www.linkedin.com/in/afeez-adebayo/
author_x: https://x.com/za_icon
source: https://afeezadebayo.com/skills-md/marketing/product-led-growth/in-app-upgrade-prompts/
category: marketing
subcategory: product-led-growth
version: "1.0.0"
created: "2026-10-10"
updated: "2026-10-10"
---
# In-App Upgrade Prompts and Paywalls
In a self-serve business, the upgrade moment usually happens inside the product: a user hits a limit, tries a premium feature, invites one teammate too many or sees what a higher plan would add. These moments convert well when they arrive at the point of need, explain the value clearly and make upgrading easy. They convert badly when prompts fire on day one for everyone, block users mid-task without explanation or lead to a confusing checkout.
This skill designs in-app upgrade experiences: identifying upgrade moments, soft and hard paywalls, limit warnings, premium feature previews, trial and reverse trial endings, upgrade copy, in-app checkout and measurement.
## Operating principles
1. **Prompt at the moment of need.** Upgrade asks work best when the user is trying to do something paid plans allow.
2. **Explain value, not just price.** Show what the user gets and why it matters to their task.
3. **Don't trap users.** Let them finish their work or save progress where possible.
4. **Make upgrading easy.** In-app checkout, clear plan comparison, few steps.
5. **Respect dismissals.** Repeated nagging erodes trust and engagement.
## Upgrade moments
| Moment | Example | Prompt type |
|---|---|---|
| Approaching a limit | 80% of storage or projects used | Warning with option to upgrade |
| Reaching a limit | Fourth project on a three-project plan | Soft or hard paywall |
| Premium feature use | Clicking automation on free plan | Feature preview with upgrade |
| Team growth | Inviting a fourth member on a three-seat plan | Seat upgrade prompt |
| Trial ending | Three days left | Reminder with summary of value |
| Reverse trial ending | Premium features about to drop | List of premium features they used |
| Success milestone | 100th invoice sent | Gentle prompt for advanced features |
## Paywall types
| Type | Behaviour | Use when |
|---|---|---|
| Soft paywall | Explains benefit; user can continue or try once | Encouraging trials of premium value |
| Hard paywall | Action blocked until upgrade | Clear limit that protects paid value |
| Metered | Allows a few uses, then requires upgrade | Letting users experience value first |
| Preview | Shows the result or a demo of the feature | Value is visual or easy to show |
## When to use, and when not to
Use it when free-to-paid conversion is low, when users hit limits without upgrading, when trials end without conversion and when adding new paid features.
Don't use it to choose free limits themselves (`free-model-design`) or design the public pricing page (the CRO `pricing-page-optimisation` skill).
## Inputs to ask for, in one message
1. Plans, limits and premium features.
2. Current prompts, where they appear and their conversion.
3. Data on users reaching limits and trying premium features.
4. Checkout flow inside the product.
5. Trial or reverse trial details.
6. Support tickets about billing and limits.
## Workflow
### Step 1. Map upgrade moments
List every moment users meet a limit or premium feature, with volume.
### Step 2. Choose prompt types
Soft, hard, metered or preview, based on the value and risk of frustration.
### Step 3. Write the prompt
What the user tried to do, what the paid plan adds, the price or plan, and a clear action with an alternative.
### Step 4. Design the path
In-app checkout with saved context, so users return to their task after upgrading.
### Step 5. Handle team decisions
If the user can't pay, offer to request an upgrade from their admin with a pre-written message.
### Step 6. Design trial endings
Reminders, usage summaries and a clear choice between upgrading and the free plan.
### Step 7. Set frequency rules
Limit repeat prompts after dismissal.
### Step 8. Measure and test
Prompt views, upgrade clicks, checkout completion, revenue and effects on engagement.
## Prompt copy template
```
Headline: what they tried to do ("Add more projects")
Body: what the paid plan adds, tied to their task ("Team gives you unlimited projects, shared templates and guest access.")
Price or plan: "From £10 per user per month"
Primary action: "Upgrade to Team"
Secondary: "Ask your admin" or "Not now"
```
## Admin request flow
```
Prompt to member: "Your workspace is on the Free plan. Ask Sam (admin) to upgrade?"
Pre-written message: "Hi Sam, I'd like to add more projects for our team. The Team plan adds unlimited projects and shared templates. Could we upgrade? [link]"
Admin receives: email and in-app notice with one-click upgrade
```
Many prompts fail because the person who hits the limit isn't the person who pays; this flow connects them.
## Trial ending sequence
| Day | Message |
|---|---|
| 3 days before end | Summary of what they've done and premium features used |
| 1 day before | Reminder with clear choice: upgrade or move to free |
| End day | What changes now, with easy upgrade |
| 7 days after | Offer help or a short extension if usage was high |
## Frequency rules
- A given prompt at most once per session.
- After two dismissals, pause that prompt for 14 days.
- Never show upgrade prompts during first-run onboarding.
- Suppress prompts for users already in a sales conversation.
## Metrics
| Metric | Why |
|---|---|
| Prompt view to upgrade click rate | Prompt relevance |
| Checkout completion | Friction in the path |
| Upgrades per 100 users reaching a limit | Limit effectiveness |
| Admin requests sent and approved | Team buying path |
| Engagement after prompts | Whether prompts harm usage |
| Revenue per sign-up | Overall monetisation |
## Further reading
- Kyle Poyar on freemium and paywalls: https://www.growthunhinged.com/
## Edge cases and judgement calls
| Situation | What to do |
|---|---|
| User isn't the buyer | Request-upgrade flow to admin or billing owner |
| Hard paywall mid-task | Save work first; explain what happens next |
| Many free users never hit limits | Revisit the free model rather than adding more prompts |
| Enterprise needs | Route to sales instead of self-serve checkout |
| Students or non-profits | Clear discount paths where offered |
## Handoffs to related skills
- Free model: `free-model-design`
- PQLs and sales assist: `product-qualified-leads`, `product-led-sales`
- Seat growth: `team-expansion-invites`
- In-app messaging rules: `in-app-messaging`
- Pricing page: the CRO `pricing-page-optimisation` skill
- Checkout: the CRO `checkout-optimisation` skill
## Worked example
A note-taking app showed an upgrade banner to every user from day one and a generic plan page when users hit the storage limit. Conversion was low and the banner was the most-complained-about feature. The redesign removed the banner, added an 80% storage warning, a soft paywall at the limit explaining what the premium plan adds with a one-click in-app checkout that returned users to their note, a preview of offline access when users went offline and an admin request flow for team members. Free-to-paid conversion rose substantially and complaints about upgrade prompts fell.
## Output format
```
# Upgrade experience plan: <product>, <date>
## Upgrade moments with volume
## Prompt types and copy
## In-app checkout path
## Admin request flow
## Trial and reverse trial endings
## Frequency rules
## Metrics and tests
```
## Common mistakes
- Prompts for everyone on day one.
- Blocking users mid-task without saving work.
- Generic plan pages instead of contextual value.
- No path for users who can't pay.
- Endless repeated prompts.
## Questions to ask before you design
- Where do users meet paid value naturally?
- Who in the account can actually pay?
- What happens to users' work at a limit?
## Self-check before you answer
- Do prompts appear at moments of need?
- Does copy explain value tied to the task?
- Is upgrading easy and does it return users to their work?
- Are frequency and admin paths handled?
---
Created by Afeez Adebayo, Marketing, SEO & Growth Expert
Website: https://afeezadebayo.com
LinkedIn: https://www.linkedin.com/in/afeez-adebayo/
X: https://x.com/za_icon
Source: https://afeezadebayo.com/skills-md/marketing/product-led-growth/in-app-upgrade-prompts/
Licence: CC BY 4.0 (https://creativecommons.org/licenses/by/4.0/). You may copy, share and adapt this skill, including for commercial use, as long as you credit Afeez Adebayo and link to the source URL above. Keep this notice in any copy or adapted version.
Workflow
Step 1. Map upgrade moments
List every moment users meet a limit or premium feature, with volume.
Step 2. Choose prompt types
Soft, hard, metered or preview, based on the value and risk of frustration.
Step 3. Write the prompt
What the user tried to do, what the paid plan adds, the price or plan, and a clear action with an alternative.
Step 4. Design the path
In-app checkout with saved context, so users return to their task after upgrading.
Step 5. Handle team decisions
If the user can't pay, offer to request an upgrade from their admin with a pre-written message.
Step 6. Design trial endings
Reminders, usage summaries and a clear choice between upgrading and the free plan.
Step 7. Set frequency rules
Limit repeat prompts after dismissal.
Step 8. Measure and test
Prompt views, upgrade clicks, checkout completion, revenue and effects on engagement.
Prompt copy template
Headline: what they tried to do ("Add more projects")
Body: what the paid plan adds, tied to their task ("Team gives you unlimited projects, shared templates and guest access.")
Price or plan: "From £10 per user per month"
Primary action: "Upgrade to Team"
Secondary: "Ask your admin" or "Not now"Admin request flow
Prompt to member: "Your workspace is on the Free plan. Ask Sam (admin) to upgrade?"
Pre-written message: "Hi Sam, I'd like to add more projects for our team. The Team plan adds unlimited projects and shared templates. Could we upgrade? [link]"
Admin receives: email and in-app notice with one-click upgradeMany prompts fail because the person who hits the limit isn't the person who pays; this flow connects them.
Trial ending sequence
| Day | Message |
|---|---|
| 3 days before end | Summary of what they've done and premium features used |
| 1 day before | Reminder with clear choice: upgrade or move to free |
| End day | What changes now, with easy upgrade |
| 7 days after | Offer help or a short extension if usage was high |
Frequency rules
- A given prompt at most once per session.
- After two dismissals, pause that prompt for 14 days.
- Never show upgrade prompts during first-run onboarding.
- Suppress prompts for users already in a sales conversation.
Metrics
| Metric | Why |
|---|---|
| Prompt view to upgrade click rate | Prompt relevance |
| Checkout completion | Friction in the path |
| Upgrades per 100 users reaching a limit | Limit effectiveness |
| Admin requests sent and approved | Team buying path |
| Engagement after prompts | Whether prompts harm usage |
| Revenue per sign-up | Overall monetisation |
Further reading
- Kyle Poyar on freemium and paywalls: https://www.growthunhinged.com/
Edge cases and judgement calls
| Situation | What to do |
|---|---|
| User isn't the buyer | Request-upgrade flow to admin or billing owner |
| Hard paywall mid-task | Save work first; explain what happens next |
| Many free users never hit limits | Revisit the free model rather than adding more prompts |
| Enterprise needs | Route to sales instead of self-serve checkout |
| Students or non-profits | Clear discount paths where offered |
Handoffs to related skills
- Free model:
free-model-design - PQLs and sales assist:
product-qualified-leads,product-led-sales - Seat growth:
team-expansion-invites - In-app messaging rules:
in-app-messaging - Pricing page: the CRO
pricing-page-optimisationskill - Checkout: the CRO
checkout-optimisationskill
Worked example
A note-taking app showed an upgrade banner to every user from day one and a generic plan page when users hit the storage limit. Conversion was low and the banner was the most-complained-about feature. The redesign removed the banner, added an 80% storage warning, a soft paywall at the limit explaining what the premium plan adds with a one-click in-app checkout that returned users to their note, a preview of offline access when users went offline and an admin request flow for team members. Free-to-paid conversion rose substantially and complaints about upgrade prompts fell.
Output format
# Upgrade experience plan: <product>, <date>
## Upgrade moments with volume
## Prompt types and copy
## In-app checkout path
## Admin request flow
## Trial and reverse trial endings
## Frequency rules
## Metrics and testsCommon mistakes
- Prompts for everyone on day one.
- Blocking users mid-task without saving work.
- Generic plan pages instead of contextual value.
- No path for users who can't pay.
- Endless repeated prompts.
Questions to ask before you design
- Where do users meet paid value naturally?
- Who in the account can actually pay?
- What happens to users' work at a limit?
Self-check before you answer
- Do prompts appear at moments of need?
- Does copy explain value tied to the task?
- Is upgrading easy and does it return users to their work?
- Are frequency and admin paths handled?
On this page
- When to use this skill, and when not to
- Example prompts
- Example output
- What the agent needs from you
- How this skill hands off to related skills
- How to run In-App Upgrade Prompts step by step
- Situations this skill handles
- What makes this skill different
- Practical tips from real projects
- Frequently asked questions
- Changelog
When to use this skill, and when not to
Use it when free-to-paid conversion is low, when users hit limits without upgrading, when trials end without conversion and when adding paid features.
Upgrade moments convert when they arrive at the point of need, explain value and make paying easy. They fail when prompts fire for everyone on day one, block users mid-task without explanation or lead to a confusing checkout.
Don’t use it to set free limits (use Free Model Design) or design the public pricing page (use the CRO Pricing Page skill).
Example prompts
- “Design paywalls for our plan limits.”
- “Write upgrade prompts for premium features.”
- “How should our trial end?”
- “Members hit limits but cannot pay. What do we do?”
- “Our upgrade banner annoys users. Replace it.”
Example output
The skill returns a fixed structure. A shortened example for an imaginary site:
# Upgrade experience: example note-taking app, 12 October 2026 Before: upgrade banner for everyone from day one; generic plan page at limit New: 80% storage warning; soft paywall at limit with one-click checkout back to the note; offline preview; admin request flow Result: free-to-paid conversion up substantially; complaints down
Prompts appear at moments of need and respect dismissals, because repeated nagging lowers both conversion and engagement.
What the agent needs from you
The skill asks for plans, limits and premium features, current prompts and their conversion, data on users reaching limits, the in-app checkout flow, trial details and billing support tickets.
How this skill hands off to related skills
Upgrades connect to the set: Free Model, PQLs, Product-Led Sales, Seat Growth and In-App Messaging, plus the CRO Pricing Page and Checkout skills.
How to run In-App Upgrade Prompts step by step
- Install the skill as
in-app-upgrade-prompts/SKILL.md. - Map upgrade moments with volume.
- Choose paywall types.
- Write task-based prompts.
- Build in-app checkout and admin requests.
- Set frequency rules and measure.
Situations this skill handles
Upgrade experiences fail in familiar ways. The skill handles these situations:
| Situation | What the skill does |
|---|---|
| User is not the buyer | Admin request flow |
| Hard paywall mid-task | Work saved first |
| Few users hit limits | Free model revisited |
| Enterprise needs | Routed to sales |
| Students and non-profits | Clear discount paths |
| Banner fatigue | Contextual prompts instead |
What makes this skill different
Most upgrade prompts are banners shown to everyone. This skill finds the moments when users need more, explains value in terms of their task, saves their work and returns them to it after upgrading.
It also connects members who hit limits with the admins who can pay, a gap that loses many upgrades.
Practical tips from real projects
- Prompt at the moment of need.
- Explain value, not just price.
- Do not trap users.
- Respect dismissals.
A worked example: a note-taking app showed an upgrade banner to every user from day one and a generic plan page when users hit the storage limit. Conversion was low, and the banner was the most complained-about feature. The redesign removed the banner, added an 80% storage warning, a soft paywall at the limit explaining what the premium plan adds with a one-click in-app checkout that returned users to their note, a preview of offline access when users went offline and an admin request flow for team members. Free-to-paid conversion rose substantially and complaints about upgrade prompts fell.
Upgrade moments include approaching a limit, reaching it, using a premium feature, inviting one teammate too many, a trial ending, a reverse trial ending and success milestones such as sending a hundredth invoice. Each gets a prompt type matched to its value and the risk of frustration.
Paywall types behave differently. Soft paywalls explain the benefit and let users continue or try once. Hard paywalls block an action until upgrade, protecting clear paid value. Metered paywalls allow a few uses before requiring an upgrade, letting users experience value first. Previews show the result or a demo when value is easy to show.
Prompt copy follows a template: a headline naming what the user tried to do, a body explaining what the paid plan adds for that task, the price or plan, a primary upgrade action and a secondary option to ask an admin or decline for now.
The admin request flow tells members their workspace is on a free plan, offers a pre-written message to the admin explaining what the upgrade adds and sends the admin an email and in-app notice with one-click upgrade. Many prompts fail only because the person who hits the limit is not the person who pays.
Trial endings follow a sequence: three days before, a summary of what users have done and premium features used; one day before, a clear choice between upgrading and moving to free; on the end day, what changes now; and a week later, help or a short extension for heavy users.
Frequency rules show a given prompt at most once per session, pause it for 14 days after two dismissals, never show upgrade prompts during first-run onboarding and suppress them for users already in a sales conversation. Metrics include prompt-view-to-click rates, checkout completion, upgrades per hundred users reaching a limit, admin requests sent and approved, engagement after prompts and revenue per sign-up. In-app checkout keeps the user context, shows a short plan comparison and returns users to the task they were doing after payment. Enterprise needs route to sales rather than self-serve checkout, students and non-profits get clear discount paths where offered and, when few free users ever reach limits, the answer is usually to revisit the free model rather than add more prompts.
Hard paywalls always save the user work first and explain what happens next.
Frequently asked questions
When should upgrade prompts appear?
When users approach or reach limits, try premium features, add teammates or near the end of a trial.
Soft or hard paywall?
Soft paywalls explain value and let users continue or try once; hard paywalls block actions that protect paid value.
What should an upgrade prompt say?
What the user tried to do, what the paid plan adds for that task, the price and a clear action with an alternative.
What if the user cannot pay?
Offer a request-upgrade flow that sends a pre-written message to the admin or billing owner.
How often should prompts repeat?
At most once per session, pausing after two dismissals and never during first-run onboarding.
How should trials end?
With reminders, a summary of value and premium features used and a clear choice between upgrading and free.
Changelog
- 1.0.0, 10 October 2026: first release.
Use, adapt and share this skill under CC BY 4.0: credit Afeez Adebayo and link to this page.
All Product-Led Growth skills
- Product-Led Growth Audit
- Product-Led Growth Strategy
- Free Model Design: Freemium, Free Trials and Reverse Trials
- In-Product Onboarding
- Feature Adoption
- Product-Qualified Leads
- Product-Led Sales
- Team Expansion and Invites
- In-App Messaging
- Templates, Integrations and Marketplace Growth
- Product Education and Academy
- PLG Metrics and Reporting
