Marketing ROI: definition, formula, and dashboard example
Marketing ROI tells you how much revenue your ad spend actually generates, not how many clicks it bought. Here is how to calculate it, what distorts the number, and how home-service operators track it live.
Formula
Marketing ROI = (revenue attributed to marketing − marketing spend) ÷ marketing spend × 100
Subtract total marketing spend from the revenue those campaigns generated, divide by the spend, and multiply by 100 to get a percentage return. A result of 200% means every dollar spent returned three dollars: your original dollar back plus two more.
For ad-platform metrics, see cost per booked job and ROAS. Those are spend-efficiency ratios, not the same as marketing ROI, which nets out the full cost.
What is marketing ROI?
Marketing ROI measures how much revenue your marketing spend produces relative to what it costs. For a home-service company, that means taking the revenue you can attribute to ads, campaigns, and lead sources and comparing it to the dollars you spent on those channels. A positive marketing ROI means campaigns are paying for themselves and generating profit. A negative or unknown ROI means you are funding growth on gut instinct.
Marketing ROI is not the same as ROAS (return on ad spend), which measures platform-level gross revenue per ad dollar without netting costs. And it is not the same as cost per booked job, which measures lead acquisition efficiency. Marketing ROI is the true profitability view: what did the spend net you, after subtracting what you paid?
How the math works
To calculate it, subtract marketing spend from the revenue attributable to marketing (tied back through call tracking and CRM job-source tagging), divide by the spend, and multiply by 100. A single blended, company-wide figure is fine for an executive glance.
But a blended number hides wide channel-level variance: one source can be returning several times its spend while another runs flat or negative, and without the breakdown you renew every budget without knowing which one is the problem. Datacube's marketing board pulls campaign revenue, leads, and revenue per lead by source from the CRM (ServiceTitan's Campaign Summary report); because spend lives in the ad platforms, ROI is derived by comparing that attributed revenue against the spend you connect.
Data sources needed to calculate it
You need three things: spend data from your ad platforms (Google Ads, LSA, social), revenue attribution data from your CRM (job source tagging in ServiceTitan, Housecall Pro, or Workiz), and a call tracking layer (such as CallRail) that ties inbound calls back to a specific campaign. Without all three connected, you are running marketing spend on faith. When those sources are consolidated, tracking marketing ROI by channel in real time becomes straightforward.
Who owns it and how often to review it
The marketing leader owns the channel-level number; the owner or GM owns the blended company view. Review it weekly at the channel level to catch a campaign bleeding budget before the month is over. Review it monthly in the business performance meeting to compare channel ROI and reallocate spend. In peak season (summer for HVAC, spring for roofing), check it twice a week as ad spend accelerates.
Channel-level marketing ROI: HVAC example, July
| Channel | Spend | Revenue attributed | Marketing ROI | Read |
|---|---|---|---|---|
| Google Ads (search) | $9,500 | $52,000 | 447% | Scale budget; highest performer |
| Local Services Ads | $4,200 | $14,800 | 252% | Solid; optimize review count to improve ranking |
| Direct mail (zip campaign) | $4,300 | $7,200 | 67% | Low; test a different zip or pause and reallocate |
| Total blended | $18,000 | $74,000 | 311% | Hides the mail underperformance above |
What good and poor marketing ROI movement looks like
Marketing ROI targets vary by trade, market, ad platform, and attribution method. Use these as directional signals, then set your own baseline from your trailing 90 days of connected data.
- Channel ROI positive and rising week over week during peak seasonBudget is working; consider increasing spend on the top channelGood
- Current
- Target
- Blended ROI looks healthy but one channel is negativeThe blended number is masking a problem; review channel breakdownWatch
- Current
- Target
- Marketing ROI falling while ad spend is flatAttribution gap or rising CPCs; check call tracking and job source taggingWatch
- Current
- Target
- Marketing ROI unknown because revenue attribution is missingYou are running campaigns without a feedback loop; fix attribution firstPoor
- Current
- Target
- Revenue attributed to marketing drops sharply mid-monthLikely a broken call tracking integration or CRM tagging failurePoor
- Current
- Target
| Metric | Current | Target | Status |
|---|---|---|---|
| Channel ROI positive and rising week over week during peak seasonBudget is working; consider increasing spend on the top channel | Good | ||
| Blended ROI looks healthy but one channel is negativeThe blended number is masking a problem; review channel breakdown | Watch | ||
| Marketing ROI falling while ad spend is flatAttribution gap or rising CPCs; check call tracking and job source tagging | Watch | ||
| Marketing ROI unknown because revenue attribution is missingYou are running campaigns without a feedback loop; fix attribution first | Poor | ||
| Revenue attributed to marketing drops sharply mid-monthLikely a broken call tracking integration or CRM tagging failure | Poor |
Warning
Data visibility gap: the attribution lag problem
Most home-service companies review marketing ROI at month-end using a report pulled from the CRM. By then, a bad campaign has already consumed its full budget, trained the algorithm on the wrong signal, and generated leads that the team chased for weeks. Attribution lag is not just a measurement problem; it is a budget problem. When marketing ROI is visible in real time by channel, you can pause a bleeding campaign on day 8 instead of discovering the damage on day 32.
Warning
Common mistake: confusing ROAS with marketing ROI
ROAS (return on ad spend) is a platform metric: Google Ads or Meta reports how much gross revenue each ad dollar generated inside their attribution window. It does not subtract what you paid, does not account for other marketing costs (agency fees, creative, call tracking), and uses the platform's own attribution model. Marketing ROI is a business metric: it nets out total spend and uses your CRM job data as the revenue source. Both numbers are useful, but ROAS will almost always look better than true marketing ROI, and confusing the two leads to overconfident budget calls.
Marketing ROI on a live datacube dashboard
How marketing ROI appears on a datacube Marketing board, updated in near real time with connected ad platform spend and CRM job revenue so the marketing leader and owner see channel performance without waiting for a month-end report.
Figures are illustrative. Your datacube Marketing board reflects your own connected ad platforms, call tracking, and CRM revenue data.
Related KPIs to read alongside marketing ROI
| KPI | Why it pairs with marketing ROI |
|---|---|
| Cost per booked job | Measures acquisition efficiency; feeds the spend side of ROI |
| Average ticket | Higher average ticket amplifies marketing ROI on the same spend |
| Booking rate | Poor booking rate suppresses revenue attribution even when ads perform |
| Gross margin | High-revenue channels with low margin may have negative true ROI |
| Callback rate | Callbacks from marketing leads inflate job count without adding net new revenue |
Owner takeaway
- Blended marketing ROI hides channel-level problems. Break it out by source every week so you can shift budget before the month is over.
- ROAS and marketing ROI are different numbers. ROAS is a platform metric; marketing ROI is a business metric that nets out your full spend and uses CRM revenue as the source of truth.
- Attribution quality determines ROI quality. Without connected call tracking and CRM job source tagging, marketing ROI is a guess dressed up as a number.
Marketing ROI FAQs
See your marketing ROI live, by channel, in a datacube dashboard
Connect your ad platforms, call tracking, and CRM and watch marketing ROI update by channel without waiting for month-end reports. Schedule a reporting audit to see what your current data could show.
Keep exploring
Related
Go deeper
