Tracking what each local marketing campaign cost and produced at an 11-to-50-person plumbing and HVAC company: event sign-ups typed in days later, and about $600 riding on each event's list nobody calls
For the executive who decides
One neighbor, two weeks
The same neighbor at the same fall festival, today and redrawn. Who acts, in three lanes: the neighbor, the machine, and the marketing coordinator.
Today
Estimate. The $1,200 is the average HVAC repair ticket on one software maker's platform in 2025, because the company gives no ticket; the 41 names are assumed.
Redrawn
Estimate. The $125 assumes about 200 leads a month across 5 campaigns; the 6 who asked about a repair are an example.
- The customer acts
- The machine acts
- A person decides
- Nothing runs
An illustration built from the posting and public prices: the days and times are examples, and the repair's value, the names and the monthly cost are estimates.
- 1The job
Keeping one place that shows what each local marketing campaign cost and what it produced: calls, leads, booked jobs and reviews, for direct mail into new towns, local ads, and community events such as festivals, markets and parades. And getting the names collected at those events into the company's system, so somebody reaches out. A locally and privately owned plumbing and HVAC company, mostly residential, growing into towns where people do not know it yet. About 11 to 50 people, owned by three partners, with two offices. It posted the role on 29 September 2026: a part-time community marketing coordinator, half out at events and half at a desk. The number of events, mail drops and names is not given; this job assumes about 40 names an event.
- 2The number today
Track what works. Keep one place where we can see what each campaign cost and what it produced: calls, leads, booked jobs, reviews. Tell us honestly which ones are not worth repeating.
And in the same posting:Follow up. Get the names we collected into our system and make sure somebody actually reaches out. A lead nobody calls is not a lead.
The pay: "$18.00 to $22.00 per hour depending on experience", starting at 10 to 15 hours a week. That is about $9,400 to $17,200 a year for the whole role. Typing in names, chasing the follow-up and keeping the tally are one part of the desk half. At 3 of the 10 hours, they cost about $2,800 a year.The bigger numbers are the names and the spend. If 1 in 80 people who leave their name would have booked a repair, at about $1,200 a repair, each event's list carries about $600; at 10 events a year, about $6,000 goes to whoever answers first. At 1 in 40 and 20 events it is about $24,000; treat that as a ceiling. And every campaign is judged on the tally: one mail drop to 5,000 homes costs about $2,200 in postage and printing. A company that sells attribution software says, from its own audits, that office staff pick the wrong campaign or skip the question 30 to 50% of the time.
Estimate. The 3 hours, the 40 names, the 1 in 80, the 10 events and the 5,000 homes are assumed, because the posting gives none of them; the $1,200 is one software maker's 2025 average HVAC repair. A season of the company's own counts replaces all of them.
- 3The verdict
Hand over the tally and the first follow-up. Keep the call on what to run again.
- Hand to the machine: logging every event sign-up in the system the same day, tagged to its event, from a code on the booth sign; a separate tracking number for each mailer, ad and event card, ringing through to the main line; a thank-you text the same evening to everyone who agreed to hear from the company, and a call list of everyone who asked about a job; tying each call, form, booked job and review to its campaign; and the monthly table of each campaign's cost and results, with every lead it could not match listed, not hidden.
- Keep with a person: which campaigns to run again and which to drop; the call to anyone who asked about a job; the source of any lead the machine could not match, asked on the call; the booth, the crowd and the offer.
- Not yet: moving a job someone already credited to a different campaign; crediting a returning customer's new job to the latest campaign; calling a campaign dead on one month, when events cluster in the warm months and mail in the quiet ones; texting anyone who did not agree to it at the booth; changing the number on the company's own business listing.
What the coordinator is for now: the crowd, the calls and the honest read on what worked. The machine keeps the tally. The owners still decide where the next dollar goes.
- 4The bill
About $125 a month, with call tracking that gives each campaign its own number and catches the forms (CallRail Lead Tracking Complete, $95 a month), plus about $25 for the software that runs the texts and builds the monthly table, and a few dollars in texts and model use. Setting up the campaigns, the booth-sign codes and the text is about a day's work, once.
Other routes inside the field-service software such companies run, the campaign tracking add-on is priced on request (about $200 to $600 a month, by one seller of add-ons), or a $99-a-month marketing add-on that does not list lead-source tracking. A service with people: an offshore marketing assistant at $8.50 to $15 an hour, about $110 to $195 a month for the same 3 hours a week. Built from parts: about $60 a month for numbers, minutes, a table and the workflow runner, then the build and the upkeep. The person, as today: about $230 a month on this part of the role.
Checking: for the first two weeks, the coordinator reads the list of leads with no source and the call list twice a week, about 30 minutes a week. After that, the checking time is not known until it is counted.
Estimate. The $125 assumes about 200 leads a month, 5 campaign numbers, under 250 minutes of calls on them and about 160 event names texted; the 30 minutes are assumed.
- 5Owner and off switch
The owner who signs off the marketing budget owns it, because the table exists to decide where that budget goes next. The off switch: pause the workflow that sends the texts and builds the table. The tracking numbers keep ringing through to the main line, so no call is lost, and the coordinator follows up and tallies by hand, as today. It takes under a minute. Try it once in the first week.
- 6The brief to hand your builder
The job: give each campaign (each mail drop, local ad and event) its own tracking number or sign-up code; log every event sign-up in our system the same day, tagged to its event; text a thank-you that evening to everyone who agreed, and give us a call list of everyone who asked about a job; tie every call, form, booked job and review to its campaign; and each month, build one table of each campaign's cost and results.
Today: a part-time coordinator collects names at events on paper and types them in at the next desk shift; calls land on our main number; the tally is kept by hand, when it is kept.
Done when: for two weeks, every event sign-up is in the system and texted within 12 hours; everyone who asked about a job is on a call list by the next morning; at least 9 in 10 calls and forms carry a campaign, and every one that does not is listed; every number in 10 rows of the table, chosen at random, matches the system; and no source a person set has been changed.
It may never, on its own: change a source a person set; credit a returning customer's job to a new campaign; text anyone who did not agree; change the phone number on our business listing; or drop, pause or start a campaign.
You get from us: the list of campaigns, with what each cost and when it ran; admin access to our field-service software and our ad accounts; the booth sign and the event calendar; the thank-you text and the offer for each event.
We own: the phone numbers, the system, the tracking account and the billing.
We get back: the evening after each event, who was texted and who is on the call list; each month, the table, with the leads that had no source listed by name.
Ask whoever sets it up A good answer A bad answer What happens when someone from the mailer calls our main number? It shows as "no source" in the table, and your office asks them on the call. You see how many there were "Every call is tracked automatically" Will it ever change a source we already set? No. A source a person set stays, and returning customers keep their first source unless you change it "It re-credits each job to the latest ad it can find" Which number goes on our business listing? Your main number stays the main number. Tracking numbers go only on mail, ads and event cards "We swap every number, everywhere"
Want this verdict on your own work?
This was one company's job. Konstellation, Nick's advisory firm, judges one of yours, free: what it costs you today, the verdict, the bill and who owns it.
Get the verdict on one jobOr get new jobs from the newsletter.
For the operator who builds and runs it Paid layer
- 7The working set
- Trigger: an event sign-up through the booth code; a call or text to a campaign's tracking number; a form on a campaign's page; a job booked or completed in the field-service software; a new review; and the first business day of each month, for the table.
- Steps: at sign-up, write the person to the system with the event as source and their consent and "call me about a job" answers; at 6:00 pm on event days, text everyone who consented the thank-you and that event's offer; put everyone who asked about a job on the next morning's call list, oldest first; on each call or form, set the campaign from the number or the page; if none matches, mark it "no source" and put it on the list for the office to ask on the call; when a job is booked, carry the customer's campaign onto it, unless a person already set one or the customer has an earlier job; on the first business day of the month, add up each campaign's cost (from the campaign list) against its names, calls, booked jobs, revenue and reviews, and list every "no source" lead.
- Data: one record per lead: lead ID, name, phone, how it came (sign-up, call, text, form), campaign, how the campaign was set (number, code, page, person, none), consent (yes or no), asked about a job (yes or no), texted at, called at, booked job and its value, review left, and whether a person changed the campaign. One record per campaign: name, type, town, start and end, cost.
- Review step: the coordinator works the call list each desk shift and asks the source of every "no source" lead on the call; the owners read the table once a month with the coordinator.
- Alerts: a call-list name not called within two business days; "no source" above 1 in 10 of the month's leads; a tracking number that took no calls for 14 days while its campaign is live; a text that failed; and the wrong-but-green count, the campaigns a person changed after the machine set them.
- If it breaks: what you see: a campaign with names but no calls, every call landing as "no source", or the same person texted twice. Check first: the tracking numbers still forward to the main line; the booth code points at the right event; the connection to the field-service software is still authorized. Safe fix: pause the workflow; numbers keep ringing through, and the coordinator follows up and tallies by hand.
- Cost per lead: about 63 cents ($125 a month over about 200 leads). Built: about 30 cents ($60 over 200), then the build and the upkeep.
- Baseline, before switch-on: one month of: names collected at each event, days from event to first contact (from the system, not memory), calls and forms with no source, booked jobs by campaign as the office records them today, and the coordinator's minutes on the tally (time it, do not ask).
Estimate. The cost per lead assumes about 200 leads a month and 5 campaign numbers. The baseline month replaces both.
Tools by name: CallRail (Lead Tracking $50 a month, Lead Tracking Complete $95 with 1,000 form submissions; 5 local numbers, 250 minutes and 25 texts included; extra number $3, minute $0.05, text $0.03); WhatConverts (from $30 a month, $60 with forms); ServiceTitan (a tracking number per campaign fills the campaign on the booking screen; Marketing Pro price on request, $200 to $600 a month by one add-on seller; manually booked jobs re-credited inside a fixed 7-day window); Jobber (Marketing Suite $99 a month); Housecall Pro (lead source set by hand; add-ons on request); built: Twilio ($1.15 a number a month, $0.0085 a minute inbound), Airtable Team ($20 a seat a month billed annually), n8n (Starter 20 euros a month billed annually, 2,500 runs), Claude Sonnet 5.5 ($2 per million tokens in, $10 out). USPS retail Every Door Direct Mail postage $0.26 a piece. Google: the listing's number "must be under the direct control of the business".
The operator's map
The middle is which campaigns to run again: where the next marketing dollar goes, and what to stop. The owners hold it.
The same job as a system. The middle is which campaigns to run again, held by the owners. Names and calls come in on the left; across the top the machine tags each one to its campaign, texts the new names and counts each campaign's cost and results; on the right the coordinator calls everyone who asked about a job and fills in any source that is missing. Along the bottom is what it runs on: the switch and the alert, the counts, and the campaign list, codes and text it works from.
- Runs on its own
- A person does it
- The judgment it all depends on
- What it runs on