# The MQL Is Dead. The Signal Isn't.

*Published 2026-07-30* | Author: civic-team

<blockquote><p><strong class="lede-label">tl;dr</strong> <span class="lede-lead">The MQL measured declared interest: a form fill, a lagging score, a routing schedule.</span> That worked when buyers raised their hand early. They don't anymore. Most of the evaluation happens anonymously, on your own surfaces, before any form, so the MQL fires late or never. The intent it was trying to approximate is more alive than ever. It just moved into live signal, what an ICP-fit account actually did this week, and the replacement for the MQL is not a better lead score. It is signal-based routing: name the pattern by its parts, score it transparently, run the Play while the signal is still warm.</p></blockquote>

<h2>What the MQL was actually for</h2>

<p>The marketing-qualified lead solved a real problem, and it is worth remembering what that problem was. Marketing and sales needed one shared unit. Marketing needed a way to say "this one is ready," sales needed a way to trust the handoff, and both needed a line in the sand they could count and argue about. The MQL was that line. Fill out the form, clear a score threshold, and you crossed from "audience" to "lead." A rep picked it up. Everyone knew what the word meant.</p>

<p>That worked because it matched how buyers behaved. When the only way to learn about a product was to talk to the company that made it, buyers raised their hand early. The form fill was a genuine signal, because filling out the form was one of the first things a serious buyer did. The MQL measured the hand-raise, and the hand-raise came near the start.</p>

<h2>What broke it</h2>

<p>The buyer changed. The unit did not.</p>

<p>Most of the evaluation now happens before anyone fills out anything. Buyers read the docs, work the trial, come back to pricing a third time, and pull up a competitor in the next tab, all anonymously, on surfaces you own, long before they identify themselves. We walked through that shift in <a href="/field-notes/where-the-other-83-percent-goes">Where the Other 83% Goes</a>: the part of the journey a form can see is the smallest part of it. By the time someone raises a hand, the opinion is mostly formed.</p>

<p>So the MQL breaks in four specific ways, and they compound:</p>

<ul>
<li>The form fires late, or never. It sits at the end of a decision that already happened anonymously, so it catches the buyer on the way out, not on the way in.</li>
<li>The score lags. A nightly batch model scores yesterday's behavior against last quarter's fit definition. It describes the account you had, not the one that is live right now.</li>
<li>Routing runs on a schedule. Leads drop into a Tuesday queue and get worked in order, on a calendar, not on the signal's clock.</li>
<li>The unit itself is a claim, not a behavior. A form fill is what a buyer typed, once. It is the thinnest possible read of intent, and it arrives with the least context.</li>
</ul>

<p>None of this means the MQL was a bad idea. It means it was built for a buyer who no longer shows up the way it assumed.</p>

<h2>Declared intent is not revealed intent</h2>

<p>Here is the distinction the MQL papered over. There is what a buyer declares, and there is what a buyer reveals. The MQL measured the declaration: the box someone checked, the form they filled, the demo they requested. Useful, but shallow, and easy to fake to yourself. The signal measures the revelation: what an account actually did, this week, on your site, in your product, in your CRM. Harder to tidy into a row, and far more honest.</p>

<p>Put the same account on the table twice and the gap is obvious.</p>


ONE ACCOUNT, TWO RECORDS (declared intent vs revealed intent). Values illustrative, not a benchmark.

DEAD MQL (declared, lagging, scheduled):
  SOURCE      Form fill (what they typed, once)
  SCORE       Lead score 82, nightly batch (a model that lags the behavior)
  ROUTING     Tuesday queue, round robin (runs on a calendar, not the signal)
  SIGNAL AGE  21 days old (the window has closed)
  STATUS      STALE

LIVE SIGNAL (behavioral, scored, run on the record):
  SOURCE      Pricing x3, docs, seat added (what they actually did)
  SCORE       Scored now, your fit definition (named by its parts, transparent)
  ROUTING     Play run in the live window (fires on the signal's clock)
  SIGNAL AGE  This week (still live, still worth a move)
  STATUS      WARM

The MQL captured what the buyer typed. The signal captures what the account did, this week, on surfaces you own.


<p>Same company. One record captures what they typed three weeks ago and scored on a batch job. The other captures what they did this week and scored it now. The first is a claim. The second is behavior. Behavior is the more honest signal, and it is the one the MQL was never shaped to hold.</p>

<h2>The replacement is not a better lead score</h2>

<p>It is tempting to answer all this by tuning the model: more inputs, a fresher batch, a smarter threshold. That is still an MQL. It still ends in a number that describes the past and a queue that runs on a calendar.</p>

<p>The replacement is a different unit entirely: signal-based routing. It has three parts, and none of them is a score in isolation.</p>

<ol>
<li>Name the pattern by its parts. Not "lead score 82," but "pricing viewed three times, docs read, a second seat added, comparison page hit." A pattern you can read, argue with, and point a rep at, because it says what actually happened.</li>
<li>Score it transparently. Score the pattern against your own definition of a good account, in a way you can open up and inspect, so the number is a summary of the behavior rather than a black box that replaces it.</li>
<li>Run the Play while the signal is still warm. The value of a signal decays. Acting inside the window it is alive is the whole point, and the faster that happens the more of the signal's worth you keep. Our CEO made the balance-sheet version of this case in <a href="/field-notes/you-already-paid-for-this-pipeline">You Already Paid for This Pipeline</a>: intent you have already paid to generate quietly expires when nobody works it in time.</li>
</ol>

<p>Toggle one account between the two views and the choice makes itself.</p>


ONE ACCOUNT, TWO WAYS (interactive: toggle between the two reads). Values illustrative, not a benchmark.

AS A DEAD MQL (STALE):
  SOURCE      Form fill (what they typed, once)
  SCORE       Lead score 82, nightly batch (a model that lags the behavior)
  ROUTING     Routed Tuesday, round robin (runs on a calendar, not the signal)
  SIGNAL AGE  21 days old (illustrative, not a benchmark)
  Verdict: You would skip this one. The form fired late, the score describes last quarter, and the window has closed.

AS LIVE SIGNAL (WARM):
  SIGNALS     Pricing x3, docs, seat added, comparison page (what the account actually did this week)
  SCORE       Scored now, your fit definition (named by its parts, transparent)
  ROUTING     Play run in the live window (fires on the signal's clock)
  SIGNAL AGE  This week, still warm (illustrative, not a benchmark)
  Verdict: You would act on this one. The pattern is happening now, scored against your own fit, and still worth a move today.


<p>Read as an MQL, the account is a stale row: a form fill, a score of 82, routed last Tuesday, and by now the window has closed. Read as live signal, the same account is a pattern that is happening right now, scored against your fit, ready for a move today. Ask which one you would rather a rep call, and you have found the unit your funnel should be built on.</p>

<h2>The MQL is dead. Long live the signal.</h2>

<p>The MQL is not dead because qualification stopped mattering. It is dead because it measured the wrong thing: the declaration instead of the behavior, the past instead of the present, the calendar instead of the signal's clock. The intent it was trying to approximate is more alive than ever. It just stopped arriving as a form.</p>

<p>Signal-based routing keeps the job the MQL was doing, one shared unit between marketing and sales, and moves it onto what an account actually did. That takes something watching the stream, scoring the pattern, and running the next step while it is still warm.</p>

<p>Bryn is not another dashboard to watch. It is the governed execution layer that runs Plays through your stack. This is the concept piece, so we will leave it at one line: the point is not that you need a specific tool, it is that qualification only pays off when the unit is live behavior and the move happens while the signal still is.</p>

<h2>Do it this week</h2>

<p>Take one account that converted to MQL last month, and one that never filled out a form but hit your pricing and docs three times last week. Put them side by side. Now ask your team a single question: which one would you rather a rep call today?</p>

<p>Almost everyone will pick the second account. That answer tells you which unit your funnel should be built on. The next step is to name that second pattern once, out loud, by its parts, and wire it to a single action, even a manual one. That is the whole exercise. Nearly everyone has the signal. Very few <a href="/field-notes/everyone-has-signals">run it</a>.</p>

<p>The MQL measured the hand-raise. The hand-raise moved. Stop qualifying the form. Start qualifying the behavior.</p>

<p><em>Bryn is the Signal-Based GTM agent for Growth teams. For teams that want live signal watched, scored, and run for them, see it at <a href="/bryn">civic.com/bryn</a>.</em></p>

<h2>Sources and further reading</h2>

<ul>
<li>"Where the Other 83% Goes" (Team Civic), on how much of the buying journey now happens anonymously, before any form: <a href="/field-notes/where-the-other-83-percent-goes">civic.com/field-notes/where-the-other-83-percent-goes</a></li>
<li>"You Already Paid for This Pipeline" (Chris), on perishable intent and speed to action: <a href="/field-notes/you-already-paid-for-this-pipeline">civic.com/field-notes/you-already-paid-for-this-pipeline</a></li>
<li>"Everyone Has Signals" (Chris), the signal thesis: <a href="/field-notes/everyone-has-signals">civic.com/field-notes/everyone-has-signals</a></li>
</ul>

Source: https://www.civic.com/field-notes/the-mql-is-dead
