How to Track the Promises Sales Makes to Customers (2027)

A no-budget method to capture, own, review, and close sales promises before they become churn. Fields, weekly review agenda, metrics, and a worked example.

How to Track the Promises Sales Makes to Customers (2027)

An AE closed a $150K deal by telling the buyer, "we can do custom reporting." The commitment went into a CRM note and nowhere else. Eleven months later, the renewal call is the first time anyone in product hears about it. This guide explains how to stop that pattern with a Promise Tracking Board, a no-budget method that runs on a shared spreadsheet. It also covers when a tool like BuildBetter becomes worth adding, which is usually when promises are made on calls faster than anyone can log them.

What Is Sales Promise Tracking?

Sales promise tracking is the practice of logging every commitment made to a customer during the sales process in one shared record, with a named customer, the person who made it, the date, and a status. Each promise is then reviewed on a fixed weekly schedule until the customer confirms it was delivered or it is formally declined.

A promise is anything a customer relied on when they signed. It doesn't matter whether an AE said it on a discovery call or it appears in your order form. If the buyer used it to justify the purchase internally, it counts. That includes:

  • Features: "custom reports with our branding"
  • Integrations: Okta SSO, Salesforce field sync, Slack alerts
  • Timelines: "that ships in Q2"
  • Pricing terms: locked rates, seat discounts, renewal caps
  • SLAs and limits: uptime, support response times, API rate limits
  • Security and compliance commitments: SOC 2 reports, data residency, audit access

Sales promise tracking closes the promise-to-delivery gap: the space between what sales committed to and what product knows about and ships. That gap is mostly a tracking and ownership failure. Product teams rarely ignore promises on purpose. They never see them.

The fix is a system with four parts: a shared record, a neutral owner, a weekly cadence, and an explicit rule for when a promise counts as closed. More Slack messages and more sync meetings without a record will not close the gap. The rest of this guide covers why promises get lost, the nine-step Promise Tracking Board method, a worked example with five real-looking promises, the mistakes that kill these boards, and the point where a spreadsheet stops being enough.

Why Sales Promises Get Lost (and Turn Into Churn)

Sales promises get lost because no one owns them after the contract is signed, and the resulting churn almost never gets traced back to the original commitment. Here is how a typical broken promise plays out over six months:

  1. Month 1: A $150K ARR deal closes on "we can do custom reporting."
  2. Month 2: The promise lives in a CRM note, a Slack thread, or only in the AE's head.
  3. Month 3: It is missing from the backlog, or it appears there as "reporting improvements" with no customer attached.
  4. Month 4: The champion asks their CSM about it. Product says, "It's on the roadmap, not prioritized."
  5. Month 5: The champion starts evaluating other vendors.
  6. Month 6: The account churns. The exit survey says "missing features."

Nobody connects the churn to the promise. The exit reason looks like a product gap when it was really a tracking failure, so the post-mortem produces the wrong lesson.

Three failure modes

1. No visibility. Promises live in CRM notes, if they are written down at all. Nobody reviews them on a schedule, product often lacks CRM access, and CS doesn't check them during onboarding.

2. Misaligned incentives. Sales is paid on closed deals. Product is measured on features shipped. CS is measured on renewals. Nobody is paid on promises kept, so promises become an externality that each team assumes another team is handling.

3. The telephone game. Each handoff compresses the request until it means something else:

  • Customer says: "custom reports with our branding"
  • Sales logs: "custom reporting requested"
  • Product reads: "reporting feature"
  • Engineering builds: "export to CSV"
  • Customer receives: something that doesn't solve their problem

Pricing terms are promises too

In September 2023, Unity announced a per-install Runtime Fee that would apply to games already in development under the old terms. Developers had built businesses around the original pricing. Within about ten days, Unity publicly apologized and revised the policy. The CEO retired within a month, and the fee was fully canceled a year later. Changing a term customers relied on did the same damage as breaking a feature commitment, only faster.

What the gap costs

IDC estimates that sales and marketing misalignment costs B2B companies 10% or more of revenue per year (as cited in Spencer Shulem's Customer-Led Development, Chapter 15). The sales-to-product promise gap is the same disease in a different organ.

Annual recurring revenueEstimated annual cost of misalignment (10%+)
$10M ARR$1M+
$50M ARR$5M+
$100M ARR$10M+

The same chapter references an Aberdeen Group study of 453 companies (2010), commonly reported as finding that well-aligned organizations grew revenue about 20% a year while poorly aligned ones saw revenue decline about 4%.

The cost compounds. Churned customers talk to your prospects. Lost revenue shrinks the product budget. Sales keeps promising to hit quota, product falls further behind, and the gap widens every quarter. Net revenue retention and gross revenue retention both take the hit, and replacing a lost account costs several times more than keeping it.

The Method: How to Run a Promise Tracking Board

A Promise Tracking Board is a shared record of every sales commitment, owned by a neutral person and reviewed weekly until each promise is confirmed by the customer or formally declined. The framework comes from Chapter 15 of Customer-Led Development: How to Build What Your Customers Want When AI Can Build Anything by Spencer Shulem. Everything below runs on a shared spreadsheet with no budget.

Step 1: Capture the promise when it is made

The AE logs the promise the same day as the call. Not at close, and not at the sales-to-CS handoff. Record the customer's words, not a paraphrase. Write "custom reports with our branding," not "reporting." The customer's wording is your acceptance criteria, and it is the only reliable way to break the telephone game.

Step 2: Set up the fields

CustomerPromise (customer's own words)Made ByMade DateStatusDays OpenProduct OwnerNext Customer Touch Date
Acme Corp"custom reports with our branding"J. Ortiz (AE)2027-01-14CapturedautoR. Patel (PM)2027-02-04

Four rules apply:

  • Every promise has a named customer.
  • Every promise has a source: who made it and where (call, email, contract).
  • Days Open calculates automatically: =TODAY()-D2 in Google Sheets or Excel.
  • Promises older than 60 days turn red through conditional formatting, using a custom formula such as =$F2>60 applied to the whole row.

Step 3: Move promises through five status stages

  1. Captured: logged, not yet validated by product.
  2. Validated: product confirmed it is buildable and prioritized it.
  3. Building: in active development.
  4. Delivered: shipped to the customer.
  5. Confirmed: the customer said it solves their problem.

Step 4: Assign a neutral owner

The board belongs to Product Ops or a designated "Customer Truth Owner," not to sales, product, or CS. Whoever owns the board controls the narrative. If you don't have Product Ops, name one specific person and budget 30 minutes a day. A board without a named owner becomes an abandoned artifact within a month.

Step 5: Hold a 30-minute weekly promise review

  • New promises (5 min): what was committed this week?
  • Status updates (10 min): what moved?
  • Aging promises over 60 days (10 min): what's the plan, and does the customer know?
  • Confirmations (5 min): did customers confirm value?

Attendees: the sales leader or a rotating AE, the relevant PMs, and the board owner. The CS leader is optional but useful.

Step 6: Run a pre-deal promise check

Before any deal with a non-standard commitment closes, spend 15 minutes on three questions. What are we promising? Can we deliver, according to the PM's honest assessment? When? If the answer is no, sales resets expectations before signature, not after. The format can be a formal approval or a quick Slack huddle. The discipline matters more than the format, and this is where product earns the right to push back.

Step 7: Put promises on the roadmap

Write "Q2: Custom reporting (promised to Acme Corp, TechCo)," not "Q2: Reporting improvements." Every roadmap item should trace to a customer promise or a validated need. A promise-informed roadmap shows everyone, including sales, which commitments are funded.

Step 8: Close each promise

  • When you deliver: send a personal notification, offer a 15-minute walkthrough, and ask, "Does this solve the problem you described?" Move to Confirmed only when the customer says yes.
  • When you can't deliver: tell them directly, explain why, and offer an alternative. Never ghost them.
  • When it's taking too long: past 60 days, send a proactive update with the reason and a new date, then check in every 2-3 weeks.

Step 9: Track three metrics

  • Promise-to-delivery time: under 30 days for standard promises. Escalate anything over 60.
  • Promise coverage rate: 100%. Every promise is delivered, declined, or given an alternative. "Forgotten" is not a resolution.
  • Promise confirmation rate: above 80%. Lower than that means you're building the wrong thing.
A public example: GitLab logs customer requests in its public issue tracker. Account managers add the customer's plan, seat count, timing, and deal impact to the issue, and a label marks requests promised to a customer, with a milestone tracking on-time delivery. In effect, it is a Promise Tracking Board run in the open.

Worked Example: A 30-Account Promise Tracking Board

The fastest way to measure your promise gap is a Day-1 audit: pull last quarter's closed-won deals, read the CRM notes, and count how many promises shipped. The scenario below is an illustrative example, not a real company.

A B2B SaaS company with 30 active accounts runs the audit. It finds five promises across those 30 accounts. One has shipped. That ratio, one in five, is the promise gap. Here is the board after the first pass:

Customer (ARR)PromiseMade ByProduct OwnerStatusDays Open
Northwind ($40K)"Okta SSO"AE 1PM AValidated21
Brightline ($18K)"Slack alerts"AE 2PM BBuilding35
Kestrel ($95K)"custom reports with our branding"AE 1PM ACaptured88 (red)
Halcyon ($22K)"raise API rate limit to X"AE 3PM CDelivered, awaiting confirmation—
Orbit ($12K)"Salesforce field sync"AE 2PM BCaptured14

Ownership is set the same day: one named PM per promise, a board owner who runs the review, and the AE who made each promise stays on point for customer communication.

The Kestrel decision

Kestrel is the largest account. Its promise is the oldest at 88 days, it has never been validated, and the renewal is 75 days out. In the first weekly review, the PM gives an honest assessment: fully branded custom reports would take a quarter or more. A branded PDF export template, which covers the core of what Kestrel described, could ship in about three weeks.

The team declines to promise the full feature. Instead, it offers the PDF template with a dated timeline. The AE and PM call the champion together using a direct script: "I need to be honest with you. Here's what we can ship and when, and here's what we can't do this year." The promise moves to Validated with the alternative noted, and a 2-3 week check-in cadence goes on the calendar.

Compare the two paths. Without the board, the gap would surface on the renewal call, which is the six-month pattern described above. With the board, Kestrel hears it from the company first, with a plan, about 75 days before the renewal decision.

Closing the remaining rows

  • Halcyon: gets a confirmation email asking whether the higher limit solves their problem. It moves to Confirmed only after the customer replies yes.
  • Orbit: goes through validation at next week's review.
  • Northwind and Brightline: stay on track with next touch dates set.

Week-one result: promise coverage goes from "unknown" to 5 of 5 promises with an owner and a next step.

Common Mistakes When Tracking Sales Promises

Most promise tracking boards fail because of process and incentive problems, not because the spreadsheet was wrong. Watch for these:

  • Logging at handoff instead of on the call. Promises recalled days later get paraphrased and lose the customer's actual words.
  • Letting sales or product own the board. Whichever side owns it controls the narrative, and the other side stops trusting it. Ownership has to sit on neutral ground.
  • Treating Delivered as done. Shipping is not closing. A high delivered count paired with low confirmation means you're shipping to the ticket instead of the problem.
  • Skipping the weekly review. Without the habit, the board is one more spreadsheet and goes stale within weeks.
  • Ignoring incentives. If nobody is paid on promises kept, behavior won't change. Put retention of promise-accounts in the sales comp plan. No software fixes this, BuildBetter included.
  • Having no executive sponsor. The first time promise tracking conflicts with quota, promise tracking loses unless an exec backs it. A tool can't supply that either.
  • Turning product into an order-taker. The board exists for visibility, not obligation. Product can and should push back on promises that don't make sense, ideally in the pre-deal check.
  • Tracking only features. Pricing terms, timelines, and SLAs are promises too, as Unity's Runtime Fee showed.
  • Going silent on aging promises. Silence past 60 days is worse than bad news. The customer should never have to wonder whether you remember.

Warning signs

  • Average promise age is rising week over week.
  • More than 50% of churned accounts had open promises.
  • Promises exist on the board but not on the roadmap.
  • Deliveries pile up without customer confirmation.

When a Spreadsheet Stops Working (and the Tools to Use Then)

A spreadsheet Promise Tracking Board works until promises are made on calls faster than anyone logs them. The board depends entirely on AE memory and discipline at the moment of capture. You've likely crossed that threshold when:

  1. The weekly review keeps surfacing promises that customers or CSMs mention but that were never logged.
  2. Re-running the Day-1 CRM audit finds promises missing from the board.
  3. Customer wording on the board no longer matches what was said on the call.
  4. The board owner's 30 minutes a day goes to chasing AEs for entries instead of reviewing promises.

If you have a small team, a few AEs, and a disciplined weekly review, stay on the spreadsheet. Tooling is for capture problems, not commitment problems.

ToolBest forCaptureCost
1. BuildBetterTeams losing promises between the call and the boardAutomatic from calls, Slack, CRMPaid
2. Shared spreadsheetEarly teams; everyone's starting pointManualFree
3. AirtableStructured tracking when the sheet gets messyManualFree tier, then paid
4. CodaKeeping review notes and the board togetherManualFree tier, then paid

1. BuildBetter

BuildBetter captures promises at the source by recording sales calls (with a bot, without one locally, or on mobile) and pulling in Slack and CRM context through integrations with Zoom, Salesforce, HubSpot, and Jira. Promises can be extracted with the customer's exact words, linked to the account, and tracked as commitments through Tracked Objects, then turned into Jira or Linear tickets with full context. When a promise ships, it can draft the loop-closure email. Limits: it does not fix comp plans, it does not replace the weekly review or a named owner, and teams that only need a lightweight list may not need it.

2. A shared spreadsheet

Free and fast. Use the field template from Step 2 plus conditional formatting for anything over 60 days. Best for early teams and the right first move for everyone.

3. Airtable

A structured database with linked records for accounts and promises, status views, and automations for aging alerts. A good next step when the spreadsheet gets messy but capture is still manual.

4. Coda

A doc-plus-table workspace where the weekly review agenda and the board live together. Useful when you want meeting notes and the tracker in one place. Capture is still manual.

If your problem is follow-through rather than capture, a spreadsheet or Airtable with a strong owner will beat any recording tool.

FAQ: Tracking Promises Sales Makes to Customers

What is sales promise tracking?

It is logging every commitment made to a customer during the sales process in one shared record, with customer, promise, maker, date, and status. Each promise is reviewed weekly until the customer confirms delivery or it is formally declined.

Who should own sales promise tracking?

A neutral owner, usually Product Ops or a designated Customer Truth Owner, not sales, product, or CS. The board sits at the intersection of all three. Budget about 30 minutes a day, and name a specific person if you have no Product Ops function.

What fields should a promise tracker include?

Customer, the promise in the customer's own words, who made it, the date made, status (Captured, Validated, Building, Delivered, Confirmed), days open (auto-calculated with TODAY() minus the made date), product owner, and next customer touch date. Flag anything open longer than 60 days in red.

How often should sales and product review promises?

Weekly, for 30 minutes: new promises (5 min), status updates (10 min), promises open more than 60 days (10 min), and customer confirmations (5 min).

When is a sales promise considered closed?

When the customer confirms the delivered work solves their problem, or when the promise is formally declined with an alternative offered. Shipping alone does not close a promise, and "forgotten" is not a valid resolution.

What should you do if you can't deliver a promised feature?

Tell the customer directly and early. Explain why and offer an alternative so they hear it from you rather than discovering it themselves. Never ghost them.

How do you start tracking sales promises today?

Pull last quarter's closed-won deals, read the CRM notes, list every promise, and count how many shipped. That count is your promise gap. Within a week, set up a spreadsheet board, book the first weekly review, and close one aging promise.

Sources and Further Reading

  • Shulem, Spencer. Customer-Led Development: How to Build What Your Customers Want When AI Can Build Anything, Chapter 15: Promises. Source of the Promise Tracking Board framework, the IDC misalignment estimate, and the Aberdeen Group (2010, 453 companies) alignment findings as cited.
  • Wikipedia, Churn rate
  • Wikipedia, Customer relationship management
  • Wikipedia, Unity (game engine), background on the 2023 Runtime Fee episode
  • GitLab Handbook, handbook.gitlab.com, on product and customer-request workflows
  • Gallo, Amy. "The Value of Keeping the Right Customers." Harvard Business Review, October 2014.

Make Churn Optional

Every broken promise starts as a sentence on a sales call that nobody wrote down correctly. BuildBetter records those calls, pulls in Slack and CRM context, and extracts commitments in the customer's own words so your Promise Tracking Board stays complete. When the work ships, it helps you close the loop with the customer who asked for it.

Make churn optional. Book a demo to see how BuildBetter tracks every promise from first call to customer confirmation.

Further reading: Customer-Led Development

The method on this page comes from Customer-Led Development: How to Build What Your Customers Want When AI Can Build Anything by Spencer Shulem, BuildBetter's founder, drawn from more than 2,000 conversations with product leaders. It lays out the full system: how customer truth flows through a company, how every feature traces to a named customer, and how loops get closed.

Start with the overview: What is customer-led development?