How to build a subscription pipeline for your SaaS (not a B2B one)
Most CRM pipelines were designed for one-time deals. SaaS businesses need a pipeline that reflects subscription lifecycles — trial, activation, expansion, churn. Here's how to design one.
If your SaaS sales pipeline has stages like "proposal" and "negotiation," you've copied a B2B sales template that doesn't fit subscription businesses. Real SaaS pipelines reflect customer lifecycle — trial, activation, expansion, churn — not a hand-off-the-contract workflow invented in 2004. Here's how to design one that actually moves itself.
The B2B template is the wrong model
Every CRM ships with a default pipeline that looks like this:
- Lead
- Qualified lead
- Discovery call
- Proposal sent
- Negotiation
- Closed-won / Closed-lost
It's a fine model for enterprise software deals where the close date is a real event, the contract value is fixed, and after "closed-won" the sales rep is done.
It's a terrible model for SaaS. In a subscription business, "closed-won" is the start of the relationship, not the end. The customer can churn next month. Can upgrade to a bigger plan. Can pause. Can downgrade. None of those states exist in the B2B pipeline template.
Forcing SaaS data into a B2B pipeline produces three failures:
- Churned customers disappear from the pipeline — they're "closed-won," so they're out. When they cancel, where do they go?
- Expansion revenue has no home — upgrade from $29 to $79/mo isn't a new "opportunity" in the B2B sense; it's a state change on an existing subscription.
- Reports lie — "pipeline value" is the sum of open deals, but for a SaaS business the meaningful number is MRR (see how to track MRR in your CRM).
What a subscription pipeline looks like
A subscription pipeline for SaaS looks roughly like this:
- Trial started — signup, entered a trial, hasn't paid yet.
- Activated — reached the product's aha moment, completed onboarding.
- Paying — converted to paid subscription.
- Expanded — upgraded plan, added seats, or purchased add-ons.
- At-risk — failed payment, declining usage, or support escalation.
- Churned — canceled subscription.
Deals move between these stages based on Stripe events, not sales rep judgment. When someone's first invoice is paid, they automatically move from Trial → Paying. When invoice.payment_failed fires twice, they move to At-risk. When customer.subscription.deleted fires, they move to Churned.
This is the model Sambandh implements — see the Stripe CRM pillar guide for the full data model, and the Stripe CRM landing page for how Sambandh handles it.
Stage-by-stage definitions
Trial started
Entry criteria: Stripe customer.subscription.created fires with status: "trialing".
What to do:
- Trigger a welcome email from the founder (not a marketing automation).
- Add a task: "ping within 48 hours if no activity."
- Start tracking feature usage (via product analytics) against the activation criteria.
Activated
Entry criteria: customer hit a defined activation event. This is product-specific — for Sambandh it's "connected Stripe AND imported at least 10 contacts." For your product, pick the 1–2 events that strongly predict paid conversion.
What to do:
- Trigger a "here's what to set up next" email.
- If trial_end is within 3 days, send a trial-ending nudge.
Paying
Entry criteria: Stripe invoice.paid fires with subscription transitioning from trialing → active.
What to do:
- Send a "thanks for subscribing" email.
- Tag the customer with plan + MRR band for segmentation.
- Add to onboarding drip sequence for the relevant plan.
Expanded
Entry criteria: customer.subscription.updated fires with the plan delta going UP (new plan > old plan) OR seat count increasing.
What to do:
- Send a "welcome to [new plan]" email with setup tips for the plan's new features.
- Log the MRR delta as a CRM event for cohort reporting.
At-risk
Entry criteria: ANY of:
invoice.payment_failedfires with attempt_count ≥ 2- Usage has declined 50%+ from 30-day baseline
- Support ticket with negative sentiment (if you have sentiment tracking)
What to do:
- Trigger a "can we help?" email from a real person (not marketing automation).
- Add a task for the account owner: "reach out within 24 hours."
- Do NOT send upsell campaigns to at-risk customers. Obvious, but it happens.
Churned
Entry criteria: customer.subscription.deleted fires.
What to do:
- Send a "sorry to see you go — what happened?" email with a short form (3 questions max).
- Start a 90-day cooldown before any re-engagement campaign.
- After 90 days, enroll in win-back sequence if survey feedback isn't "we no longer need the product."
Handling movement between stages
In a CRM where Stripe is first-class, these stage moves are automatic. In a generic CRM, they require Zapier zaps, webhooks, or manual process. The operational difference is night and day.
Sambandh configures all six stage moves out of the box. You can override the criteria per stage — e.g., if your activation event is different, you point the "Activated" rule at your custom event.
Why not just use MRR tiers?
A common alternative is to skip pipeline stages and segment only by MRR ($0–$49, $50–$249, etc.). This is fine for analytics but fails for workflow — a $200/mo customer who just churned and a $200/mo customer who just upgraded are very different people who need very different emails.
Pipeline stages capture lifecycle state. MRR tiers capture size. You want both, and they're orthogonal.
Multiple pipelines for multiple motions
If you run more than one sales motion — say, self-serve SaaS AND an outbound enterprise motion — use separate pipelines. The self-serve pipeline is the subscription model above. The outbound pipeline can still use the B2B template, because outbound IS a B2B motion.
Sambandh Pro supports 5 pipelines; Teams supports unlimited. The sales pipeline guide covers multi-pipeline design.
Reports that make sense on this model
Once your pipeline reflects subscription lifecycle, the reports you care about get simple:
- Stage conversion rate: % of trials that activate, % of activated that convert, % that expand, % at-risk that recover. Each is a meaningful funnel step.
- Time in stage: how long trials sit before converting, how long at-risk customers stay at-risk before recovering or churning.
- Pipeline velocity: (new MRR + expansion MRR) − (contraction MRR + churn MRR) per period.
None of these are computable on a B2B pipeline. All of them are trivial on a subscription pipeline with Stripe-native data.
Migration from your current pipeline
If you already have a CRM with the wrong pipeline, the change is mostly mechanical:
- Create a new pipeline in Sambandh with the six stages above.
- Import your existing customers via MoveTo.
- Connect Stripe.
- Let Sambandh auto-populate each stage based on current Stripe state.
- Archive the old pipeline. Keep it around read-only for 90 days in case you want to verify.
See the CRM migration guide for provider-specific steps.
Frequently Asked Questions
What if my activation event is harder to define than "signed up + paid"?
Pick the one feature-usage signal that most strongly predicts retention. For many B2B SaaS products it's "invited a second user." For consumer products it's "returned in week 2." For Sambandh it's "connected Stripe." You don't need a perfect definition — you need a consistent one.
How do I handle customers who cycle between stages?
Some customers go active → at-risk → recovered → active again. That's normal. Sambandh tracks every stage transition, so you can filter "customers who went at-risk at least once in the past 90 days" for targeted retention work.
Does this work for an annual-plan business?
Yes. Annual plans just mean longer stage durations — a trial might be 30 days instead of 14, expansion moments happen at renewal, etc. The stages are the same.
What if we also sell services?
Run services on a separate pipeline with B2B-style stages ("proposal sent," etc.). Subscription-stage pipelines are for subscription business. Don't mix.
How do we move a deal backward? Paying → At-risk is backward, but common.
Stages aren't one-way. Any stage move that reflects the current truth is fine. At-risk → Paying after a card update is also normal.
Want to see a subscription pipeline in action? Start a free trial — the free plan includes one pipeline and is free forever.
Related reading
Ready to try a CRM built for how you actually work?
Start Free Trial