TL;DR
Marketing says it delivered 400 leads last quarter. Sales says it got nothing worth calling. Both are looking at the same CRM. That argument is almost always a lead-lifecycle problem: MQL, SAL, and SQL aren't defined, aren't tied to exit criteria, or aren't the same thing to both teams. This guide defines each stage, shows where the handoff breaks, maps it into HubSpot and Salesforce, and covers the part most articles skip — where outbound-sourced leads actually fit.
Sourcing note: the stage definitions from HubSpot and the lead-conversion flow from Salesforce are VERIFIED against their own documentation. The Demand Waterfall lineage, qualification frameworks, conversion benchmarks, and the outbound-modeling recommendations are practitioner guidance and GenFlows POV — flagged (directional) or called out as opinion. Don't quote the benchmarks as hard fact without checking the primary study.
An MQL is a lead marketing has qualified as "ready for sales" based on fit and behavior, before any 1:1 sales conversation. A SAL is that MQL after sales has formally accepted it and committed to work it within an SLA. An SQL is a lead sales has qualified through direct interaction and confirmed as a real opportunity worth pursuing. In order: marketing hands over an MQL, sales accepts it as a SAL, and if discovery confirms budget, need, authority, and timing, it becomes an SQL and then an Opportunity. The SAL step exists specifically to make the marketing-to-sales handoff accountable instead of a black hole.
The vocabulary most B2B teams use descends from the SiriusDecisions Demand Waterfall (SiriusDecisions was acquired by Forrester in 2018), which is credited with introducing SAL as the explicit acceptance handshake between marketing and sales (directional). Here are the stages as HubSpot defines them by default (VERIFIED, from HubSpot's knowledge base):
Note SAL is missing from that list. HubSpot's default lifecycle stages jump straight from MQL to SQL (VERIFIED). SAL is a Demand-Waterfall concept you add yourself — via the Lead Status property, a custom stage, or a deal stage — because it's a workflow checkpoint, not a native CRM stage.
The clean version: an MQL is qualified by marketing on fit plus behavior — a score threshold, a pricing-page visit, a demo request — with no 1:1 sales conversation yet. An SQL has been vetted by a human in sales through direct interaction and confirmed as a real opportunity (directional consensus).
Where it breaks is the gap between them. Marketing declares an MQL and books the win. Sales looks at it, decides it's the wrong ICP or has no real intent, and quietly never works it. Marketing's dashboard shows "leads delivered"; sales' pipeline shows nothing; and no one measures the leak. That's exactly what the SAL stage fixes: sales must formally accept or reject each MQL within an SLA, against agreed criteria, before discovery starts. Acceptance makes the handoff visible and the leak measurable. One widely-cited (secondhand) benchmark suggests only about a third of MQLs get sales-accepted and roughly half of those progress to SQL — illustrating why the checkpoint matters, though you should verify those figures against your own funnel (directional).
| Dimension | MQL | SAL | SQL |
|---|---|---|---|
| Owner | Marketing | Sales (accepting) | Sales (qualifying) |
| Definition | Fit + behavior meets marketing's bar | Sales accepts and commits to work it | Vetted via 1:1 interaction; real opportunity |
| Entry criteria | Score threshold or high-intent action | MQL passes ICP + intent check | SAL passes discovery (BANT/MEDDIC) |
| Exit criteria | Handed to sales for acceptance | Worked within SLA, or rejected + recycled | Converted to Opportunity / deal created |
| Example signal | Downloaded pricing; hit lead score | Rep logs first outreach within SLA | Booked call; confirmed need + timeline |
| CRM location | HubSpot lifecycle = MQL / SF Lead Status | HubSpot Lead Status / SF custom status | HubSpot SQL stage / SF lead conversion |
What turns a SAL into an SQL is passing a qualification framework — and the framework you choose is your SQL exit criteria. Pick one and hard-code its checks as required fields in the CRM (directional):
HubSpot (VERIFIED): the Lifecycle Stage property tracks the macro funnel (the stages above), while Lead Status is a separate property for granular sub-status within sales work — New, Open, In Progress, Attempted to Contact, Connected, Bad Timing, Unqualified. The clean pattern: use Lifecycle Stage for the macro funnel and Lead Status to represent the SAL handshake and your recycle states (directional).
Salesforce (VERIFIED): the funnel is split across objects. A Lead record is worked via the standard Lead Status picklist, then converted into an Account, Contact, and (if promising) an Opportunity — at which point the lead record becomes read-only. In practice, MQL/SAL/SQL live as Lead Status values, SQL maps to the point of conversion, and the Opportunity object carries everything from there (directional modeling). For choosing between them for outbound, see our best CRM for B2B outbound comparison.
Here's where GenFlows' point of view diverges from the standard playbook — and we'll flag it plainly as practitioner opinion. The classic lifecycle is built for inbound. Subscriber → Lead → MQL assumes the prospect raised their hand first. But an outbound-sourced contact never subscribed, never downloaded anything, and never scored a behavioral point — so those early stages simply don't apply.
Our recommendation:
The upstream work here is your targeting: a positive-reply "SQL" is only as good as the list behind it. Get that right with a sharp ICP definition and disciplined lead scoring, and handle the replies themselves with a real process — see how to handle cold email replies.
Stages are inert without service-level agreements. Set two:
None of this survives dirty data. If contact records are stale or duplicated, your stage counts lie — keep the pipeline clean with disciplined CRM data hygiene, and instrument the whole funnel on a RevOps dashboard.
For the wider system these stages plug into, see our complete guide to RevOps.
An MQL is qualified by marketing on fit and behavior before any sales conversation; an SQL has been vetted by a salesperson through direct interaction and confirmed as a real opportunity. MQL is marketing's verdict, SQL is sales' verdict.
A SAL is an MQL that sales has formally accepted and agreed to work within an SLA — the accountability handshake that sits between MQL and SQL, before discovery confirms qualification. Acceptance is what makes the marketing-to-sales handoff measurable.
No. HubSpot's default lifecycle stages are Subscriber, Lead, MQL, SQL, Opportunity, Customer, Evangelist, and Other. SAL is modeled using the separate Lead Status property or a custom stage.
Generally no. A positive outbound reply reflects a 1:1 sales interaction, which makes it closer to an SAL or SQL than an MQL. Outbound leads typically skip the MQL step; model them with a separate lead source so they don't inflate your inbound MQL metrics.
Use BANT or CHAMP for faster, simpler deals and MEDDIC or MEDDPICC for complex, multi-stakeholder enterprise deals — then hard-code that framework's checks as your SQL exit criteria in the CRM.
Set two: a speed-to-lead response target (minutes for high-intent leads, up to a couple of business hours for standard MQLs) and an acceptance window (for example, 24 business hours to accept or reject as a SAL with a reason code). Fast response sharply increases qualification odds.
Building a lifecycle that handles both inbound and outbound cleanly? Start with the complete RevOps guide and a tight ICP definition — or talk to our team and we'll design the funnel, SLAs, and CRM setup with you.
By the GenFlows GTM engineering team. We build RevOps and outbound systems for B2B teams. HubSpot and Salesforce mechanics are verified against vendor docs; benchmarks and outbound-modeling guidance are directional or practitioner opinion — validate against your own funnel. Last updated July 2026.