Measurement
MQL vs SQL: what they mean and how to define them for your sales team
The difference between a marketing-qualified lead (MQL) and a sales-qualified lead (SQL), with ready-to-use definitions for real estate, clinics and B2B teams, and how to measure cost per MQL and cost per SQL.
"The leads are bad." "Sales isn't calling them fast enough." Most arguments between marketing and sales come down to one missing agreement: what counts as a good lead. MQL and SQL are the two words that settle it.
The definitions
Marketing-qualified lead (MQL): a lead that matches your target customer and has shown genuine interest. It's worth a salesperson's time. In practice, an MQL is usually a lead someone has reached and confirmed as relevant.
Sales-qualified lead (SQL): a lead your sales team has accepted as a real opportunity. They've agreed a next step that only serious buyers take: a viewing, a consultation, a demo, a quote.
Between them sits the key question for any ad: of the leads it brought, how many were worth calling, and how many became real opportunities?
Example definitions by industry
| Business | Lead | MQL | SQL |
|---|---|---|---|
| Real estate developer | Form fill or WhatsApp enquiry | Reached, interested, budget and timeline fit | Viewing or sales-centre visit booked |
| Brokerage | Enquiry on a listing | Reached, looking to buy or rent in range | Viewing booked |
| Clinic | Enquiry or call | Reached, needs the treatment, can attend | Consultation booked |
| Academy | Course enquiry | Reached, eligible, interested in an intake | Placement test or enrolment call booked |
| B2B service | Contact form or demo request | Right company size and role | Discovery meeting held |
Use these as a starting point and adjust them with your sales team.
How to agree definitions in one meeting
- List every CRM status your team actually uses today.
- Mark each one as Lead, MQL, SQL, Deal or Lost. Every status gets exactly one stage.
- Write a one-line rule for MQL and SQL that a new agent could follow.
- Decide on timing. For example, a lead not reached after three attempts in 48 hours stays a Lead.
- Share the mapping with both teams and keep it next to the dashboard.
In Zero Metrics this mapping is a one-time setting: you tag each CRM status as MQL or SQL, and every report re-imports with it. See CRM status mapping.
The metrics that come from it
Once each lead has a stage, every campaign and ad gets four numbers:
- % MQL: MQLs ÷ leads. Measures lead quality.
- Cost per MQL (CPMQL): spend ÷ MQLs.
- % SQL: SQLs ÷ leads. Measures sales readiness.
- Cost per SQL (CPSQL): spend ÷ SQLs. The best single number for most lead-gen budgets.
Here's why they matter. Two illustrative ads with the same spend:
| Ad | Spend | Leads | CPL | SQL | CPSQL |
|---|---|---|---|---|---|
| Video, broad audience | AED 5,000 | 125 | AED 40 | 5 | AED 1,000 |
| Static, retargeting | AED 5,000 | 50 | AED 100 | 10 | AED 500 |
On cost per lead, the video wins easily. On cost per SQL, the static ad is twice as efficient. Read more in why a cheap CPL can hide an expensive sale.
Mistakes that make MQL and SQL useless
- Statuses nobody updates. If agents leave leads on "New", every ad looks equally bad. Make status updates part of the call script.
- Too many statuses. Fifteen statuses with overlapping meanings create noise. Merge them.
- Definitions that change every month. Trends become impossible to read. Change rarely and note the date.
- Marketing sets the SQL status. SQL should reflect a sales decision, not marketing's hope.
- Judging new ads too early. Give a lead time to be called before you count it as unqualified. A 7-day window is common.
Send the stages back to the ad platforms
The same stages can train the ad algorithms. Meta's Conversions API for CRM and Google Ads offline conversion imports let you tell each platform which leads became qualified, so they find more people like them. Our guides on Meta lead quality and Google offline conversions explain the setup.
The short version
An MQL is worth calling. An SQL is a real opportunity. Agree both definitions with sales, map every CRM status once, and judge ads on cost per SQL. The arguments stop because everyone is reading the same numbers.
See it on your own campaigns. Zero Metrics joins your ad accounts to your CRM and shows cost per lead, MQL, SQL and deal for every ad, refreshed every hour. Book a free 30-minute demo or see the product.