Where the money works
Top 12 campaigns by attributed revenue. Tracked cost is roughly a thousandth of revenue — a cost bar would be invisible at this scale, so where a campaign has spend it is written into the label instead.
All campaigns
| Campaign | Category | Cost | Calls | CPL | Jobs | Completed | Revenue | ROAS |
|---|
LEGACY is not a marketing win. It is the main phone line — returning customers who already know the company. It carries 45% of all jobs, so its revenue measures the brand annuity, not any campaign's performance. Judge marketing on the lines below it.
The missed-call callback leak is real but small. In the last 90 days, 826 LEGACY calls were same-day re-contacts from numbers that first dialed another campaign — but only 234 followed a truly missed call. Re-crediting those would move about $10.7K, roughly 2.1% of LEGACY job revenue. The biggest single donor is Hatch AI's own text-back line, which points at tool hand-off, not lost tracking.
39% of jobs carry campaign ids with no name in marketing.campaigns — they show up here as raw ids. Fixing campaign hygiene in ServiceTitan is the single biggest attribution win available; no spend required.
Cost comes from marketing.costs, recorded monthly. A month's cost is attributed whole to any window containing it — no pro-rating at the edges.
Windows. Last 90 days and trailing 12 months, by job and invoice dates as in the funnel page. Campaigns capped at the top 40 per window by revenue.
Source. ServiceTitan via Peaka project fiCE9M5E — marketing.campaigns, marketing.costs, telecom.calls, job_planning, accounting.invoices.
Drill-down. Click any campaign row or bar to open business-unit and job-level detail (last 90 days) with direct links into ServiceTitan.