---
title: "Deal Stages Compared: HubSpot vs Pipedrive vs Salesforce"
short_title: "Deal Stages: HubSpot vs Pipedrive vs Salesforce"
description: "HubSpot's default pipeline has 7 stages with set probabilities. Pipedrive keeps won/lost separate from stages. Salesforce marks stages as won or closed. How each CRM knows a deal is won."
date: 2026-09-24
products: HubSpot=https://www.hubspot.com; Pipedrive=https://www.pipedrive.com; Salesforce=https://www.salesforce.com
faq: What are HubSpot's default deal stages?=Appointment scheduled (20%), Qualified to buy (40%), Presentation scheduled (60%), Decision maker bought-in (80%), Contract sent (90%), Closed won (100%, Won) and Closed lost (0%, Lost). || How does Pipedrive mark a deal as won?=A Pipedrive deal has a status separate from its stage — open, won or lost. Winning or losing a deal changes its status, not its stage. || How does Salesforce know an opportunity is won?=Each opportunity stage value has IsClosed and IsWon flags. Salesforce's documentation says multiple stage values can represent a won opportunity, so you check the IsWon flag of the opportunity's stage rather than its name.
---

# Deal Stages Compared: HubSpot vs Pipedrive vs Salesforce

<p class="meta">Researched and verified against each product's documentation or API reference on 2026-09-24.</p>

:::tldr
**Short answer:** HubSpot's default sales pipeline has seven stages, each with a win probability, and "Closed won" and "Closed lost" are stages. Pipedrive separates the two ideas: a deal has a **stage** and, independently, a **status** of open, won or lost. Salesforce lets you name stages anything, and marks each one with `IsClosed` and `IsWon` flags — more than one stage can count as won.
:::

## Three answers to "is this deal won?"

| | HubSpot | Pipedrive | Salesforce |
|---|---|---|---|
| Where "won" lives | A stage with probability set to Won | A deal **status** (`won`), separate from stage | An `IsWon` flag on the stage |
| Default stages | 7, with fixed probabilities | Configurable per pipeline | Configurable picklist |
| Probability | Per stage | Per stage (`deal_probability`) | Per stage (`DefaultProbability`) |
| Stale deals | — | "Rotten" after N days in a stage | — |
| Forecasting | Weighted amount from stage probability | Weighted values from probability | A forecast category per stage |

## HubSpot: probability built into every stage

HubSpot's knowledge base states the defaults exactly: "The default pipeline has seven deal stages: Appointment scheduled (20%), Qualified to buy (40%), Presentation scheduled (60%), Decision maker bought-in (80%), Contract sent (90%), Closed won (100%, Won), Closed lost (0%, Lost)."

The probability is not decoration. "Stage probability is used to determine the weighted amount shown in board view, which is calculated by multiplying the total amount in each stage by the stage probability."

Won and lost are stages in HubSpot, identified by their probability setting: "Won and Lost are closed stages." And HubSpot insists you keep both: "to ensure all sales reports, custom deal or revenue reports, and sales analytics tools process your deals correctly, you must include stages for both Won and Lost under Deal probability."

## Pipedrive: where a deal is, and whether it's over, are separate

Pipedrive's API treats the outcome as its own field. Deals can be filtered by status, where "open = Open, won = Won, lost = Lost." Winning is recorded with its own timestamp — "The date and time of changing the deal status as won" — and a close time that "Can only be set if deal status is won or lost."

Because status is separate, a won deal keeps the stage it was in when it closed. That makes one question easy to answer in Pipedrive that is awkward elsewhere: *at which stage do we tend to win or lose deals?*

Pipedrive stages also carry a probability — "The success probability percentage of the deal. Used/shown when deal weighted values are used" — and a feature the other two don't have built in: **rotting**. A stage can be set so deals "can become rotten", with `days_to_rotten` defined as "The number of days the deals not updated in this stage would become rotten." It flags neglected deals rather than slow ones.

## Salesforce: stages carry flags

In Salesforce, an `OpportunityStage` "Represents the stage of an Opportunity in the sales pipeline, such as New Lead, Negotiating, Pending, Closed, and so on." Each stage value carries the metadata that the other two store elsewhere:

- `IsClosed` — "Indicates whether this opportunity stage value represents a closed opportunity (true) or not (false). Multiple opportunity stage values can represent a closed opportunity."
- `IsWon` — "Indicates whether this opportunity stage value represents a won opportunity (true) or not (false). Multiple opportunity stage values can represent a won opportunity."
- `DefaultProbability` — "The default percentage estimate of the confidence in closing a specific opportunity for this opportunity stage value."
- `ForecastCategoryName` — one of Best Case, Closed, Commit, Most Likely, Omitted or Pipeline.

The phrase to notice is "Multiple opportunity stage values can represent a won opportunity." A team can have "Closed Won – New" and "Closed Won – Renewal" as separate stages, both counting as won. That's why Salesforce's own guidance is to "test whether a given opportunity is won or not based on its StageName value and the value of the IsWon property" — never by matching the stage name.

Retired stages don't disappear either: "Inactive opportunity stage values are not available in the picklist and are retained for historical purposes only."

## What to take from this

1. **Keep the outcome separate from the stage.** Pipedrive's model — stage plus status — answers "where do we lose deals?" directly. When won and lost are stages, that information is overwritten at close.
2. **Never infer meaning from a label.** Salesforce stages can be named anything and several can mean "won". Store the meaning as a flag, as Salesforce does, and let users name things freely.
3. **Probability belongs to the stage, not the rep.** All three attach a default probability to each stage, which is what makes a weighted pipeline possible without anyone guessing.

## Method and limits

HubSpot's defaults are from its knowledge-base article on setting up pipelines; Pipedrive's fields from its official v2 OpenAPI specification; Salesforce's from the `OpportunityStage` entry in its Object Reference. All read on 2026-09-24. All three are heavily configurable, and Salesforce's default stage list varies by edition and setup, so we describe its model rather than a fixed list. We have no affiliation with any of the three.

## Sources

- HubSpot — [Set up and customize pipelines](https://knowledge.hubspot.com/object-settings/set-up-and-customize-pipelines)
- Pipedrive — [API v2 OpenAPI specification](https://developers.pipedrive.com/docs/api/v1/openapi-v2.yaml)
- Salesforce — [OpportunityStage object reference](https://developer.salesforce.com/docs/atlas.en-us.object_reference.meta/object_reference/sforce_api_objects_opportunitystage.htm)

---

*Researched by [SaaSReadyit](https://saasreadyit.com), which writes AI-generated validation reports for software ideas. Related: [The status that gets you paid](https://saasreadyit.com/blog/the-status-that-gets-you-paid-invoice-ninja-tutorcruncher-fresha.html).*
