Upsell Teardown: The Account Review That Ended With Two Products and No Discount

12 min read

A line-by-line teardown of a routine account review that turned into a two-product expansion at full price, including the exact language that held when the customer asked for a bundle discount.

I sat in on an account review last quarter that I keep coming back to. It was scheduled as a routine check-in. It ended with the customer adding two products at full price, and the renewal — which was ninety days out — never came up once.

Most upsell content is theory. Somebody writes "lead with value" and "uncover the pain" and you nod and then you get on a real call and none of it tells you what to actually say when the buyer asks for a bundle discount. So instead of theory, here is the call, broken into moves, with the two moments where it nearly fell apart.

One note before we start: the transcript below is reconstructed from my notes and cleaned up, and identifying details are changed. The words are close to what was said. The sequence is exact, because the sequence is the whole lesson.

The setup

Mid-market account. On the platform a bit over a year. Healthy usage, no support fires, champion still employed — the kind of account a CSM marks green and a rep ignores until sixty days before renewal.

The rep had one product in the account. There were two more she thought fit. Her manager wanted her to "introduce the roadmap." She didn't. That decision is the first move.

Move one: open with their numbers, not your menu

Here is how almost every check-in I have listened to begins:

"Thanks for the time. I thought I'd walk you through some of what we've shipped this quarter and then get your thoughts."

That sentence tells the customer three things instantly. This is a vendor call. There is a deck. There is going to be an ask at the end. Everything after it gets processed as marketing.

Here is how this one began:

Rep: "Before I say anything — I pulled your usage for the last two quarters and there's one thing in it I can't explain, and I'm hoping you can. Your team's volume through the platform went up steadily until about March and then it flattened out. Nothing broke. You didn't lose seats. It just stopped growing. Do you know why that happened?"

That is the whole opening. No agenda slide, no product news, no "how have things been." One observation drawn from the customer's own data, framed as a question the rep genuinely could not answer.

The customer answered for nearly four minutes without interruption.

What makes this work isn't the data pull. It's that the rep asked about something she had noticed rather than something she wanted. If she had opened with "I noticed your usage flattened, and I think our other module would fix that," the customer would have heard the pitch inside the observation and started defending. Instead the question was real, and it put the customer in the position of explaining their own operation to someone who had clearly been paying attention.

If you take one thing from this post: go into the account's own numbers before the call and find something you cannot explain. Not something that flatters you, not something that sets up your product. Something that is genuinely strange. Then ask about it.

Move two: eight minutes on what is not working

The flattening had a cause. Part of the customer's workflow had moved off the platform because a downstream team needed data in a format the platform didn't produce. So somebody built a spreadsheet. Then somebody built a second spreadsheet. Then the spreadsheets became the system of record for that piece of the process, and the platform became the place where you entered things twice.

The rep's instinct here — everybody's instinct here — is to say "that's exactly what our export module handles." She didn't. She spent the next several minutes going further into the problem.

Rep: "Who owns the spreadsheet?"

Customer: "Honestly? Nobody. Dana built it. Dana's on a different team now."

Rep: "So what happens when it breaks?"

Customer: "It hasn't broken. It's going to. I think about that."

Rep: "What does 'break' look like? Walk me through the bad Monday."

That last one is the question I would tattoo on a new rep's forearm. Walk me through the bad Monday. It turns an abstract risk into a specific scene with named people in it, and the customer builds the business case out loud while you say nothing.

The customer walked through the bad Monday. It involved a compliance report, a director who would ask questions, and a manual reconstruction that would take a week. By the end of it the customer had talked himself into a problem being urgent that he had described ninety seconds earlier as "a thing we should probably fix sometime."

I timed it afterward out of curiosity. The rep did not mention a product for the first eight or nine minutes of a thirty-minute call. That is a long time to sit in someone else's mess without reaching for the thing in your bag. It is also the only reason the rest of the call worked.

This is where the industry version matters, because the bad Monday looks different everywhere. In staffing, the discomfort a rep goes looking for is redeployment — placements ending with nobody working the back half of the contract — which is why the staffing and recruiting upsell script spends its first section on what happens to a consultant in the last two weeks of an assignment rather than on the product that fixes it. In freight, it's the exception that got handled over text message and never made it into the system. Same move, different mess.

Move three: let the customer name the gap

Around the ten-minute mark the customer said this:

Customer: "What I actually need is for the export to happen on its own, and for someone other than me to be able to see it when it does."

There it is. He named the module. He didn't know he was naming it, but he described the product's two core functions in a single sentence, in his own words, unprompted.

The rep's response is the most disciplined thing on the recording:

Rep: "Say more about the second part. Who's the someone?"

She went further into the customer's sentence instead of answering it. The "someone" turned out to be a compliance lead — a second stakeholder, on a second team, with a second budget, who nobody at the vendor had ever spoken to. That person is the reason the deal ended up being two products instead of one.

If the rep had answered the first sentence with "we have that," the compliance lead never surfaces and the call ends with a single-product upsell at best.

When you finally do name the product, name it small. Here's what she said:

Rep: "Okay. There's a piece of the platform that does the first part — the export running on its own. It's not new, you just never needed it. The second part, the visibility for compliance, is a different thing and I'd want to understand what that person actually needs to see before I tell you whether it fits. Can we get them on a call?"

Notice what that does. It confirms one product, defers the second, and makes the second one contingent on a meeting. She sold the meeting, not the module. And by saying "it's not new, you just never needed it," she quietly removed the obvious objection — why am I only hearing about this now — before it could be asked.

Move four: price off the outcome they just described

The pricing conversation happened on the follow-up call, with the compliance lead present. The rep opened it by handing the customer's own words back:

Rep: "Last time we spoke you described a scenario where the spreadsheet fails before an audit and your team spends a week rebuilding it. You said that's a when, not an if. Is that still how you'd describe it?"

Customer: "Yeah."

Rep: "Then here's what the two pieces cost."

No ramp into it, no "so in terms of investment." She restated the outcome, got a yes on the record, and then said the number.

The anchor for the price was never the old contract. That's the trap in expansion selling — you price the new thing relative to what they already pay, so it becomes "another twenty percent on top of what we're already spending," and the customer evaluates it as a budget increase. She priced it relative to the week of manual reconstruction, the compliance exposure, and the fact that nobody owned the spreadsheet. Different frame entirely. Same number, but now it's being compared to a cost the customer described rather than to a line item in their vendor spend.

The insurance version of this call leans on exactly this move, because in claims the outcome has a hard edge to it — recovery dollars that are sitting in files nobody has worked — and the price of the module gets compared to the recoverable, never to the existing subscription.

Move five: park the renewal on purpose

The renewal was ninety days out. The rep knew it. The customer knew it. Neither of them mentioned it.

This was deliberate and she told me so before the call. Her reasoning: the second you put the expansion and the renewal on the same table, you have built the customer a lever. Every dollar of expansion becomes a reason to ask for something on the renewal, and every renewal term becomes a reason to slow-walk the expansion. You turn two clean conversations into one messy negotiation, and the messy one always takes longer.

What if the customer raises it? Then you park it, out loud, and you make the parking sound like a favor:

"Your renewal's a separate conversation and I don't want to muddy this one with it. If we do this and it works, the renewal gets easier for both of us. If we don't, nothing about the renewal changes. Can we keep them apart?"

I have never seen a customer say no to that. It sounds like restraint, which it is, and it also removes the customer's best source of leverage without either party naming it as leverage.

Wobble one: the bundle discount

Here is where it nearly went sideways. Right after the price:

Customer: "If we're taking both, there's got to be a bundle number, right?"

This question kills more expansions than any objection I know, not because reps can't discount but because of what they say next. The reflex answer is "let me see what I can do," which does two things: it confirms the price was soft, and it hands the deal to procurement, where the buying committee grows and the timeline doubles.

What she said:

Rep: "There isn't one, and I'd rather tell you that now than go away for a week and come back with four percent off. What I can do is sequence it — turn the export on this month and start the compliance piece next month, so it doesn't all hit one budget cycle. Would that help more than a discount?"

Three things in there. She said no immediately, which is the only version of no that gets believed. She named the insulting small discount she could have gone and fetched, which made the no feel honest rather than withheld. And she replaced the discount with a concession that costs her nothing — timing — and then asked whether it solved the actual problem, which was budget timing, not price.

The customer said the sequencing helped. It usually does. When somebody asks for a bundle discount, the underlying problem is frequently about when the money leaves, not how much of it leaves. Ask which one it is before you give up margin.

Wobble two: "let me think about it"

Near the end, the compliance lead said the thing:

Compliance lead: "This all makes sense. Let me think about it and come back to you."

Bad reps hear a soft yes. Good reps hear a hole in the plan they haven't found yet.

Rep: "Of course. Can I ask what you'll be thinking about? Because if it's whether the compliance view actually shows what you need, I can get you in front of it this week and you'd know for sure instead of guessing. If it's something else, I'd rather know what it is."

The customer paused, then said the real thing: he wasn't sure his team would use it, because they had been burned by a tool that promised the same visibility and required them to log into yet another system.

That objection was never going to surface on its own. It would have surfaced as three weeks of silence and then a "let's revisit next quarter." Instead it surfaced in the room, and the rep answered it in ninety seconds by explaining where the view lived.

"What will you be thinking about" is the highest-yield question in expansion selling and almost nobody asks it, because it feels like pushing. It isn't pushing. It's offering to do the thinking with them. The freight and 3PL playbook has a version of this tuned for ops buyers who genuinely do need to check with a dispatch lead, where the follow-up is "who do you need to ask, and what will they want to know" — same intent, softer edge, and it gets you the second stakeholder's objection before the second stakeholder ever speaks.

What actually carried the call

Strip it down and there are five decisions, in order. Open on an anomaly in their numbers instead of your product news. Stay in the problem past the point where it is comfortable. Let them describe the product before you name it, and when you do name it, name it smaller than it is. Anchor price to the outcome they just described, never to the existing contract. Keep the renewal in a separate room.

Then two saves: refuse the discount fast and replace it with timing, and treat "let me think about it" as an unfinished sentence you are allowed to help finish.

None of this is clever. What makes it hard is that every one of those moves requires you to not say the obvious thing at the moment your mouth wants to say it. Eight minutes of somebody describing a broken spreadsheet is a long time to stay quiet when you know the fix. The gap between reps who expand accounts and reps who "introduce the roadmap" is almost entirely a gap in restraint under pressure.

Which means it is a rehearsal problem, not a knowledge problem. You already know you should ask what they'll be thinking about. The question is whether that sentence comes out of your mouth in the second after a customer says something that sounds like a yes, when your instinct is to thank them and get off the call.

If I were running a team on this, I'd take the two wobbles above — the bundle discount ask and the "let me think about it" — and I'd make every rep say their answer out loud twenty times before they ever hit a live account review, until the no-discount line comes out flat and unbothered instead of apologetic. That is exactly the kind of drilling we built DrillCall for: putting a rep in the moment right after the price, over and over, until the response is boring. Pick the industry playbook closest to your accounts, pull the two objections that actually cost you money, and run them until nobody flinches. The teardown is only useful if the language survives contact.

Practise these calls

The playbooks behind this post — a scripted opener, the objections you will actually hear, and an AI buyer to run it against.

About the author

Timothy Yang

Founder & CEO, DrillCall

I build products by getting on the phone. Four businesses built and exited, including a micro-task marketplace with 170,000+ users, and the common thread in every one was the same: nothing moved until I picked up the phone and sold. Cold outreach, discovery calls, closing. The unglamorous work that actually creates revenue. Right now I am building DrillCall, an AI-powered voice training platform where sales reps practice live calls against realistic AI buyer personas, 310 of them across 31 industries, and get a scorecard after every call. Think flight simulator, but for cold calls. I also run Vibe Coding Club, a community of over 3,500 builders shipping products with AI, and I have spent time inside AWS and Dell, so I have seen how enterprise sales machines work from the inside as well as from the founder seat. What I care about: expected value thinking, fast iteration, and talking to customers before writing a line of code.

← All posts