The biggest revenue opportunity in most SaaS businesses isn't acquiring new customers. It's getting more revenue from the customers you already have. Your existing users already trust your product. They already have their workflows built around it. The friction of upgrading is a fraction of the friction of signing up in the first place.
But most SaaS founders handle upselling terribly. They either never mention upgrades (leaving money on the table) or blast every user with "Upgrade to Pro!" emails regardless of whether it makes sense for them (annoying people and training them to ignore you).
The sweet spot is behavioral upselling: sending the right upgrade message to the right user at the right moment based on what they're actually doing in your product.
The Two Types of Upsell Opportunities
Limit-Based Upsells
The user is approaching or hitting a cap on their current plan. This is the easiest upsell because the user is already experiencing the limitation.
Examples:
- Approaching subscriber/contact limits
- Running out of storage or bandwidth
- Hitting API rate limits
- Reaching the maximum number of team seats
- Exceeding the number of projects/campaigns allowed
These users are already feeling the constraint. Your email just needs to say "here's how to remove it."
Value-Based Upsells
The user is getting strong value from the product and would get even more value from premium features. This is harder because you're selling potential rather than solving an immediate problem.
Examples:
- Heavy users of a feature that has a premium version
- Users whose usage patterns match the profile of users on higher plans
- Users who've been on the same plan for 6+ months and are growing
- Users who've asked about features that are only on higher plans
These users need to see the additional value before they'll upgrade. Your email needs to paint a picture of what's possible.
Behavioral Triggers That Signal Upgrade Readiness
Don't guess who's ready to upgrade. Let user behavior tell you.
Usage Threshold Triggers
80% of plan limit reached. This is the classic trigger. When someone uses 80% of their allotted resources, they're about to hit the wall.
"You've used 4,000 of your 5,000 [resources] this month. At your current pace, you'll hit the limit around [date]. Upgrade to [Plan] for unlimited [resources]."
Repeated limit hits. If someone keeps bumping against a limit (hitting it, waiting for reset, hitting it again), they clearly need more.
"You've hit your monthly [resource] limit 3 months in a row. Looks like you've outgrown [Current Plan]. [Next Plan] gives you [higher limit or unlimited], plus [key additional feature]."
Feature Interest Triggers
Attempted access to locked features. When a user clicks on a feature they can't access, that's a strong buying signal.
"I noticed you tried to use [Feature] earlier today. That's available on our [Plan] tier. Here's what it does and why users love it: [brief explanation]. Upgrade here: [link]."
Related feature heavy usage. If someone is heavily using Feature A and Feature B is a natural complement only available on a higher plan.
"You're one of our most active [Feature A] users. Most power users like you also use [Feature B] to [specific benefit]. It's included in [Plan]: [link]."
Growth Signal Triggers
Adding team members. Growing teams often need higher-tier features like advanced permissions, audit logs, or more seats.
Increasing frequency of use. A user who went from weekly to daily usage is getting more value and may benefit from features that support heavier use.
Integrating with more tools. Users connecting your product to their other tools are embedding it deeper into their workflow. They're more invested and more likely to upgrade.
Writing Upsell Emails That Convert
Lead With Their Situation, Not Your Plan
Bad: "Check out our Pro plan! It includes advanced analytics, priority support, and custom domains."
Good: "You've sent 12 campaigns this month, which puts you in the top 10% of our users. At that volume, our advanced analytics could save you hours of manual reporting. Here's what you'd see..."
The bad version talks about your product. The good version talks about the user's situation and connects it to value.
Show the Math
If your higher plan saves time, makes money, or reduces costs, do the math for the user.
"You're currently spending about 2 hours per week on [manual task]. Our [Plan] automates this completely. That's 100+ hours per year back, for $30/month more. Basically paying yourself $3.60/hour to do that work manually."
Numbers make abstract value concrete.
Use Social Proof From Similar Users
"Most teams your size (8-15 people) are on our [Plan] tier. Here's why: [top 2-3 reasons]. [Customer name] switched last month and told us [specific result]."
People care what others like them are doing. Peer behavior is a powerful motivator.
Make the Upgrade Reversible
Remove risk: "Try [Plan] for a month. If it's not worth the difference, downgrade anytime. No penalties, no hassle."
The fear of being stuck on an expensive plan they don't need is a real blocker. Eliminating that fear can double conversion rates.
Upsell Email Sequences
Sequence 1: Plan Limit Approaching
Trigger: User reaches 80% of any plan limit.
Email 1 (Immediate):
Subject: "You're almost at your [resource] limit"
"Hey [name],
Quick heads up. You've used [X] of your [limit] [resources] this month. At your current pace, you'll hit the cap around [estimated date].
When you hit the limit, [what happens - new resources blocked, service degraded, etc.].
Two options:
- Upgrade to [Plan] for [higher limit or unlimited] - takes 30 seconds: [link]
- Free up space by [suggestion to reduce usage if applicable]
No rush, but wanted to give you a heads up before it becomes a problem.
[Name]"
Email 2 (When limit is hit):
Subject: "You've hit your [resource] limit"
"Hey [name],
You just reached your [resource] limit for this month. [Consequence of hitting limit].
The quickest fix is upgrading to [Plan], which gives you [higher limit]. Here's what else you'd get: [1-2 additional features relevant to their usage].
Upgrade here: [link]
If you want to stay on your current plan, your limit resets on [date].
[Name]"
Sequence 2: Power User Upgrade
Trigger: User's activity score exceeds threshold (top 20% of users on their plan).
Email 1 (Week 1):
Subject: "You're getting a lot out of [Product]"
"Hey [name],
I was looking at usage data and wanted to reach out. You're one of our most active users on the [Current Plan]. Here's what caught my eye:
- [Metric 1: e.g., "You've sent 45 campaigns this quarter"]
- [Metric 2: e.g., "Your team logs in daily"]
- [Metric 3: e.g., "You've connected 4 integrations"]
At your usage level, there are a couple of [Plan] features that would probably save you time:
[Feature 1]: [One sentence on what it does and why it matters at their scale] [Feature 2]: [Same]
No pressure at all. Just wanted to make sure you know what's available. If you're curious: [link to comparison or upgrade page]
[Name]"
Email 2 (Week 3, if no upgrade):
Subject: "[Customer name] switched to [Plan] last month - here's what changed"
Share a brief case study or testimonial from a similar user who upgraded. Focus on specific outcomes, not feature lists.
Sequence 3: Feature Exploration Nudge
Trigger: User attempted to access a locked feature.
Email 1 (Same day):
Subject: "[Feature name] - here's what it does"
"Hey [name],
I noticed you checked out [Feature] earlier. That's one of our [Plan] features, and it's one of the most popular reasons people upgrade.
Here's the short version of what it does: [2-3 sentences explaining the feature and its benefit].
If you want to see it in action, I can [offer: demo, trial of the feature, walkthrough].
Or upgrade and try it yourself: [link]
[Name]"
Keep it short. They've already shown interest by clicking on the feature. Don't oversell.
Timing and Frequency Rules
Never send more than one upsell email per week. Even if multiple triggers fire, throttle to one per week maximum.
Don't upsell in the first 30 days. New users should be focused on getting value from their current plan. Premature upgrade emails signal that the current plan isn't enough, which undermines confidence in their purchase.
Don't upsell after a negative experience. If a user submitted a support ticket, encountered a bug, or had downtime, suppress upsell emails for at least 2 weeks. Asking for more money when the user just had a bad experience is tone-deaf.
Respect "no." If a user clicks through to the upgrade page but doesn't convert, wait at least 30 days before the next upsell. If they explicitly dismiss or decline, wait 60 days.
What Not to Do
Don't create artificial scarcity on digital plans. "Only 3 spots left on Pro!" for a SaaS plan is obviously fake and damages trust.
Don't hide features to force upgrades. If a feature is genuinely more valuable on a higher plan, that's fair. If you're deliberately crippling the lower plan to push upgrades, users will notice and resent it.
Don't send upgrade emails to users who are struggling. If someone can't figure out the basic features, pushing them toward advanced features is counterproductive. Focus on onboarding and adoption first.
Don't use dark patterns. Pre-selected annual billing, confusing pricing pages, hidden upgrade buttons that look like regular navigation. These tactics might increase short-term conversions but destroy long-term trust and increase churn.
Measuring Upsell Performance
Track these monthly:
- Upsell conversion rate by trigger: Which behavioral triggers lead to the highest upgrade rates?
- Revenue expansion rate: Monthly increase in revenue from existing customers (target: 5-10% of MRR)
- Time to upgrade: Average days from trigger email to upgrade
- Upgrade retention: Do users who upgrade stay on the higher plan, or do they downgrade within 90 days?
- Email engagement by type: Open and click rates for different upsell email types
The upgrade retention metric is especially important. If users frequently downgrade after upgrading, your upsell messaging is overpromising or the higher plan isn't delivering enough additional value.
Start Here
- Today: Identify your top 3 behavioral signals that indicate upgrade readiness. Plan limits, feature clicks, and high-usage patterns are good starting points.
- This week: Set up a plan-limit-approaching email. This is the highest-converting upsell trigger and the easiest to implement.
- Next week: Add a power-user identification trigger that emails your most active users on lower plans with a personalized "here's what you're missing" message.
- Ongoing: Track upgrade conversion rates by trigger type and double down on what works.
With Sequenzy, you can set up event-based triggers that fire upgrade sequences when users hit specific milestones. Track custom events from your app and let the automation handle the timing. The native Stripe integration automatically tags customers by plan level, so you always know who's on which tier.