English

Funnel Math: MQL to SQL to Opportunity Forensics

The MQL number is up 32% month over month. The GM is happy. Three weeks later, opportunities are flat. You don't know why, and "MQL quality" is not an answer your GM will accept twice.

This is funnel forensics. You're not a dashboard tourist anymore. You're an investigator reading the math, looking for the named cause (the segment, the source, the day, the handoff) that explains why volume went up and pipeline didn't follow.

Most demand gen managers report aggregate conversion rates. The good ones report diagnoses. There's a difference between "MQL→SQL is 11%" and "MQL→SQL drops to 8% on Tuesdays, and that's the SDR coverage gap, not lead quality." One gets you a nodding head. The other gets you budget.

Agree on the MQL definition with sales — including the rejection rule

Before any forensics, settle this: can the AE reject an MQL, and on what grounds? If the answer is "no" or "unclear," your MQL number is vanity. You'll report it for six months, sales will quietly ignore it, and one day your VP Sales will tell the GM that marketing leads "don't convert," and you'll have no defense because there's no shared definition.

Here's the working agreement that holds up. An MQL has three things: fit (account ICP match), intent (a scoring threshold based on behavior), and a reachable contact. Below threshold, it's a lead, not an MQL. Above threshold but wrong title, wrong company size, wrong geography? The AE has 24 hours to reject with a reason code. After 24 hours, it's accepted by default and counts.

The reason codes matter more than the rejection itself. Six codes is enough: wrong company size, wrong title/persona, wrong geography, existing customer, competitor, no contact info verified. Anything outside those six gets escalated. You and an AE manager arbitrate disputes monthly: 30 minutes, look at 20 disputed MQLs, settle them, update the scoring model if a pattern shows up.

Without this, you can't do forensics. The "is this even an MQL" debate eats every meeting and you never get to the actual leak.

Reading conversion rates by source, persona, and segment

A 14% blended MQL→SQL rate hides everything. It hides a 4% paid-social rate that's burning $40K a month and a 38% webinar rate that's getting 12% of your budget. The blended number is the most expensive lie in your dashboard.

Cut the funnel three ways every month: source, persona seniority, segment. Always three ways. Not two, not four. Three.

Rough 2026 B2B SaaS benchmarks for MQL→SQL conversion:

Source Healthy range Red flag below
Paid social (LinkedIn, Meta) 6-10% 4%
Paid search (Google, Bing) 10-15% 7%
Content / organic 10-18% 8%
Webinar (live) 25-40% 18%
Webinar (on-demand) 12-20% 9%
ABM-sourced (named accounts) 30%+ 22%
Referral / partner 35-50% 25%
Cold outbound (treated as MQL) 8-12% 5%

For overall blended MQL→SQL, healthy B2B SaaS sits in the 12-15% range. Above 20% and you're probably scoring too tight. Below 8% and either your scoring is loose or your sales motion isn't matched to the leads coming in.

Persona seniority cuts differently. VP and C-level convert MQL→SQL at 25-35%. Director-level sits around 18-25%. Manager-level drops to 8-14%. Below manager, you're often looking at researchers, not buyers. Convert rates fall under 5% and that's not a leak, that's the wrong audience.

Segment cuts differently again. SMB MQLs convert faster but at lower rates and smaller deal sizes. Mid-market is your sweet spot for most B2B SaaS, with 15-22% MQL→SQL and deal cycles you can actually forecast. Enterprise MQLs convert lowest by raw rate (8-12%) but the SQLs that come through are 6-10x bigger, so the math still works if your sales team is staffed for it.

When you see a number, your reflex should be: cut it three ways. A 14% rate becomes a paid-social problem (4%), a webinar engine (38%), and a content/organic floor (12%). Now you have three diagnoses, not one number.

Why the 30-day SLA changes everything

The single biggest lever in your funnel isn't lead quality. It's speed-to-lead. Every credible study in the last decade has confirmed it, and it still surprises sales leaders every quarter. MQLs called within 5 minutes convert roughly 8x better than ones called within 24 hours. Drop to 60+ minutes and conversion craters by 80% versus the 5-minute baseline.

Your SLA isn't 30 days. Your SLA is 5 minutes for high-fit demo requests, 1 hour for lower-tier MQLs, and 30 days only for total funnel exit (the point at which an unworked MQL gets recycled to nurture, not the working window).

Build the SLA dashboard. It needs four things: time from MQL→first SDR action, time from MQL→first connect, percent of MQLs worked within SLA, and percent that converted to SQL, sliced by SDR.

That last slice is where the named diagnoses live. When you see "MQL→SQL drops to 8% on Tuesdays," you don't shrug and call it noise. You pull the SDR coverage roster. You'll usually find one of three things: a Monday-AM meeting that eats half the SDR team's morning, a Tuesday standup that pushes outbound dials to the afternoon, or a rotating PTO schedule that leaves the inbound queue under-covered every Tuesday.

Name the gap. Don't just report it. "Tuesday SDR coverage gap" is a diagnosis. "Quality issue" is not.

Finding the leaking stage

When MQL→Opportunity is broken, there are three suspect stages. Investigate them in this order, because it's almost always one of these three.

Stage 1: Handoff lag (MQL → SDR contact). Pull every MQL from the last 90 days. Compute time-to-first-touch. Cohort the MQLs into 0-5 min, 5-60 min, 1-24 hr, 1-7 days, 7+ days. Compare conversion to SQL within each cohort. If your 0-5 min cohort converts at 28% and your 1-24 hr cohort converts at 9%, you don't have a quality problem. You have a speed problem. Fix routing, not scoring.

Stage 2: Persona mismatch (right company, wrong title). Group MQLs by job title regex against your ICP. "Manager" titles that aren't decision-makers will convert at 6-10% no matter how fast you call. Researchers and analysts convert under 4%. If 35% of your MQL volume is in non-buyer titles, your scoring model is rewarding behavior that doesn't predict purchase intent. Update the model. Add negative scoring for non-buyer titles, and require either a buyer title OR a high-intent action (demo request, pricing page visit + form fill) to qualify.

Stage 3: Intent decay (MQL aged 14+ days). Some MQLs sit in queue. Maybe SDRs are working a different campaign, maybe routing failed, maybe coverage was thin that week. Look at MQLs by age-at-first-contact. Anything contacted past 14 days converts at 30-50% the rate of fresh MQLs. That's not lead quality, that's intent decay. The prospect's research moment is over.

Here's a SQL pattern that isolates stage 1 in HubSpot or Salesforce. Adjust column names for your schema:

SELECT
  CASE
    WHEN time_to_first_touch_minutes <= 5 THEN '0-5 min'
    WHEN time_to_first_touch_minutes <= 60 THEN '5-60 min'
    WHEN time_to_first_touch_minutes <= 1440 THEN '1-24 hr'
    WHEN time_to_first_touch_minutes <= 10080 THEN '1-7 days'
    ELSE '7+ days'
  END AS speed_cohort,
  COUNT(*) AS mqls,
  SUM(CASE WHEN became_sql = 1 THEN 1 ELSE 0 END) AS sqls,
  ROUND(100.0 * SUM(CASE WHEN became_sql = 1 THEN 1 ELSE 0 END) / COUNT(*), 1) AS conv_pct
FROM mql_events
WHERE mql_date >= DATE('now', '-90 days')
GROUP BY speed_cohort
ORDER BY MIN(time_to_first_touch_minutes);

Run that once a week. The output is a 5-row table that tells you whether speed is your problem before you spend a quarter rewriting your scoring model.

The "plenty of MQLs, no opps" trap

Volume is up. Opps are flat. Six named causes, each testable in a week.

1. Wrong ICP at the top. Your top-of-funnel campaigns are pulling the wrong companies. Test: pull last 30 days of MQLs, score them against your ICP rubric (industry, employee count, revenue, geography, tech stack). If less than 60% match, your campaigns or your audience targeting is off.

2. SDR script misalignment. Scripts written 18 months ago for a different product positioning. Test: shadow 10 SDR calls. Count how many times the SDR explains the value prop in language that matches your current website. If less than 70%, you have a script problem, not a lead problem.

3. AE disqualifying for pipeline hygiene. AEs under quota pressure dispose of "marginal" SQLs to keep their conversion rates clean. Test: pull AE-disqualified SQLs and re-route 20 to a different AE. If 25%+ become opportunities, you have a hygiene problem masked as a quality problem.

4. Attribution leakage. MQLs are converting to opps, but the opps aren't tagged back to source. So your dashboard reads "no pipeline." Test: pull last 90 days of closed-won and trace each one back to first-touch. If 25%+ have no MQL source attached, your attribution is broken before your funnel is.

5. Demo no-shows. SQLs are being booked, but 40% of demos no-show. Test: count demo bookings vs demos completed for the last 30 days. Healthy is 70-85% completion. Below 60% and the booking flow needs a confirmation sequence, calendar reminders, and a same-day re-book offer.

6. MQL inflation from low-threshold scoring. Someone lowered the threshold to "hit the number." Volume goes up, conversion craters. Test: re-run your scoring model at last quarter's threshold and recompute MQL→SQL. If conversion was 14% then and 9% now, you didn't get more MQLs. You got more leads relabeled as MQLs.

Each of these takes a week to test. Do them in order. Don't run all six in parallel, because you won't know which fix moved the number.

Attribution forensics in HubSpot, Salesforce, and Rework

Attribution is where most demand gen managers get stuck. There are three models, and you'll have arguments about which one is "right" for the rest of your career.

First-touch credits the campaign that brought the prospect into your database. Good for measuring top-of-funnel campaigns. Bad for measuring deal velocity.

Last-touch credits the campaign that converted the MQL to SQL or the SQL to opportunity. Good for measuring sales-assist campaigns. Bad for measuring brand and demand creation.

Multi-touch distributes credit across all touches in the journey, weighted by position or by some attribution model (W-shaped, U-shaped, time-decay). Most "accurate" in theory, hardest to defend in a board meeting because nobody understands the weighting.

The right answer is to report two views (first-touch and multi-touch) and pick one for the board. Tell the GM which one you're picking and why. Most B2B SaaS demand gen teams settle on multi-touch (W-shaped: 30% first-touch, 30% lead-creation touch, 30% opp-creation touch, 10% other) because it credits both the awareness work and the conversion work. Use it consistently for a year before you change models.

Where the three CRMs differ:

HubSpot ties campaigns to contacts via hs_analytics_first_url and a campaign membership object. Lifecycle stage transitions are the spine. The fuzzy part is the SDR-handoff window. There's no native "MQL→SDR worked" timestamp unless you build it as a custom property. Most teams stitch it together with task-completion timestamps and Lifecycle Stage history. Workable, but it leaks at the edges.

Salesforce has Campaign Influence (multi-touch) and Primary Campaign Source (first-touch) baked in. The leak is between Lead conversion and Opportunity creation. If your AEs convert Leads to Contacts without creating an Opp the same day, the campaign-to-pipeline connection breaks unless you've configured Campaign Influence rules to backfill. Most Salesforce orgs have this misconfigured.

Rework's CRM is built around a unified contact timeline that includes the SDR working state, lead distribution events, and opportunity creation as first-class objects rather than stitched-together properties. The SDR-handoff gap that HubSpot and Salesforce leave fuzzy is closed by default. You can see the exact minute an MQL was assigned, the SDR who picked it up, the first touch, and the path to SQL. For mid-size teams (20-500 employees) running Marketing and Sales on the same system, that closes the attribution gap without a custom-properties project. Rework CRM starts at $12/user/month.

The live trace. Pick one closed-won opp. Trace it backwards: opportunity creation → SQL conversion → MQL trigger → first contact form fill → first session source. Walk that trace through with your AE and SDR. Twice a quarter, do it live with the GM. It's the single best way to teach the GM what attribution actually means and to expose where your data leaks.

The monthly funnel review with the GM

Your monthly funnel review fits on one page. If it doesn't, you're reporting too much.

Top of funnel. Total MQL volume, source mix (top 5 sources by volume and by conversion), and one-line commentary on the biggest mover.

Middle of funnel. MQL→SQL by segment (SMB, Mid, Ent), SLA compliance (% MQLs worked within SLA), and the persona-seniority cut.

Bottom of funnel. SQL→Opportunity, Opportunity→Closed-Won, average velocity (days MQL to closed), and pipeline contribution attached to demand gen sources.

The diagnosis line. End every review with one named hypothesis you're investigating this month. Not five. One. "We're testing whether the Tuesday SDR coverage gap explains the 8% MQL→SQL dip. If so, we'll re-shift coverage by May 15 and recheck in June."

That's it. One page, four sections, one diagnosis. The GM can scan it in 90 seconds, ask two questions, and walk out knowing where you're focused.

What you don't put in this review: campaign-level performance reports (those go to the marketing standup), CTR and CPL by ad creative (those go to your weekly performance review with the paid team), and any dashboard with more than 12 numbers. The GM doesn't want raw data. The GM wants a diagnosis.

What this earns you

Volume is the story you tell at marketing standup. Conversion forensics is the story you tell at the revenue table.

When you walk into a quarterly business review and say "MQL volume is up 32%, but our paid-social MQL→SQL is 4% versus a 12% benchmark, and the Tuesday SDR coverage gap is costing us 60 SQLs a quarter, here's what we're testing," you've stopped being the demand gen manager who reports leads. You've become the operator who diagnoses pipeline problems with the same rigor sales uses to diagnose deal slippage.

That's the seat at the table. The math earns it.

Learn More