A six-truck plumbing company doesn't need Salesforce. They need to know two things:
- Which lead came from which channel.
- Which lead turned into a closed job, with a dollar amount.
If you can answer those two questions reliably, you have everything you need to run a marketing budget. Adding a CRM on top is a tool decision, not a foundational one.
Here's the cheapest system that works.
The components
Three pieces. Total cost under $80/month. Setup time: an afternoon, and one ongoing 15-minute habit.
1. Phone tracking with dynamic insertion
Every channel gets its own phone number. The Google Ads campaigns get one number. The Meta ads get another. The website organic traffic gets a third. The Google Business Profile gets a fourth.
Tools: CallRail, CallTrackingMetrics, or LeadPixl (ours). $30–$50/month for a small business.
Setup: install the tracking script on the site. Configure dynamic number insertion so visitors who arrive from Google Ads see one number, visitors from Meta see another, etc. The actual call still rings to your one main line.
What you get: every call has a source attached. You'll know within a week which channels are generating phone calls, regardless of whether the caller mentions the ad.
2. A form on every page that captures source
Use a form provider that supports hidden UTM parameters: Tally, Fillout, Typeform, even a Google Form with the right setup.
Add hidden fields to every form for utm_source, utm_medium, utm_campaign, and referrer. The form fills these in automatically based on the URL parameters and the document referrer.
When a form submits, the email you get includes those source fields. Now every form lead is also tagged.
Cost: $0–$25/month depending on tool.
3. A spreadsheet you actually update
This is the unsexy piece that everyone wants to skip. You can't.
Every Friday afternoon for 15 minutes, someone reviews the week's leads — calls and forms — and updates a single spreadsheet:
| Date | Name | Source | Estimate sent? | Closed? | Job amount | |---|---|---|---|---|---| | 4/8 | Maria L. | Google Ads | Yes | Yes | $4,800 | | 4/9 | Tom R. | Meta Ads | Yes | No | — | | 4/10 | Sara P. | GBP | No (still chasing) | — | — |
That's the whole system. After a quarter, you have something most service businesses don't: a real picture of which channels produce closed jobs, not just leads.
What this gets you
After 90 days of running this, you can answer:
- Cost per closed job by channel. Not cost per lead — that number lies. Cost per actual booked work.
- Which channels produce the higher-revenue jobs. Some channels generate small jobs. Some generate big ones. The dashboard won't tell you that.
- Which weeks are slow because of the channel and which are slow because of close rate. You'll see that in October your CPL was the same but your close rate dropped 8 points — that's a sales problem, not a marketing problem.
These are the numbers you make decisions with. "We're spending $6k on Google and getting $32k of booked revenue from it" is a sentence that changes how you behave. "We're getting 90 leads at $42 CPL" is a sentence you'll forget by Wednesday.
What the spreadsheet doesn't do
It doesn't:
- Auto-update when a customer pays.
- Calculate lifetime value.
- Send sequenced follow-ups.
- Integrate with QuickBooks.
- Look impressive in a board meeting.
You don't need any of those things to run a six-truck shop. You will eventually. When you cross 30+ leads/week, the spreadsheet starts breaking — somebody forgets to update it, two people argue about whose lead a closed job came from, the categorical fields get inconsistent. That's the moment to graduate to a real CRM (HubSpot's free tier, Pipedrive, GoHighLevel, etc.).
Until then, the spreadsheet is faster, cheaper, and produces the same actionable answers.
The 15-minute habit
The whole system works only if someone updates the spreadsheet weekly. We've seen owners try to do this monthly. It falls apart immediately — they don't remember which lead matched which job four weeks later.
The trick: tie the update to an existing weekly habit. Most owners we work with already do a Friday afternoon admin window — invoicing, payroll, reviewing the week. Tack the lead-tracking update onto that. 15 minutes. Calendar block it.
If nobody on your team will do this consistently, your real problem isn't software — it's that the business is too busy to track itself. That's worth fixing.
When this isn't enough
Two situations where you should skip the spreadsheet and go straight to a CRM:
- Long sales cycles (more than 60 days from lead to close). Spreadsheets lose track of leads in pipeline. A CRM with a pipeline view is worth the cost.
- Multiple salespeople. Once you have two or more people calling leads, ownership and follow-up tracking matter, and a spreadsheet generates conflict. CRM.
For a single owner-operator or a one-dispatcher service business, the spreadsheet works for years.
The point
Don't let perfect lead tracking software stop you from doing minimum-viable lead tracking. A phone tracking tool, hidden form fields, and a spreadsheet beats no tracking by a wide margin. The expensive CRM you'll buy in three years will be more useful because you'll already know what numbers matter.