Most customer success teams know expansion matters, but few have a repeatable way to find and work it. Opportunities surface by accident, get passed to sales late, or never get logged at all. This guide shows you how to build an expansion playbook: the triggers that start it, the checks that keep it safe, who owns each move, and a template you can copy.

Why expansion needs its own playbook

Expansion is now a large share of growth. Maxio's 2025 SaaS benchmark report found that B2B SaaS companies generate 40% of their total new ARR from existing customers, up from a 25% median in 2022. The same report shows the median net revenue retention (NRR) slipping from 105% in 2021 to 101% in 2024, so you can't count on expansion happening on its own.

Without a playbook, expansion depends on whichever CSM happens to notice a signal. A playbook turns that into a process: a defined trigger, a short list of checks, a named owner and a next step with a date.

Step 1: Define what "expansion" means for you

Pick the two to four expansion motions that actually apply to your product. Common ones:

  • Seat growth: more users on the same plan.
  • Upgrade: a move to a higher plan or tier.
  • Add-on or cross-sell: a separate module or product.
  • New team or business unit: the same product in another part of the customer.

Write down the outcome for each, such as "customer adds 10 or more seats." You can't define a trigger until you know what it is meant to predict. If you have not agreed how to count the result, start with our guide to NRR vs GRR.

Step 2: Choose triggers you can measure

A trigger is a signal that starts the playbook. Good triggers are measurable, available in your data, and tied to a business reason. ChurnZero lists usage thresholds and CSM-submitted signals as triggers, with usage spikes, stakeholder changes and new teams joining as early signals.

The Pedowitz Group publishes a trigger table with example thresholds, such as licenses over 90% utilized for 30 days and a core feature at 70% or more active users. Treat these as starting points, not benchmarks. Your own numbers will differ.

Here are triggers most B2B SaaS teams can implement:

SignalExample triggerMotion
Seat saturationActive users above 85-90% of licensed seats for 30 daysSeat growth
Plan limitUsage above 80% of a plan limitUpgrade
Feature gatingCustomer asks for, or repeatedly tries, a feature on a higher planUpgrade or add-on
New teamLogins from a new department or domainNew team
Stakeholder changeNew executive sponsor or champion promotedAny, with a success plan reset
Outcome confirmedSponsor confirms a business result in a QBRAny
Renewal window90-120 days before renewalRenewal plus expansion

Validate each trigger before you rely on it. Look back at accounts that expanded in the last 12 months and check whether the trigger fired before the expansion. If it fires on most accounts that never expanded, tighten it.

Step 3: Add guardrails

An expansion pitch to an unhappy customer damages trust and can hurt renewal. Pedowitz recommends gating every play on guardrails and running recovery first if health is red or CSAT is low. It also suggests requiring two signals, one from product adoption and one from the executive or commercial side.

Copy this list of go/no-go checks:

  • Health score is at or above your "healthy" threshold
  • No open P1 or escalated support tickets
  • No overdue invoices
  • Renewal is not flagged at risk
  • The champion or sponsor has been contacted in the last 30 days
  • The customer has reached a value milestone (see time to value)

If any item fails, fix that first. Log the opportunity as "parked" with a reason and a review date instead of dropping it.

Step 4: Decide who owns what

Expansion fails at the handoff more than anywhere else. ChurnZero's guidance on sales and CS alignment recommends matching ownership to deal complexity: CS handles simple moves such as a small seat increase, while sales leads cross-sells and larger or multi-product deals, ideally from the start. It also suggests a RACI for each motion, logging CS-sourced opportunities in the system of record, and recording who sourced and who leads each one.

A simple split for a small team:

MotionLeadsSupportsCredit
Seat growth under a set valueCSMFinance for the invoiceSourced by CS
UpgradeCSMAE for pricing questionsSourced by CS
Cross-sell or new productAECSM for context and introSplit
New business unitAECSM and sponsorSplit

Agree the value cutoff between "CSM leads" and "AE leads" in advance, and write it down. Also agree how credit works, because unclear credit is the most common reason CSMs stop passing leads along.

Step 5: Write the play

Each trigger gets a short play with the same shape. Copy this template:

EXPANSION PLAY: [name]

Motion: [seat growth / upgrade / add-on / new team]
Trigger: [signal, threshold, time window]
Second signal required: [yes/no, which one]
Guardrails: [health >= X, no P1 tickets, no overdue invoices]
Owner: [CSM / AE]   Support: [role]

Day 0   Create expansion opportunity, attach the evidence (usage, quotes)
Day 1-3 Internal check: health, tickets, billing, renewal date
Day 3-7 Value conversation with champion: what changed, what is next
Day 7-14 Share a short proposal: scope, price, ROI in the customer's words
Day 14-30 Decision or next step; update stage and expected close date

Exit rules:
- Customer says not now: park with reason and review date
- Guardrail fails: pause and start recovery play
- Closed won: update ARR, add a line to the success plan
- Closed lost: record the reason in one sentence

Lead with the customer's outcome before price. A good opening is an observation, not a pitch: "Your team is at 92% of seats and two new departments started last month. What are you planning next quarter?"

Step 6: Review weekly and tune quarterly

Spend 20 minutes a week on the expansion list. For each open opportunity, ask: what is the next step, who owns it, and what date? Look separately at parked accounts and check whether the guardrail that blocked them has cleared.

Each quarter, review the triggers against results:

  • Which triggers produced closed-won expansion, and which produced nothing?
  • How long did each stage take?
  • Which accounts expanded without any trigger firing? That points to a missing signal.

Pedowitz suggests reviewing thresholds quarterly and updating them from win/loss analysis and QBR insights, which is a sensible cadence. Your renewal forecast and expansion pipeline should be reviewed together, since many expansions close at renewal.

Worked example (illustrative)

Imagine a 40-person SaaS company selling a project tool at $12 per seat per month. Acme Co. (a made-up customer) has 50 seats and 46 active users for the last 30 days, which is 92% utilization. A new marketing team has also started logging in. Health is 78, there are no open escalations and no overdue invoices.

The seat saturation trigger fires, and the second signal (new team) is present. The CSM creates an opportunity, runs the guardrail check and books a call with the champion. The proposal is 20 more seats: 20 x $12 x 12 = $2,880 in added ARR. The CSM logs the opportunity as CS-sourced, and it closes at renewal 60 days later.

Common mistakes

  • Triggering on usage alone. High usage with a frustrated sponsor is not an opening.
  • No guardrails. Pitching during an open escalation.
  • Unclear ownership. Two people contact the same customer, or nobody does.
  • No record of why deals were lost. You can't improve triggers without it.
  • Treating the playbook as fixed. Your thresholds will drift as the product and customer base change.

How XPI CRM supports this

In XPI CRM, expansion opportunities have their own pipeline next to renewals, and a won opportunity updates the client's ARR. The health score (0-100, with Healthy at 70 and above) and alerts for usage drops, overdue invoices and support problems give you the guardrail checks in one place, and playbook templates can start automatically on a field change or a set number of days before a date. If you want an AI assistant to prepare the account review, see how to connect an AI assistant. If you currently track this in sheets, this comparison shows what changes.

Try it in XPI CRM

Set up your expansion pipeline and a seat-saturation play in an afternoon, and see which of your clients already meet the trigger. Start free — every feature included, no credit card.