Skip to content

Guide · Marketing metrics

How to calculate B2B marketing ROI when deals take months to close

In B2B, ROI isn’t one number. It’s a curve that matures. Report expected ROI from the pipeline early, confirmed ROI as cohorts close, and steer campaigns on the stage costs that predict both.

How do you calculate marketing ROI?

Short answer

Subtract marketing cost from the gross margin marketing generated, then divide by marketing cost. Use gross margin, not revenue, so the result reflects profit. In B2B, match the cost to the deals that came from that spend’s leads, even if they closed months later, rather than to whatever closed in the same month.

Marketing ROI = (gross margin from won deals − marketing cost) ÷ marketing cost. Marketing cost means media, agency or management fees, tools and creative. Include sales cost only when you compare paid acquisition with another motion, such as outbound, and say that you did. The fully-loaded cost is covered in the customer acquisition cost guide.

There are three ROI numbers worth reporting, and each is valid at a different time.

Three ROI numbers, and when each is valid
NumberFormulaUse whenDon’t use for
Expected ROI(open pipeline × historic stage win rate × gross margin % − cost) ÷ costThe cohort is less than 80% matureBonus payouts or final budget cuts
Confirmed gross-margin ROI(won gross margin − cost) ÷ costThe cohort is at least 80% matureEarly campaign decisions
Revenue ROI(won revenue − cost) ÷ costBoard context onlyComparing channels, because it ignores margin

Why does the standard ROI formula fail in long B2B sales cycles?

Because it divides this month’s revenue by this month’s spend, and in B2B those belong to different leads. Follow one month of an Indian industrial manufacturer’s spend: ₹3,00,000 buys 240 RFQs, of which 60 qualify, 18 receive quotes and 4 become purchase orders. Each order averages ₹12,00,000 at a 22% gross margin, or ₹2,64,000 of gross margin.

Confirmed gross-margin ROI on one month’s spend, as the orders arrive
Days since the RFQs arrived306090150
Orders won so far1234
Gross margin won₹2,64,000₹5,28,000₹7,92,000₹10,56,000
Confirmed ROI−12%76%164%252%

At day 30 the campaign looks unprofitable. At day 150 it has returned ₹2.52 of gross margin above its cost for every rupee spent. A day-30 cut would have removed the best campaign in the account. Revenue ROI flatters the same month: (₹48,00,000 − ₹3,00,000) ÷ ₹3,00,000 is 1,500%, which says more about order size than profit.

Ad platform reports make it worse in two directions:

  • Under-reporting. Google’s click-through conversion window defaults to 30 days and can run to 90 depending on the conversion source (Google Ads Help). LinkedIn offers 1, 7, 30 or 90 days, and 180 or 365 days for categories such as Lead and Qualified Lead when conversions arrive by Conversions API or CSV (LinkedIn Help). An order at day 150 falls outside a 90-day window.
  • Over-reporting. A buyer who clicked Google and LinkedIn ads is counted by both, so adding platform-reported conversions double counts.

The CRM, or a spreadsheet that works like one, is the record. One rule for credit across channels is covered in the paid media pipeline guide.

How do you measure ROI before deals close?

Short answer

Report two numbers. Before deals close, use expected ROI: open pipeline multiplied by your historic win rate at each stage and by gross margin, minus cost, divided by cost. As the cohort matures, replace it with confirmed ROI from won deals. Judge a campaign finally only once most of its expected deals have had time to close.

A US software company spends $20,000 on LinkedIn and Google and, within 60 days, has $180,000 of open pipeline from those leads. Its historic win rate on opportunities is 25%, and first-year gross margin is 80%.

Expected ROI and its sensitivity to win rate
Historic win rateExpected gross marginExpected ROI
25%$180,000 × 0.25 × 0.80 = $36,000($36,000 − $20,000) ÷ $20,000 = 80%
15%$180,000 × 0.15 × 0.80 = $21,600($21,600 − $20,000) ÷ $20,000 = 8%

Ten points of win rate move expected ROI from 80% to 8%, so pipeline quality matters more than pipeline volume. Three guardrails keep the number honest:

  1. Use historic win rates by stage, from the last four to six quarters of closed deals, or the nearest proxy for a young company. Never use a salesperson’s forecast probability.
  2. Recalculate monthly, and replace expected margin with won margin as deals close.
  3. Watch for pipeline inflation. Opportunities created to hit a target lower the real win rate; weighting by history catches it.

Original framework

When is it too early to judge a campaign’s ROI? The ROI Maturity Curve

Short answer

It’s too early while most of the leads it produced are younger than your typical lead-to-close time. Look at your closed deals: if 80% closed within 120 days, a 60-day-old cohort is immature. Meanwhile, judge the campaign on qualified-lead and opportunity costs, which show up weeks earlier and predict the final ROI.

Build the curve as a table of spend cohorts from CRM or spreadsheet exports. Rows are spend months; columns are days since spend; cells are confirmed gross-margin ROI to date. The last row shows the share of orders that have historically closed by each age, taken from your own past deals.

The manufacturer’s curve when January’s cohort reaches day 150, each later month 30 days younger: ₹3,00,000 spend a month, ₹2,64,000 gross margin per order
Spend monthDay 30Day 60Day 90Day 150
January−12%76%164%252% (mature)
February−12%−12%76%Maturing
March−100%−12%76%Maturing
April−12%−12%MaturingMaturing
Share of orders historically closed by this age25%50%75%100%

Only January has passed 80% maturity, so only January has a confirmed ROI. March at −100% on day 30 had no orders yet, which is normal when a quarter of orders historically arrive by then. The decision for young cohorts depends on the stage costs upstream: if cost per qualified RFQ and cost per quote are on track, Wait; if they have moved, Investigate now rather than at day 150.

What is the difference between ROI and ROAS?

Short answer

ROAS divides conversion value by ad spend and ignores other costs and margin. ROI subtracts all marketing cost from gross margin and divides by that cost. For lead generation, ROAS only means something when conversion values come from real CRM stages. A fixed value per form just restates how many leads you got.

MeasureFormulaGood forWeakness in lead generation
ROASConversion value ÷ ad spendBidding signals inside a platformValue is whatever you assign to a lead
Marketing ROI(Gross margin − cost) ÷ costBudget decisions and leadership reportingArrives late in long cycles
Break-even cost per qualified leadQualified-to-won rate × gross margin per dealDaily steering by the performance teamNeeds a stable qualified definition

Break-even cost per qualified lead turns ROI into a limit a performance manager can steer by every day. For the manufacturer: (4 ÷ 60) × ₹2,64,000 = ₹17,600. Its actual cost per qualified RFQ is ₹5,000, so it has room to buy more qualified RFQs before margin runs out. The calculation for your own numbers is in the cost per qualified lead guide.

How should you compare ROI across Google, Meta and LinkedIn?

Use the same spend cohort, the same maturity age and the same credit rule for every channel, with the CRM as the record rather than each platform’s own report. Use gross margin by channel where buyers differ, because a channel that brings larger or more profitable buyers can win on ROI while losing on cost per lead. Sending CRM stages back to platforms improves their bidding signal but doesn’t make their reports the record; see which lead stage to optimise for and CRM lead stages for ad platforms.

A management consultancy in the UAE shows why margin matters. AED 40,000 in a month produces 80 enquiries, 24 consultations, 8 proposals and 2 engagements at AED 120,000 each. At a 40% margin that is AED 96,000 of gross margin, so confirmed ROI is (96,000 − 40,000) ÷ 40,000 = 140%. On revenue, the same month shows (240,000 − 40,000) ÷ 40,000 = 500%.

How do you report marketing ROI to a CEO or board?

Show the number that is valid for the cohort’s age, say which one it is, and end with a decision. For the manufacturer’s January spend:

Cohort ageWhat to sayDecision
Day 30“Too early for ROI: a quarter of orders usually arrive by now. Cost per qualified RFQ is ₹5,000 against a break-even of ₹17,600.”Wait; re-check at day 90
Day 90“Three orders so far; confirmed gross-margin ROI is 164% with the cohort 75% mature.”Review a bounded budget step
Day 150“Mature: four orders and 252% confirmed gross-margin ROI.”Act within agreed spend boundaries

Keep the ROI slide to one page in the marketing QBR, next to the matured cohorts on your KPI dashboard. If tracking was fixed during the period, say so: recovered reporting is not new business, and it changes measured ROI without changing demand.

Common marketing ROI mistakes

  • Dividing same-month revenue by same-month spend.
  • Using revenue instead of gross margin.
  • Adding up platform-reported conversions across channels.
  • Putting a fixed lead value into ROAS and calling it return.
  • Cutting campaigns before their cohorts mature.
  • Treating recovered tracking as new ROI.
  • Ignoring sales cost when comparing marketing ROI with outbound.
  • Letting inflated pipeline set expected ROI instead of historic stage win rates.

What changes by company size

  • SMB: a spreadsheet cohort table with lead date, source, stage, order value and margin, reviewed quarterly.
  • Mid-market: CRM stage history and a monthly cost base agreed with finance, so marketing and finance quote the same ROI.
  • Enterprise: curves by segment and region, and holdout or incrementality tests where volume allows, set out in the paid media pipeline guide.

India

Report in lakh and crore. Leave recoverable GST out of both revenue and cost, and confirm with your CA. Reconcile dealer-closed orders monthly, and remember that WhatsApp enquiries that never reach the CRM make ROI look lower than it is.

UAE

Report in AED and leave out recoverable VAT, charged at 5% (Federal Tax Authority). Tender-driven construction and EPC cycles mean expected ROI is the main number for much of the year.

US

CFOs expect gross-margin ROI. CRM stage history makes the maturity curve straightforward to build. For software, show ROI alongside CAC payback from the CAC guide.

What to measure next

Measure the share of orders closed by each cohort age, the break-even cost per qualified lead by channel, and historic win rates by stage. Use them to size next year’s spend with the B2B marketing budget guide. Where configured, Zephra sends CRM lead stages to Google through the Data Manager API and to Meta and LinkedIn through their Conversions APIs, and uses lead quality and business outcomes from CRM data or a spreadsheet to guide campaigns; see conversion tracking.

Questions, answered

Marketing ROI FAQ

01What is a good marketing ROI for B2B?

There isn’t a universal figure. The useful test is break-even: is gross margin from won deals higher than the cost to win them, within your payback limit? Convert that into a break-even cost per qualified lead and keep actual cost comfortably below it.

02Should ROI include sales team cost?

Not for marketing ROI. Include it when comparing paid acquisition with another motion, such as outbound or events, and label the figure so nobody compares the two versions.

03Can we trust ROI reported by Google or LinkedIn?

As a signal, not as the record. Each platform counts within its own conversion window and credits itself when a buyer touched several channels, so late wins are missed and shared wins are double counted.

04What if we don’t have a CRM?

A spreadsheet with lead date, source, stage, order value and margin supports every calculation on this page, as long as stages are updated weekly.

05How do trade shows fit into marketing ROI?

Treat the show as its own spend cohort and track its leads through the same stages. The trade shows and paid ads guide covers how paid campaigns support a show.

06How often should ROI be recalculated?

Recalculate expected ROI monthly as pipeline moves, and confirmed ROI quarterly on cohorts that have matured.

Before you judge ROI

Check whether tracking and structure are costing you qualified leads.

The free ad account assessment reviews wasted spend, campaign structure, performance constraints and measurement gaps across Google, Meta and LinkedIn. It takes 10–15 minutes, needs no CRM and makes no campaign changes.