Table of Contents
- Why Most Upsell Attempts Miss
- The Core Logic: Behavior Before Offer
- Step-by-Step Implementation in Amplitude
- Step 1: Build Your Upgrade-Ready Behavioral Cohort
- Step 2: Validate the Cohort with Retention and Conversion Analysis
- Step 3: Map the Moment of Intent with Journey Analysis
- Step 4: Segment Your Cohort by Use Case
- Step 5: Sync Cohorts to Your Messaging Stack
- Step 6: Measure Lift with Experiment or Downstream Conversion Tracking
- Limitations to Know Before You Build
- Frequently Asked Questions
- How granular can I get with behavioral cohort conditions in Amplitude?
- Can Amplitude identify expansion opportunities within existing paid accounts, not just free-to-paid upgrades?
- What's the difference between using Amplitude Cohorts versus Amplitude Experiment for this use case?
- How often should I update or rebuild my upgrade-ready cohort definition?
Why Most Upsell Attempts Miss
Your upsell motion fails when it's based on time or gut instinct — "they've been on the free plan for 90 days, send them an upgrade email." That approach ignores the only signal that actually matters: what users are doing inside your product.
Amplitude solves this by anchoring your expansion strategy to behavioral data. Instead of guessing who's ready to upgrade, you identify them by what they've done, how often they've done it, and where they hit a wall that only a paid tier can remove.
This guide walks through a concrete implementation using Amplitude's core features to surface upgrade-ready users and time your offers correctly.
---
The Core Logic: Behavior Before Offer
Before touching Amplitude, you need one clear answer: what does "upgrade-ready" look like in your product?
This is usually some combination of:
- Feature ceiling hits — users repeatedly encountering a locked feature or hitting a usage limit
- Power usage patterns — high session frequency, deep feature adoption, or usage that mirrors your paid customer base
- Expansion triggers — adding team members, creating multiple projects, or exporting data at volume
Once you define the behavioral fingerprint of a user who's ready to upgrade, Amplitude gives you the tools to find everyone who matches it.
---
Step-by-Step Implementation in Amplitude
Step 1: Build Your Upgrade-Ready Behavioral Cohort
Start in Behavioral Cohorts (found under the Audiences tab). This is where you define the exact conditions a user must meet to qualify as upgrade-ready.
Build your cohort using conditions like:
- Event-based filters — "User has triggered `paywall_modal_viewed` at least 3 times in the last 14 days"
- Property filters — "User is on the Free plan AND has `projects_created` > 4"
- Sequence conditions — User performed action A, then hit a limit event, within a 7-day window
You can combine these with AND/OR logic to tighten or expand the definition. Start narrow. A cohort of 200 highly qualified users will outperform a broad cohort of 2,000.
Name your cohort something explicit like `Upgrade Ready — Paywall + High Usage` so it's usable across your team without explanation.
Step 2: Validate the Cohort with Retention and Conversion Analysis
Before you act on this cohort, pressure-test it. Use Retention Analysis to check whether users in this cohort have meaningfully different retention curves than your average free user. If they don't, your behavioral signal is weak.
Then pull a Funnel Analysis to see what percentage of previous users who matched this pattern eventually converted to paid. If that conversion rate is significantly above your baseline, you've identified a real signal.
This step takes 30 minutes and prevents you from building campaigns around noise.
Step 3: Map the Moment of Intent with Journey Analysis
Use Journeys (previously called Pathfinder) to understand what happens before and after a user hits your paywall or limit event.
Set your anchor event to the paywall trigger or limit hit, then look at:
- What actions users took in the 30 minutes before hitting the wall
- What they did immediately after — did they exit? Try a workaround? Return and try again?
The session immediately following a limit hit is your highest-intent window. If you see users returning to the same blocked feature within 24 hours, that's when your upsell message should appear — not three days later in a generic email.
Step 4: Segment Your Cohort by Use Case
Getting the most out of Amplitude?
I'll audit your Amplitude setup and show you where revenue is hiding.
Not all upgrade-ready users want the same thing. A user who keeps hitting your seat limit is different from one who's repeatedly trying to access your API.
Use User Segmentation inside your cohort view to break users into subgroups by:
- The specific feature or limit they're hitting
- Their role or company size (if you're capturing this as a user property)
- Usage frequency over the past 30 days
Each subgroup gets a different offer message. The seat-limit user needs to hear about your Team plan. The API user needs to hear about your Developer or Enterprise tier.
Step 5: Sync Cohorts to Your Messaging Stack
Amplitude doesn't send messages — your CRM or messaging platform does. Use Amplitude's native integrations to push your cohorts to tools like Braze, Iterable, Intercom, Customer.io, or HubSpot.
The sync works in two modes:
- One-time export — for a campaign you're running now against a static list
- Dynamic sync — users enter and exit the cohort in real time as their behavior changes, and your messaging tool reflects that automatically
Dynamic sync is what makes this system durable. A user who hits the paywall today enters your upgrade sequence automatically. A user who upgrades exits it. You don't manage lists manually.
Step 6: Measure Lift with Experiment or Downstream Conversion Tracking
After your campaign runs, return to Amplitude and measure results using Funnel Analysis or User Look-Up to track whether cohort members converted.
If you're running A/B tests on messaging or timing, use Amplitude Experiment to assign users to variants and measure conversion differences directly inside the platform. This closes the loop between behavioral insight and business outcome.
---
Limitations to Know Before You Build
Amplitude is strong at identifying *who* is ready and *when* based on behavior. It has real gaps in adjacent areas.
- No native messaging delivery. Every action taken on your cohorts depends on an external tool. If your integration breaks, your upsell motion stops.
- Attribution can get messy. If a user upgrades through multiple touchpoints — in-app prompt, email, sales call — Amplitude won't automatically reconcile which interaction drove conversion without careful event instrumentation.
- Real-time triggers are limited. Dynamic cohort sync has latency, typically updating every few hours depending on your plan and integration. If you need sub-minute behavioral triggers (e.g., show an upsell modal the instant a user hits a limit), you'll need a separate event-streaming layer feeding your in-app messaging tool directly.
- Qualitative context is missing. Amplitude tells you what users did. It doesn't tell you why they haven't upgraded yet. Pair your behavioral cohorts with a lightweight survey tool or sales call data to fill that gap.
---
Frequently Asked Questions
How granular can I get with behavioral cohort conditions in Amplitude?
Very granular. You can filter by specific event properties, user properties, the number of times an event occurred, the sequence in which events happened, and time windows ranging from a single session to 90+ days. Most teams underuse this depth. Start with two or three conditions and add complexity only when your initial cohort doesn't convert.
Can Amplitude identify expansion opportunities within existing paid accounts, not just free-to-paid upgrades?
Yes. The same cohort logic applies to paid users approaching plan limits, users in one seat tier whose team has grown, or accounts using a subset of features available on their current plan. You define the behavioral signal — Amplitude finds who matches it regardless of where they are in your pricing ladder.
What's the difference between using Amplitude Cohorts versus Amplitude Experiment for this use case?
Behavioral Cohorts identify who should receive an upsell offer based on what they've done. Amplitude Experiment tests whether a specific offer, message, or timing outperforms an alternative. You use both together: cohorts define your audience, Experiment determines which approach converts that audience better.
How often should I update or rebuild my upgrade-ready cohort definition?
Review your cohort definition quarterly, or any time your pricing or feature set changes. The behavioral signal that predicted upgrades six months ago may shift as your product evolves or as your free tier changes. Pull a cohort-to-conversion analysis every quarter to confirm the signal is still predictive before running your next campaign.