SaaS · Upsell Call

The Upsell Script for SaaS Customers That Survives a Seat Utilization Report

You're calling an account that renewed clean last March. The VP of Revenue Operations picked up expecting a check-in. What you don't know until minute two is that finance pulled the SaaS spend report last week, asked for seat-level utilization on all forty-something GTM line items, and your contract is on the list with 75 seats and about half of them dark. Meanwhile the CRO has been in two board meetings explaining why NRR went from 118% to the low 100s, and every vendor conversation in that building is now getting filtered through one question: does this fix retention, or is it another top-of-funnel bet?

That is the room you are walking into. An upsell script for SaaS customers only works if it opens on their instance data — licensed seats versus weekly active, which teams never onboarded, what your product actually moved for them last quarter — and not on your roadmap. The fastest way to get downgraded from partner to vendor in this segment is to dial a RevOps leader and ask "so how's everyone finding the platform?" when they know full well the usage dashboard is sitting open on your second monitor.

The good news: most SaaS expansions were already scoped and cut once. The CS module, the expansion-signal piece, the PQL routing — somebody said "phase two" during the original deal and it never came back. You are not selling something new. You are reopening a decision they already made, at a moment when the thing they cut is the thing the board is asking about. Below is the pre-call audit, the block-by-block script, a hostile-but-realistic dialogue with a VP of RevOps mid-consolidation, and the objections this industry actually says out loud.

The upsell call script

Say it in your own words. The structure is the part that matters.

  1. 1

    0. Pre-call usage audit (do not dial without this)

    Fill these six blanks from your own systems before you touch the phone. If you can't, reschedule. **Adoption:** licensed seats vs. weekly active, broken out by team. Name the dark corner out loud: "40 sales seats, 38 weekly active. 20 CS seats, 4 weekly active. Your CS org never onboarded." **Depth:** which features they've never touched. Last login of the exec sponsor — if your CRO champion hasn't logged in since Q2, that's a fact you use, not a fact you hide. **Outcome:** one number from *their* instance. Meetings-booked-per-SDR-per-month, reply rate on sequenced accounts, win rate by stage, cycle length in days. Never your benchmark. **Commercials:** ARR, renewal date, who signed, whether that person still works there, discount level, co-term implications. **Support history:** open tickets, last escalation, latest CSAT. A P1 three weeks ago changes the entire call. **Champion status:** promoted, sidelined, or gone? A new CFO or a new procurement threshold since signature means you're running a fresh evaluation, not an expansion. The test: can you say one thing about their account they'd be mildly surprised you knew?

  2. 2

    1. Frame the call in the first 30 seconds

    "Thanks for the time. Two things, and then you can tell me if either is worth the half hour. First — I pulled your usage for the last two quarters and there's a split in it I want to check with you, because I think it means something about where your NRR is going. Second, depending on what you say, there's a part of our platform I think is relevant, and if it isn't I'll tell you and we'll end early. Fair?" Do not ambush and do not sandbag. Pre-committing to walk away lowers their guard faster than any rapport-building, and in a market where they're taking twenty pitches a week it's the only differentiated opening left.

  3. 3

    2. Anchor on the result they already own — in their number

    "When we started, your SDR team was booking about 6.2 meetings per rep per month and you'd told me reply rates across the board had fallen under one percent. Last quarter you're at 9.4, and on the accounts we're scoring you're replying at 2.8%. Does that match how it feels on your side, or am I reading the data optimistically?" Let them correct you. The correction is worth more than your number — it tells you the metric they defend internally, and that sentence becomes the first line of the business case they take to their CFO. Write it down verbatim. **If they can't confirm a result, stop the upsell.** "Then let's not talk about anything new today. Let's fix the fact that you're paying for something you can't point to in a board deck." That's not a lost call. It's the only version of this call that protects the renewal.

  4. 4

    3. Say the underuse objection before they do

    They are sitting there thinking *we barely use what we pay for.* Say it first and you're diagnosing; let them say it and you're defending. "Here's what I'd push back on myself with if I were you. You've got 75 seats and 42 weekly actives. The 20 CS seats have four. If finance is running a utilization exercise, I'd be asking why I'd give you another dollar before I'd used the last one — and that's a fair question. So let me tell you what I think those 16 dark CS seats are actually doing, because from where I sit they're not idle. They're doing renewal prep in a spreadsheet, three days before the call, off a Salesforce report that's out of date." Then be honest about whether the add-on fixes that or not. Sometimes the answer is "it doesn't — you have an onboarding problem, and I'd rather fix that first." Saying it buys you the right to come back next quarter.

  5. 5

    4. Find the seam, not the feature — five diagnostic questions

    Never lead with the module. Lead with where value leaks out of their workflow. - "Your NRR went from 118 to the low 100s. Is that expansion stalling, or is it downgrades at renewal? Because those are two different fixes." - "When an account re-baselines seats at renewal, how far ahead do you see it coming — sixty days, or the week of?" - "Who's watching for the second and third team signing up in a free workspace inside a logo you already bill?" - "What's the Monday morning fire drill on this — what's the thing that shows up in the forecast call as an argument?" - "What did you deliberately leave out of scope last time because it was too big a bite?" That last one is the highest-yield question on the call. Most SaaS upsells were scoped and cut during the original deal — usually the CS side, the PQL routing, or the expansion-signal piece.

  6. 6

    5. Build the case in their arithmetic — and say the price out loud

    The bar is not "this is valuable." It's "this beats the next best use of the same money and the same three weeks of my one RevOps person." "Let's do it in your numbers. Fourteen accounts re-baselined seats at renewal last quarter — that's your figure, not mine. Call it an average dollar downgrade of twenty-two thousand. That's about three hundred thousand of dollar churn that never shows up as logo churn, which is exactly why your GRR looks worse than your logo retention. If we surface half of those sixty days early — and I'd rather under-promise on capture rate — you get seven of those conversations before the customer has already decided. It's $3,400 a month on top of what you're paying, co-termed to your March renewal. Against that number it's roughly a 4x. If you think my capture rate is generous, tell me what you'd believe and we'll rerun it at your number." Hand them the pencil on the assumptions. That's what separates a business case from a pitch deck.

  7. 7

    6. Cost the implementation in hours and names

    Budget is the stated objection. Bandwidth is the real one, especially when RevOps is one person and a contractor. "Here's the actual ask on your team. It's a managed package, native to Salesforce — writes to Account and Opportunity, two custom fields, no new objects. Your warehouse sync runs through the same reverse-ETL job you already have; we don't need a second pipe. One 90-minute config session with whoever owns the account object, then about an hour a week for three weeks. Call it five hours of your RevOps time total. Our CSM runs the enablement session for CS, not you. If it needs more than that, I've mis-scoped it and I'll say so." Put the work you can absorb on the table here, as scope — not later, as a concession.

  8. 8

    7. The ask: small, specific, reversible, co-termed

    Do not sell the all-teams rollout on call one because the quota needs it. Sell the unit that gets signed this quarter. "Give me the enterprise segment and the CS team that covers it, for one quarter. Success criteria you write, not me — my suggestion is: we flag at least eight accounts heading for a seat downgrade at least forty-five days before the renewal date, and your team says the flags were actionable. If we miss it, we pull it out at the end of the quarter and you owe nothing further. If we hit it, we roll it to the other two segments at your March renewal and co-term it, so you're negotiating one contract instead of two and procurement sees an amendment, not a new vendor." Co-terming is the most underused unlock on this call. It removes a procurement cycle and reframes the add-on as a contract change.

  9. 9

    8. Check the buying committee before you build the plan

    "Last time this went through Priya in finance and it was a two-week turn. Is that still the path, or has the threshold changed since the new CFO landed?" If procurement now requires three bids over $25k, or if your original signer has moved on, you are running a fresh evaluation with an incumbent's advantage — not an expansion. You need that on this call, not in week six. Ask the follow-up: "What got funded this quarter that wasn't in the plan?" Something always does, and the answer tells you who can actually move money.

  10. 10

    9. Park signals — when not to push

    Park the expansion, explicitly and out loud, if any of these are true: an open P1 or unresolved escalation, your champion changed roles in the last sixty days, the renewal is inside sixty days with value questions still open, a usage curve that's flat or declining and you can't explain why, or a company-wide hiring freeze or cost review announced this quarter. Say it plainly: "You've got a ticket open from three weeks ago that we haven't closed. I'm not going to ask you for money on top of that. Let me get that fixed and I'll come back to you in six weeks with this." Pushing through any of these converts a renewable account into a churn risk to book an incremental $40k.

  11. 11

    10. Close and document — write the forwardable email

    Same day, one email, structured for the person your champion forwards it to: 1. The result they confirmed, in their words and their metric ("9.4 meetings per SDR, up from 6.2"). 2. The gap they described ("fourteen seat re-baselines last quarter you saw the week of"). 3. The value math with *their* assumptions and your conservative capture rate. 4. The price, stated plainly, and the co-term date. 5. The implementation ask in hours and named roles. 6. The pilot scope, the success metric they wrote, and the pre-agreed decision date. "I'll send this over by end of day. Who else is it going to — because if it's going to finance I'll put cost-per-seat and what comes out of your stack at the top, and if it's going to your CRO I'll lead with the NRR line."

How the call actually sounds

Prospect on the left, the rep on the right.

  1. Rep

    Thanks for making time. Two things and then you can tell me if the half hour's worth it. First, I pulled your usage for the last two quarters and there's a split in it I want to check with you. Second, depending on your answer, there's a piece of our platform I think is relevant — and if it isn't, I'll say so and we'll end early. Fair?

  2. Buyer

    Fair, but I'll save you some time. Finance pulled the SaaS spend report two weeks ago and asked for seat-level utilization on every GTM line. We're at forty-something tools. You're on that list with 75 seats, and I can't defend all of them. So if this call ends with you asking for more money, it's going to be a short one.

  3. Rep

    Good — then let's start there, because I've got the same report. 40 sales seats, 38 weekly active. 20 CS seats, four weekly active. 15 RevOps and marketing, all active. If I were you I'd cut the sixteen dark CS seats, and I'd defend the rest. I'll put that in writing today whether or not the rest of this call goes anywhere.

  4. Buyer

    That's more than the last three vendors offered. Alright. What's the split you wanted to check?

  5. Rep

    Your SDR team was at 6.2 meetings per rep per month when we started. Last quarter, 9.4. And on the accounts we're scoring you're replying at 2.8%, when you told me last spring the blended number had fallen under one percent. Does that match how it feels, or am I reading it optimistically?

  6. Buyer

    The meetings number is real. But honestly, meetings booked isn't what I'm getting asked about anymore. Coverage says 3.4x going into the quarter and half of it is stage-two with no next step booked, so nobody trusts the number. And the actual conversation in every board meeting is NRR. We went from 118 to 104 in two quarters and nobody can say why cleanly.

  7. Rep

    Then let me ask the question the board is really asking. Is that drop expansion stalling, or is it downgrades at renewal? Because your logo churn and your dollar churn are telling two different stories and I only have half your data.

  8. Buyer

    Logo churn is basically flat — we lose the odd small account. It's re-baselining. Fourteen accounts cut seats at renewal last quarter. And expansion has stalled because we're PLG at the bottom — self-serve signups are healthy, conversion to paid is flat, and nobody's working the free workspaces sitting inside accounts we already bill. Which is also why I'm going to stop you if this turns into an outbound tooling pitch. That's not how we grow.

  9. Rep

    Agreed, and I'm not pitching cold spray into your motion. Different question: when we scoped the original deal, what did you deliberately cut because it was too big a bite?

  10. Buyer

    The CS and expansion piece. We said phase two. Then we didn't do phase two. And I'll be honest — we also bought an intent vendor last year and the data was garbage. Everybody was in-market, same four hundred accounts every week, reps stopped opening the list by week three. So my bar for anything that says 'signal' is now unreasonably high.

  11. Rep

    It should be. That failure mode is topic-level intent resolved to a domain — it surfaces the same accounts forever because it's measuring content consumption, not your product. What I'm talking about is your own telemetry: a second or third workspace spinning up inside a logo you already bill, admin invite bursts, and seat activity dropping in the sixty days before a renewal date. Before you spend anything, I'll run it backwards against your closed-won and your fourteen downgrades from the last two quarters. If it doesn't surface accounts you actually expanded or actually lost seats in, I've saved you the pilot.

  12. Buyer

    That's the right test. The problem is what happens after. Everything has to write back to Salesforce and land in Snowflake, and my RevOps team is me and a contractor two days a week. The last tool we rolled out took six weeks of my life and I still haven't got the field mapping clean.

  13. Rep

    Then here's the precise version. Managed package, native — writes to Account and Opportunity, two custom fields, no new objects, no middleware. Your warehouse sync runs through the reverse-ETL job you already have; we don't ask for a second pipe. One 90-minute config session with you, then about an hour a week for three weeks. Five hours of your time total. Our CSM runs the CS enablement session, not you. If it takes more than that, I've mis-scoped it and I'll tell you before you sign.

  14. Buyer

    Say I believe you. Budget's committed for the year, and the new CFO put in a rule — anything over twenty-five thousand needs three bids. So even if I want this, you're looking at Q1 and a procurement exercise where I have to go find two of your competitors to quote.

  15. Rep

    Then let's design around it. One segment — enterprise, and the CS team covering it — for one quarter. That prices at eighteen thousand, which is under your threshold, and I'll co-term it to your March renewal so it lands as an amendment to an existing contract rather than a new vendor. Success criteria you write. My suggestion: we flag at least eight seat downgrades forty-five days before the renewal date and your CS team says the flags were actionable. Miss it, we pull it out and you owe nothing further.

  16. Buyer

    Two conditions. The backtest happens first — against my fourteen downgrades, not a curated list. And when it goes to renewal, I want the sixteen dead CS seats credited against it, because I'm not walking into finance with a net increase while they're running a consolidation.

  17. Rep

    Both fine. Backtest by Friday next week, and the seat reduction goes in the same amendment so the line item goes down, not up. Two things before we hang up. Who does the recap go to besides you — is it your CRO, or does finance see it first? And can we put the decision date on the calendar now, because if you want this live in Q1 the security review alone eats three weeks.

  18. Buyer

    CRO first, then finance. Put the backtest review on the 14th and if it holds up I'll get you a decision by month end.

Objections you will hear

What they say, and what you say back.

ObjectionHow to answer it
"Our stack is already bloated and finance is running a consolidation exercise. I'm cutting lines, not adding them."Join the mandate, don't argue with it. "Which lines are you cutting?" Then map to displacement: if this closes the gap your enrichment contract or your intent tool was supposed to cover, name the two line items you'd expect to come out and say it before they do. On an upsell you have a second lever nobody else has — your own dead seats. Offering to credit sixteen unused CS seats against the add-on turns a net increase into a net reduction on the spend report, which is the document their CFO is actually reading. If you genuinely can't displace anything, say so and go for a scoped pilot on one team's budget instead of pretending you're free.
"We barely use what we're already paying for — your own utilization report proves it."Never argue. Either concede or reframe, and there is no third answer that doesn't cost you the relationship. Reframe by showing unused capacity as unrouted work: "Your CS org has 20 seats and four weekly actives. They're not idle — they're doing renewal prep in a spreadsheet the week of the call, off a Salesforce report that's out of date. That's the same work, just outside the system." Then be honest about whether the add-on fixes it. If they have an onboarding problem rather than a product gap, say that, fix adoption, and come back next quarter with the credibility intact.
"We're PLG. Outbound tooling pitches don't map to how we grow, and half our sales team calling into free workspaces is already annoying our champions."Agree fast, then narrow. "Totally — I'm not pitching cold spray into your motion." Then ask the question most PLG companies can't answer: how many free workspaces are sitting inside logos you already bill, and who is working them? Ask who owns the account once it crosses the PQL threshold, and whether the definition is written down anywhere. In most PLG orgs the second and third team signing up inside an existing customer is nobody's job. Frame the add-on as expansion intelligence and sales-assist routing, not outbound — and if their PQL definition doesn't exist yet, offer to build it as part of the pilot rather than assuming it.
"We bought an intent vendor last year and the data was garbage — everyone was in-market, same accounts every week."Name the failure mode before they finish describing it: topic-level intent resolved to a domain surfaces the same few hundred accounts weekly because it's measuring content consumption, not the customer's own product. Then ask what signal they'd actually act on — the answer is usually product telemetry or a renewal-date-anchored risk flag. Be specific about what yours is. Then offer the backtest: run it against their closed-won and their seat downgrades from the last two quarters, uncurated, before any money moves. "If it doesn't surface accounts you actually expanded or actually lost seats in, I've saved you the pilot" is the most persuasive sentence available to you here.
"Budget for your category is spent for the year — nothing until the new fiscal."Don't discount. Discounting the add-on tells them the original contract was overpriced and teaches them to wait every time. Instead: "Committed to what, and when does it reset?" Then test whether it's a freeze or a prioritisation problem — ask what got funded this quarter that wasn't in the plan, because something always does. Explore whether it can come from the budget of the team that benefits (CS, if it's a retention play) rather than the GTM tools line. Then work the timeline backwards: if they want it live in Q1, security review and procurement eat six weeks, so the decision date is now regardless of when the invoice lands. Signed order form now, start at renewal, co-termed.
"My RevOps team is one person who's underwater, and everything has to write back to Salesforce and the warehouse."This is a real objection, not a stall, and treating it as a stall makes you the vendor who doesn't understand their world. Answer with precision: native or middleware, which objects you write to, how many custom fields, whether you need a separate warehouse pipe or ride their existing reverse-ETL job, and the total hours of RevOps time — stated as a number. Then shrink the ask: absorb the config, have your CSM run enablement, move the start date past their known crunch. Get a calendar date for the start, not "circle back in Q3." If you can name an existing customer with the same CRM setup and an equally thin RevOps bench, use it.
"New CFO put in a rule — anything over $25k needs three competitive bids."You've just learned this is a fresh evaluation wearing an expansion's clothes, and you learned it on call one instead of week six. Two moves. First, scope the pilot below the threshold deliberately and say why out loud: "Let's price the one-segment pilot at eighteen so you're not running a bid process for a test." Second, co-term to the existing renewal so the full rollout lands as an amendment to a contract that already cleared procurement, not a new purchase order. Then ask the committee question directly: "Last time this went through finance in two weeks. Is that still the path?" If the threshold changed, so did your close plan.

Questions reps ask about this call

What has to be in the pre-call prep for a SaaS upsell call?

Six things, and you should not dial without them: licensed seats versus weekly active broken out by team; which features they've never touched and when the exec sponsor last logged in; one outcome number from their instance (meetings-booked-per-SDR, reply rate on sequenced accounts, cycle length in days — theirs, not your benchmark); commercials including renewal date, discount level, and whether the original signer still works there; open tickets and the last escalation; and current champion status. The test is simple: can you say one thing about their account they'd be mildly surprised you knew? A VP of RevOps knows you have the usage dashboard open. Asking "so how's everyone finding the platform?" is the single fastest way to get filed as a vendor rather than a partner.

How do I open an upsell call without the customer immediately going into polite-decline mode?

Frame it honestly in thirty seconds and pre-commit to walking away: "Two things — first, I pulled your usage for the last two quarters and there's a pattern I want to check with you. Second, depending on your answer there's a piece of our platform I think is relevant, and if it isn't I'll tell you and we'll end early." That sets an agenda, proves you did the homework, and lowers their guard more than any rapport-building. The opening that kills the call is "I wanted to walk you through something we just launched" — it tells a CRO or VP of Sales that this call is about your roadmap, not their NRR.

How do I handle a SaaS customer who says they barely use what they've already bought?

Say it before they do. "You've got 75 seats and 42 weekly actives — if I were you I'd ask why I'd give you another dollar before using the last one." Then either reframe the unused capacity as unrouted work happening in spreadsheets outside the system, or concede the point entirely and go fix adoption first. Do not argue, and do not push an add-on over the top of a flat usage curve. On an upsell you also have a lever nobody else has: offer to credit the dead seats against the expansion so the line item on finance's spend report goes down, not up.

Should I offer a discount when a SaaS buyer says budget is already committed?

No. Discounting the moment budget comes up tells them the original contract was overpriced and trains them to wait for the concession on every future expansion. Budget objections in SaaS are usually timing and authority objections wearing a costume. Ask what it's committed to and when it resets, ask what got funded this quarter that wasn't in the plan, and test whether it can come out of the benefiting team's budget rather than the GTM tools line. Then work the timeline backwards — security review and procurement typically eat weeks, so the decision has to happen now even if the invoice lands next fiscal. Signed order form now, start at renewal, co-termed to the existing contract.

What's the right size of ask on the first expansion call?

The smallest unit that proves the case: one segment, one team, one workflow, one quarter, with success criteria the customer writes down on the call and a pre-agreed decision date. Selling the all-regions rollout on call one because the quota needs it is how you end up with nothing signed. Two details make it land in SaaS: co-term the add-on to the existing renewal so procurement sees an amendment rather than a new vendor, and — if there's a bid threshold — deliberately scope the pilot beneath it and say why out loud.

When should I stop the upsell conversation entirely?

Park it if there's an open P1 or unresolved escalation, if your champion changed roles in the last sixty days, if the renewal is inside sixty days with value questions still open, if usage is flat or declining and you can't explain why, or if the company announced a hiring freeze or cost review this quarter. Also stop if they can't confirm a result from the core product — at that point you don't have an upsell call, you have a value-realization call, and running it as one is what protects the renewal. Booking an incremental $40k by pushing over the top of an escalation is how a renewable account becomes an at-risk one.