Loading tutorials…
Loading tutorials…
The marketing-sales handoff is where most B2B revenue gets lost. Marketing thinks they delivered 800 MQLs; sales worked 40 of them. Sales says MQLs are garbage; marketing says sales never follows up. HubSpot has the tools to fix this — here is the setup.
Who this is forRevOps owners, marketing managers, and sales leaders trying to fix the marketing-sales handoff. If your funnel report says 800 MQLs and your sales-accepted count is 200, you have a handoff problem this tutorial addresses.
What you'll need
Step 1
Before any HubSpot config, get both teams in a room (or Zoom) and write down what each lifecycle stage means in plain English.
Schedule a 90-min workshop with marketing leadership, sales leadership, and the RevOps person who will configure HubSpot.
Walk through each lifecycle stage: Subscriber, Lead, MQL, SQL, Opportunity, Customer. For each, both teams answer: what makes a contact qualify for this stage? Who is responsible for moving them? What happens within 24 hours?
The hardest one is MQL. Marketing wants a generous definition (high volume of MQLs); sales wants a strict one (high quality per MQL). Negotiate to the middle: fit criteria (job title, company size, industry) + behavior (booked demo, multiple high-intent pageviews).
Document everything in a shared doc (Notion, Google Doc, anywhere accessible). This doc, not HubSpot, is the source of truth.
Skip the workshop and you will spend the next year debating MQL quality in Slack. The 90 minutes up front saves 90 hours of friction.
Step 2
Workflows promote contacts through stages based on the definitions you just wrote. No manual stage edits allowed.
Settings → Properties → Lifecycle Stage → confirm options match your doc. Hide unused stages.
Workflow 1 — "Promote Lead to MQL": enrollment = Lifecycle Stage is Lead AND (Lead Score > X OR booked demo OR specific high-intent behavior). Action = set Lifecycle Stage = MQL, set MQL Date = today, assign owner via round-robin to SDR team.
Workflow 2 — "Promote MQL to SQL": enrollment = Lifecycle Stage is MQL AND sales accepted (custom property "Sales Accepted" = true). Action = set Lifecycle Stage = SQL, set SQL Date = today.
Workflow 3 — "Promote SQL to Opportunity": enrollment = Lifecycle Stage is SQL AND associated deal created. Action = set Lifecycle Stage = Opportunity.
Workflow 4 — "Promote Opportunity to Customer": enrollment = associated deal closed-won. Action = set Lifecycle Stage = Customer, set Became Customer Date.
Set re-enrollment = OFF on all four. Contacts move forward, not backward, except by intentional human action.
Step 3
Round-robin within a team, by territory, by ABM tier, or by deal size. Decide the routing logic before the volume hits.
Settings → Users & Teams → Teams → create teams matching your routing logic (SDR-Inbound, SDR-Outbound, AE-Enterprise, AE-Mid-Market).
Enable round-robin: Settings → Objects → Contacts → Default contact owner → "Round-robin assignment" → pick team.
For more complex routing (by company size, by industry), use Operations Hub workflows: enrollment = lifecycle stage = MQL. Branch by company size / industry. Assign owner accordingly.
For ABM (named accounts): set Owner manually at the company level. MQL workflow inherits company owner. Account-based teams get account-based MQLs.
Test routing: enroll 5 test contacts representing different paths (small SaaS, mid-market enterprise, named account). Verify each lands with the right owner.
Step 4
A 5-minute response time vs. a 24-hour response time has a 21x impact on conversion. Set the SLA and enforce it.
Common SLAs: inbound demo request → respond within 4 business hours. MQL (behavioral) → respond within 24 business hours. Outbound-sourced MQL → respond within 48 business hours.
Build an SLA workflow: enrollment = lifecycle stage = MQL AND MQL Date is known. Delay = 4 hours (or your SLA). Branch: if first call/email logged after MQL Date, continue. Else, escalate.
Escalation actions: notify SDR manager via email + Slack. If still no activity at 8 hours, reassign to a backup SDR. If still no activity at 24 hours, flag for ops review.
Track SLA compliance in a Custom Report: % of MQLs responded to within SLA, by SDR and by week.
Tie SLA compliance to comp / accountability. SDRs missing SLA 30%+ of the time get coaching, not just data.
Step 5
Not every MQL is a real SQL. Sales needs a clean way to bounce bad MQLs back to marketing without dropping them entirely.
Create a custom property: "Sales Rejected Reason" — Dropdown with values like "Wrong company size," "Wrong title," "No budget signal," "Bad data quality," "Timing not right — nurture."
Train sales: when an MQL is not actually qualified, set Lifecycle Stage back to Lead (or to a custom "Rejected MQL" stage) AND fill in Sales Rejected Reason.
Build a workflow: enrollment = Sales Rejected Reason is known. Action = remove SDR owner, enroll in "Marketing Nurture - Rejected MQLs" workflow (handled by marketing).
Marketing reviews rejected MQLs weekly. Patterns emerge: "70% of rejected MQLs are wrong-company-size — let me tighten the form qualifying questions."
Without a rejection loop, sales just ignores MQLs they think are bad. The data quietly degrades and marketing keeps over-producing the wrong leads.
Step 6
One dashboard, both teams open it weekly. Funnel metrics, SLA compliance, rejection rates, and conversion rates side by side.
Reports → Dashboards → Create dashboard → "Marketing-Sales Funnel Health."
Reports to include: MQL volume by week (marketing accountability), SLA compliance rate (sales accountability), MQL → SQL conversion rate (joint), SQL → Customer conversion rate (sales), Top 5 Sales Rejected Reasons (joint), Pipeline from MQL by source (marketing attribution).
Schedule a weekly email delivery to marketing + sales leadership. 15-minute weekly review meeting based on the dashboard.
Use the dashboard to align: when MQL → SQL conversion is dropping, that is a marketing-quality conversation. When SQL → Customer is dropping, that is a sales-execution conversation.
Without this joint view, both teams optimize their own funnel piece and the overall conversion suffers. Joint visibility = joint accountability.
Common mistakes
Skipping the joint workshop and letting marketing alone define MQL
What goes wrong: Marketing defines MQL by their KPIs (volume). Sales never agreed. Sales ignores 90% of MQLs. Marketing reports 1,000 MQLs / quarter; sales-accepted is 80. The teams stop trusting each other's numbers entirely.
How to avoid: Run the 90-minute joint workshop before any HubSpot config. Both teams must agree to and sign off on definitions before the workflows go live.
Allowing manual lifecycle stage edits in contact records
What goes wrong: Reps mark contacts as 'Customer' manually because that is how they tracked wins before HubSpot. Lifecycle reports stop matching deal data. MQL volume metrics become meaningless.
How to avoid: Lock Lifecycle Stage as read-only (Settings → Properties → Lifecycle Stage → read-only for non-admin). All transitions via workflows.
No SLA tracking and no SLA enforcement
What goes wrong: MQLs sit in SDR inbox for days. Conversion drops because response-time is the single biggest factor in inbound conversion. Marketing complains; sales says 'we are working as fast as we can'; nobody has the data.
How to avoid: Build the SLA workflow + tracking report. Track per-SDR compliance weekly. Coaching, not just data — SDRs need to understand the why.
No "sales rejected" feedback loop
What goes wrong: Sales silently ignores bad MQLs. Marketing has no signal which MQLs are actually qualified. The MQL definition drifts further from reality every quarter. By year 2, the MQL metric is fiction.
How to avoid: Custom property "Sales Rejected Reason" + workflow that recycles rejected MQLs to nurture. Marketing reviews top rejection reasons weekly.
Separate dashboards for marketing and sales
What goes wrong: Marketing dashboard shows 'MQLs created.' Sales dashboard shows 'deals closed.' Neither shows the conversion rate between them. Both teams optimize their piece; nobody owns the join.
How to avoid: Build ONE joint dashboard with both teams' metrics. Weekly review with both leaders. Conversion rate (MQL → SQL → Customer) is the shared KPI.
Lead routing without round-robin or load balancing
What goes wrong: MQLs all go to one SDR by default. That SDR is overloaded; the other 3 SDRs have time but no leads. Pipeline coverage skews. Some SDRs burn out, others stagnate.
How to avoid: Round-robin assignment within the SDR team. For complex routing (by company size, industry), use Ops Hub workflow branching. Test routing with sample contacts before going live.
Recap
Done — what's next
How to set up HubSpot lifecycle stages so marketing and sales actually agree
Read the next tutorial
Hand it off
The marketing-sales handoff is org work first, HubSpot work second. A specialist who has facilitated the alignment for 20+ teams brings frameworks, neutral facilitation, and the technical wiring to make the agreements stick. EverestX HubSpot specialists run this engagement at $14-16/hr — typically $600-1,200 for the workshop + initial config, then $400-800/mo ongoing.
See specialist rates
MQL (Marketing Qualified Lead) = marketing thinks this contact is ready for sales attention based on fit + behavior. SQL (Sales Qualified Lead) = sales has accepted them as a real opportunity worth pursuing. The transition from MQL → SQL is the handoff. SQL → Opportunity = a deal is created; SQL → Disqualified = sales rejected.
For demo requests and high-intent inbound: under 5 minutes is the gold standard. Research consistently shows a 21x lift in qualification rate at 5 min vs. 30 min. For lower-intent behavioral MQLs (lead score crossing threshold), 4 business hours is acceptable. Outbound-sourced MQLs: 24-48 hours.
Start with HubSpot's HubSpot Score (default property) on Marketing Hub Pro+. It works for most teams. Build custom scoring when you have multiple ICPs needing different scoring models, or you need negative scoring for disqualifying behaviors. Custom scoring is more work to maintain — make sure the use case justifies it.
Three metrics, reviewed weekly together: (1) MQL → SQL conversion rate (target 30-50% — lower means MQL bar is too loose). (2) SLA compliance % (target 90%+). (3) SQL → Customer conversion rate (depends on motion but trend matters more than absolute number). If all three trend positive, the handoff is healthy.
Not strictly. Marketing Hub Pro + Sales Hub Pro cover the essentials (lifecycle stages, workflows, scoring, routing). Operations Hub adds: programmable workflows (custom code for complex routing), data-quality automation (deduplication, formatting), advanced sync with external systems. Add Ops Hub when complexity outgrows out-of-the-box workflows — typically Series B+ companies.
HubSpot Marketing Hub
Lifecycle Stage is the most misunderstood property in HubSpot. Set it up wrong and marketing reports show 'MQLs created' that sales never touches. Set it up right and the whole pipeline becomes legible. Here's the taxonomy and automation that holds up.
HubSpot Marketing Hub
Lead scoring is the most-built and least-used feature in HubSpot. Most setups generate scores that nobody references because they don't match how sales actually qualifies. Here's the model that earns sales trust — and the decay rules most owners skip.
HubSpot CRM
A HubSpot pipeline is the single most-referenced screen in the CRM. Set up wrong, the forecast number is fiction and reps stop trusting it. Set up right, the CRO walks into Monday with a real number. Here is the discipline that holds up.
HubSpot CRM
DIY HubSpot CRM is a great idea — until it isn't. This is the honest framework for when the cost of self-managing exceeds the cost of hiring help, and how to tell which side you are on.