GLOSSARY

What is an MQL?

An MQL (Marketing Qualified Lead) is a lead that has crossed a documented fit-plus-behaviour threshold, which is the point at which marketing hands it to sales for a qualification conversation.

Free forever plan · No credit card required · Cancel anytime

Quick definition

An MQL (Marketing Qualified Lead) is a lead that has crossed a documented fit-plus-behaviour threshold, which is the point at which marketing hands it to sales for a qualification conversation.

In one line: MQL rate = MQLs in period / new leads in period.

What it means

An MQL is a routing decision dressed up as a noun. It answers exactly one question: is this lead worth a salesperson's next hour? Everything else people attach to the term (interest, intent, readiness) describes the evidence, not the definition.

The reason the term exists is arithmetic. A rep who works twenty-five conversations a week cannot look at four thousand monthly leads. Something has to sort them, and if that something is not a written rule it becomes whichever lead happened to fill in a form while a rep was refreshing the list. The MQL threshold replaces that accident with a rule two teams have agreed on and can argue about later with data in hand.

A working definition always has three parts, and a definition missing any of them will not survive a quarter:

  • A fit component. Firmographic and demographic attributes: company size, industry, geography, job title, technology in use. Fit answers whether you could sell to them.
  • A behaviour component. Actions with a timestamp: pricing page visits, demo requests, trial signups, replies to outbound. Behaviour answers whether they are thinking about it now.
  • A window. Behaviour without a time bound is archaeology. The score has to describe the last N days, not the lead's entire history.

Fit without behaviour gives you a list of companies you would like to sell to, which is a prospecting list, not an MQL list. Behaviour without fit gives you enthusiastic students and competitors doing research. The threshold has to require both.

The formula, written out

There are two formulas people mean when they say "MQL number", and confusing them is the source of most reporting arguments.

1. The qualification rule. A lead L is an MQL at time t when:

FitScore(L) >= F AND BehaviourScore(L, t - W, t) >= B

  • FitScore(L): the sum of weighted firmographic attribute points for the lead, typically normalised to 0-100.
  • BehaviourScore(L, t - W, t): the sum of weighted points for scored events whose timestamp falls inside the trailing window.
  • F: the fit threshold, a constant you choose.
  • B: the behaviour threshold, a constant you choose.
  • W: the window length in days.

2. The reporting metrics. Two ratios, both of which need their denominator stated out loud:

MQL rate = (distinct leads that first crossed the threshold in the period / new leads created in the period) x 100

MQL-to-SQL rate = (MQLs accepted by sales / MQLs handed to sales) x 100

Note the two words doing the heavy lifting: distinct and first. Drop either one and the number stops being comparable to last month's.

A worked example, end to end

A mid-market B2B software company runs a 30-day window with F = 60 and B = 40. In March it created 4,180 new leads.

1,436 of those leads reached a fit score of 60 or more. That is 34.4%, which is roughly what you expect when paid traffic is targeted but not perfectly so. Of those 1,436, exactly 612 also reached a behaviour score of 40 within thirty days of their first touch. Those 612 are March's MQLs.

MQL rate = 612 / 4,180 = 14.6%

Sales worked the 612 and accepted 268 of them into the pipeline.

MQL-to-SQL rate = 268 / 612 = 43.8%

Of the 268, 61 closed won at an average contract value of 4,900, producing 298,900 in bookings.

Revenue per MQL = 298,900 / 612 = 488

That last number is the one that makes the metric useful. If demand generation spends 96,000 in March, cost per MQL is 96,000 / 612 = 157, against 488 of revenue per MQL, a gross ratio of roughly 3.1 to 1. Now the threshold is not an abstract preference, it is a lever with a price attached. Loosening B from 40 to 30 might produce 900 MQLs at 107 each, but if acceptance falls to 31% you have handed sales 288 more conversations in exchange for 11 more accepted leads, and the reps will notice before the dashboard does.

Three ways the number goes wrong

Counting re-qualifications as new MQLs. This is the most common failure and it is almost always accidental. If the scoring job writes an MQL row every time the score crosses the threshold, a lead whose score oscillates around 40 generates several. In the March cohort above, allowing re-triggers turns 612 distinct leads into 790 MQL events. Nothing changed in reality, but the reported MQL-to-SQL rate falls from 43.8% to 268 / 790 = 33.9%, and a quarter later somebody proposes tightening a threshold that was never loose. The fix is to count distinct contact IDs and store re-qualification as its own event type.

Using the wrong denominator. Dividing MQLs by every contact in the database instead of by leads created in the period gives a number that only ever falls, because the database only ever grows. With 61,000 total contacts, March's MQL rate reads as 1.0% instead of 14.6%, and the trend line measures database age rather than marketing performance.

Mixing cohort and period accounting. A lead created on 20 February that crosses the threshold on 4 March belongs to February's cohort but to March's period. Both views are legitimate, averaging them is not. Cohort accounting answers "how good was February's traffic", period accounting answers "how busy was sales in March". Pick one per report and label it.

How an MQL is actually derived from CRM data

In a CRM the MQL is not a field somebody sets, it is a computation over three tables plus a calendar.

  • The contact record holds the fit attributes and a created_at timestamp that anchors the cohort.
  • The scored-event log holds one row per qualifying action with an occurred_at timestamp and a points value. The behaviour score is a windowed sum over this table, not a stored counter, because a stored counter cannot expire.
  • The stage-transition log records the moment the contact moved into the MQL stage, who or what moved it, and the acceptance or rejection that followed.

The edge cases are where implementations diverge, so decide them explicitly:

  • Duplicates. Two form fills from maya@acme.com and m.yilmaz@acme.com are two leads and possibly one buyer. Deduplicating on email domain over-merges at large companies; not deduplicating at all double-counts at small ones. A workable rule is to count leads distinctly but cap MQLs per account per window.
  • Leads that skip the funnel. An inbound demo request arrives already above both thresholds. It is still an MQL, and it should still be logged as one at the same instant it becomes an SQL, otherwise your best source vanishes from the conversion report.
  • Backfilled data. An enrichment job that fills in company size on Tuesday can push a lead over the fit threshold retroactively. Score with the enrichment timestamp, not the original event timestamp, or your March number will change in April.
  • Manual overrides. Reps will promote leads by hand. Keep those in a separate source field. They are useful training data for the next threshold review and poison in the conversion rate.

Why it matters

The MQL threshold is the only place in a go-to-market system where marketing volume gets converted into sales capacity. Set it too low and reps spend their week on people who were never going to buy, which shows up first as slower response times and later as reps ignoring the queue entirely. Set it too high and you starve the pipeline while paying for traffic that never gets a conversation.

The second reason is diagnostic. When bookings miss, the MQL chain tells you where. A drop in MQL rate is a traffic-quality problem. A drop in MQL-to-SQL with a steady MQL rate is a scoring-model problem. A steady MQL-to-SQL with falling win rates is a product or pricing problem. Without the intermediate counts every miss looks the same.

Common mistakes

  • Treating MQL count as a marketing target. Any number a team is measured on can be manufactured. If the target is MQL volume, the threshold quietly loosens.
  • No rejection reasons. If sales can reject an MQL without coding why, the definition can never be improved.
  • An unbounded behaviour window. Lifetime behaviour scores make every old contact look warm.
  • Scoring email opens. Image-proxy prefetching by mail clients fires opens nobody performed. Score clicks and replies instead.
  • One threshold for every segment. A 12-person agency and a 4,000-person bank do not produce comparable behaviour volumes. Segment first, then threshold.

Related concepts

How Pinlyx handles it

Pinlyx computes fit and behaviour scores separately, keeps the scored-event log with per-event timestamps so windowed sums stay honest, and records every stage transition with its actor and reason code. MQL thresholds are per pipeline, so a self-serve motion and an enterprise motion can run different rules in the same workspace, and the acceptance and rejection reasons feed the monthly threshold review instead of living in a spreadsheet.

Worked example · March cohort

4,180 leads in, 61 deals out.

Every rate below names its denominator, because a conversion rate without one is just a number.

StepCountRateNote
New leads created in March4,180baselineContacts with a first-touch timestamp inside the month
Reached fit score 60+1,43634.4%Firmographic rules only, no behaviour required
Reached behaviour score 40+ within 30 days61214.6% of new leadsThese are the MQLs
Accepted by sales (became SQL)26843.8% of MQLsRejections carry a coded reason
Closed won6110.0% of MQLsAverage contract value 4,900

Revenue per MQL = 298,900 / 612 = 488. Cost per MQL at 96,000 of spend = 157.

In the database

The behaviour score is a query, not a column.

Storing the behaviour score as a running total on the contact record is the shortcut every team takes once. It breaks the moment you introduce a window, because a stored counter has no way to forget. Keep the scored events in their own table with an occurred_at timestamp and compute the score as a sum over the trailing window at read time. It costs an index and it buys you a number that means the same thing in March as it did in January.

Watch out for

An MQL target is a threshold-loosening machine.

The moment a marketing team is compensated on MQL count, the definition starts drifting downward, one reasonable-sounding rule change at a time. Nobody cheats, the threshold just keeps finding reasons to be more generous. Compensate on accepted leads or on pipeline created instead, and let the MQL count be a diagnostic that nobody is graded on.

MQL: FAQ

The questions that come up every time two teams try to write the definition down.

An MQL is marketing making the claim that a lead deserves a sales conversation. An SQL is sales agreeing after they looked. The MQL is defined by a score threshold a machine can evaluate; the SQL is defined by a human judgement about budget, authority, need and timing. The gap between the two counts is the single most useful number in a demand-generation report, because it measures how well the scoring model predicts what a rep will actually accept.
Published benchmarks vary so widely that quoting one is close to meaningless: reported ranges run from roughly 15% to over 60% depending on how loose the MQL threshold is. The rate is a property of your threshold, not of your market. A team that calls every ebook download an MQL will sit near the bottom, and a team that requires a demo request will sit near the top while generating a fraction of the volume. Track your own trend rather than a benchmark.
As an event, yes; as a count, no. A lead that goes cold and re-engages six months later is genuinely worth a second look. But if the MQL count increments every time the score re-crosses the line, the same person can appear four times in one quarter and the conversion denominator inflates while nothing real has changed. Count distinct contacts per period, and store the re-qualification as a separate event type.
The threshold moves rather than disappears. In a product-led motion the qualifying behaviour is in-product (seats invited, a workflow completed, an API key created) instead of on the website, and the term used is usually PQL. The mechanics are identical: a scored fit signal, a scored behaviour signal, a documented threshold, and a handover with a service-level agreement attached.
Long enough to catch a real evaluation cycle, short enough that the score describes the present. Thirty days is the common default for a mid-market B2B motion. The window matters more than most teams realise: with a rolling 90-day window a lead that read three pages in January still counts as engaged in March, and reps get handed contacts who have not thought about you in eight weeks.
Both, in writing. The workable arrangement is that marketing proposes the threshold, sales agrees to accept or reject every MQL within a fixed window with a coded reason, and the two teams review the rejection reasons monthly and move the threshold. Without coded rejection reasons the definition never improves, because nobody can tell whether the model is wrong about fit, about timing, or about the data.
Ready to ship

Score the lead. Then prove the threshold.

Pinlyx keeps fit and behaviour scores separate, logs every scored event with a timestamp, and records the accept or reject reason on every handover.

Free forever plan · GDPR-ready · No credit card required

We value your privacy

We use cookies to improve our site, analyze traffic, and personalize ads. You can accept all, reject non-essential, or customize your choices. Read our Cookie Policy.