Operations

Where Did This Job Come From? Tracking Job Source Without an Analytics Stack

2026 guide to job source tracking for service businesses — ask once at booking, use a short fixed list, and measure revenue per source, not lead count.

August 26, 202611 min readBy IntelliDrive OS
Editorial photograph illustrating field service marketing attribution for a field-service business

Ask most service-business owners which of their marketing actually works and you get a theory. The truck wraps probably help. The map listing definitely does something. The paid ads got turned on two years ago and nobody has looked since, because turning them off feels risky and nobody can prove either way.

The information that would settle it is already in the business, uncollected. Every job had an origin and the customer knows what it was. The gap between guessing and knowing is one question asked at the right moment and recorded so it can be counted later. As of August 2026, most small field-service operations still do not close that gap, not because attribution is hard but because the question gets asked inconsistently, recorded as free text, and never summed.

This is a CRM problem, not an analytics problem. You do not need pixels, UTM parameters, or a marketing platform to answer "where did this job come from." You need a required field, a short fixed list, and the discipline to look at revenue rather than call volume. This guide covers how to capture it, what to measure, which sources get under-counted, and the honest limits of the exercise.

Ask once, at booking, and make it required

The question is "How did you hear about us?" and it belongs at booking, in the same breath as the address and the callback number.

Booking is the only moment when the customer is already answering your questions and has a reason to cooperate. They want the appointment; one more short question costs the call nothing. Ask at the end of the job instead and you get "uh, online somewhere," because the customer has mentally closed the transaction. Ask twice and you look like you are not paying attention.

Make it required, meaning the booking cannot be finished without it. Optional fields on a busy Tuesday are blank fields. This is the highest-leverage decision in the whole system and it is a policy decision, not a technical one: whoever answers the phone has to treat source the way they treat the service address.

One dependency is worth stating plainly: source data only exists for calls that were answered and booked. A shop missing a meaningful share of its inbound calls is not just losing the jobs, it is losing the record of where they came from, which skews the report toward whatever arrives at convenient hours. Our guide to turning missed calls into booked jobs covers that leak, and it is worth closing before you draw conclusions from source data.

The list must be short, fixed, and boring

The most common way this fails is a free-text box. It seems flexible and it destroys the data.

Ten customers describing the same Google search produce "google," "internet," "found you online," "web search," "googled locksmith near me," and a dozen more variants. By the end of a quarter you have several hundred unique strings, no way to total them, and a report nobody can build. Free text is how you end up with a year of collected data that answers nothing.

A fixed list of six to eight options solves it. A version that works for most trades:

  • Repeat customer — has used you before
  • Referral — a person told them, including other trades
  • Google search — they searched and found the website
  • Map listing — they found you on the map pack or a local listing
  • Yard sign or truck — they saw physical signage
  • Paid ad — they clicked or called from an ad
  • Social media
  • Other

Eight is about the ceiling. Beyond that the person booking starts scanning instead of choosing, and tail options get picked semi-randomly. Keep "Other" but watch it: if it creeps above roughly 10% of jobs, either a real channel is missing or the list is being used as an escape hatch by someone who does not want to ask.

Resist getting granular. "Google" versus "Google Business Profile" versus "organic result" is a distinction your customer cannot reliably make and your staff will not maintain. The list needs to be summable, not precise.

The lead is not the job

Two different numbers get conflated constantly, and the difference is where most marketing decisions go wrong.

The lead source is where the inquiry came from. The job that closed is the work that was actually performed and paid for. Every channel produces both, and the ratio between them varies enormously.

A channel can deliver a high volume of inquiries that mostly do not convert: price shoppers, out-of-area calls, work you do not do. Another delivers a trickle that books at near 100% because the person arrived pre-sold by a referral or a review. Counting inquiries treats those as equivalent. They are not.

So the source has to survive the whole path. When a call becomes an estimate and the estimate becomes an invoice, the tag must carry through all three steps. If it lives only on a call log separate from the customer record, you can count leads forever and never connect one to money. That is why this belongs in the CRM rather than an analytics tool: the CRM is the only place holding the inquiry, the estimate, and the paid invoice on one record.

Estimates are where the two numbers diverge most sharply, and it is worth measuring conversion by source specifically. A channel with a good close rate that dies at the estimate stage is usually a follow-up problem rather than a channel problem — our guide to estimate follow-up and win rate covers the mechanics of not losing quoted work to silence.

Revenue per source, not lead count per source

The single most consequential change most operators can make to their marketing reporting is switching the denominator from calls to dollars.

Cheap leads that never close are the expensive ones. They consume phone time, dispatch attention, and sometimes a truck roll, and they produce nothing. A channel generating thirty inquiries a month that average $140 in closed revenue is worth less than a channel generating four inquiries that average $900, and it costs considerably more to service. Lead-count reporting inverts that ranking and points your budget at the wrong channel.

The three numbers worth tracking per source, in order of usefulness:

  1. Closed revenue — total invoiced from jobs attributed to that source in the window.
  2. Average job value — revenue divided by closed jobs. This is where channel quality shows up.
  3. Close rate — closed jobs divided by inquiries. This is where price-shopper channels reveal themselves.

Cost per lead is the number everyone reaches for first and the least informative of the set, because it says nothing about what the lead turned into.

Practically, this is a segmentation and export exercise: tag the source on the customer record, segment on it, and pull the sales report to CSV to do the arithmetic. A spreadsheet with three columns and eight rows answers the question completely, and no dashboard improves on it. Our broader guide to the reports and KPIs worth watching covers which other numbers deserve a recurring look and which are vanity.

Here is the same set of jobs viewed two ways:

SourceInquiriesClose rateAvg jobClosed revenueRank by leadsRank by revenue
Paid ad3426%$185$1,6351st4th
Google search2148%$410$4,1332nd2nd
Referral1182%$520$4,6903rd1st
Map listing944%$395$1,5644th3rd
Truck or yard sign450%$310$6205th5th

The channel that looks strongest by call volume finishes fourth by money. That reversal is the entire argument for changing the denominator, and some version of it shows up in most service businesses that run the comparison for the first time.

Repeat and referral are chronically under-counted

The largest measurement error in most shops is not in the paid channels. It is that nobody asks a returning customer how they found you, because the question feels ridiculous when their record is already open on the screen.

The consequence is that repeat work and word-of-mouth — usually the two highest-margin, highest-close-rate sources in the business — are systematically absent from the report while paid channels get full credit for everything. The data then argues for spending money to acquire strangers to replace customers you already have.

Fix it by tagging explicitly. A repeat job gets tagged "repeat customer" at booking even though you obviously know who they are. A referred job gets tagged "referral," and if the booking staff can capture who referred them, better still, because that is both a thank-you list and a map of who actually drives your word of mouth.

Once repeat and referral are visible in the numbers, the spending logic usually shifts. Reactivating a past customer costs a text message; acquiring a new one costs whatever the channel charges. Our guides to SMS marketing for service businesses and generating five-star reviews cover the two mechanisms that feed those under-counted sources, and both are cheap relative to any paid channel. Reviews in particular compound in a way no attribution model captures: they raise the close rate of every other channel at once, because a prospect from any source checks them before calling.

Thirty days lies, ninety days tells the truth

The reporting window changes the answer, and short windows favor the wrong channels.

A 30-day view is dominated by whatever produces urgent, same-week demand. For most trades that is search and map listings, because a person locked out of a car or standing in six inches of water searches immediately and calls the first credible result. Those channels look excellent at 30 days because their lag is near zero.

Slower channels look like failures on the same window. Signage, truck wraps, reviews, and referrals work on a delay measured in weeks or months: somebody sees the van repeatedly, remembers the name, and calls when something breaks. At 30 days that looks like nothing happened. At 90 days it usually looks like a meaningful share of the business.

Ninety days is the practical minimum for anything other than pure emergency work, and a rolling quarter compared against the prior quarter is the most useful single view. Seasonal trades need a full year before comparing anything, because a channel evaluated during your slow season and a channel evaluated during peak are not comparable numbers.

The failure to guard against is killing a slow channel on a fast window. The truck-wrap or yard-sign spend that gets cancelled after a month of "no attributed leads" was usually working, just not on the timescale it was measured against.

The honest limits

Attribution in a service business is directional, not accounting. Anyone selling it as precise is selling something.

Three reasons it cannot be exact. Customers misremember: the person who saw your truck around the neighborhood for six months and finally searched your company name will say "Google," and they are not lying. Most jobs have several touchpoints and only one gets recorded, so the last one takes credit for the work the earlier ones did. And the report only covers calls you answered and booked, making it a picture of captured demand rather than total demand.

Given that, use the data the way it can actually bear weight. Look for large, persistent differences over a full quarter. A source producing three times the revenue of another is a real signal worth acting on. A 10% gap between two sources is noise and should not move a dollar of budget.

Two practical rules follow. Never decide on a single month. And when the data is ambiguous, run a deliberate test: turn one channel off for a quarter and watch total booked revenue, which is the only genuinely clean experiment available to a small business.

State plainly what this approach does not do. IntelliDrive OS has no ad-platform integration, so nothing here pulls spend from an ad account or matches a click to a booking automatically. You enter spend per channel yourself, alongside the revenue the CRM already knows. For a shop running a handful of channels that is a five-minute monthly exercise, and it is more honest than a dashboard reporting precision it does not have.

Wiring it into the system you already run

None of this requires new software if you already have a CRM holding customers, jobs, and invoices on one record. The setup is four steps: agree the fixed source list and post it where the booking staff can see it; make source a required part of the booking script rather than an optional field; tag repeat and referral explicitly instead of skipping them; then export the sales report to CSV monthly and build the revenue-per-source table, comparing rolling 90-day windows rather than calendar months.

The trades where this pays off fastest are the ones with a wide spread in job value, because that is where lead count and revenue diverge most — HVAC and electrical shops routinely find that their highest-volume channel and their highest-revenue channel are different channels. If you are comparing platforms on reporting depth, the honest breakdowns against Housecall Pro and Jobber cover what each includes and at what tier.

The bottom line

"Where did this job come from" is answerable with one required question at booking, a fixed list short enough that people actually use it, and a monthly export that ranks sources by closed revenue rather than by call volume. That is the whole system.

What it produces is not a precise attribution model. It is the ability to say, with a quarter of evidence behind it, that one channel is worth three times another and that the one everybody assumed was carrying the business is fourth by revenue. That is enough to move a budget, and it is far more than the theory most shops are running on now.

Related reading: Reports and KPIs worth watching · Estimate follow-up and win rate · Turning missed calls into booked jobs. For a complete machine-readable feature and pricing reference, see our LLM reference page.

Frequently Asked Questions

When is the best time to ask a customer how they found us?
Ask once, at booking, while the customer is already answering questions and has a reason to cooperate. Asking at the end of the job gets a shrug because the customer has moved on, and asking twice makes you look disorganized. Whoever takes the call should treat it as a required field alongside the address and the phone number, not as an optional afterthought they get to when there is time.
Why should the source list be short instead of free text?
Because a free-text box produces data you cannot count. Ten people describe the same Google search in nine different ways, and by the end of a quarter you have four hundred unique strings and no report. A fixed list of six to eight options forces every answer into a bucket that can be summed, which is the entire point of collecting it in the first place.
Should I measure leads per source or revenue per source?
Revenue per source, every time. Lead count rewards whichever channel produces the most phone calls, which is frequently the channel producing the least profitable work. A source that sends four calls a month that all close at $900 is worth more than one sending thirty calls that close at $140, and only a revenue view shows you that.
Why do repeat and referral customers get under-counted?
Because nobody asks a returning customer how they found you — the question feels absurd when you already have their record open. The result is that your most valuable source is systematically excluded from the report while paid channels get full credit. Tag repeat and referral jobs explicitly at booking, or your data will quietly argue for spending money to replace customers you already have.
How long a window should I look at before judging a marketing channel?
Ninety days minimum for anything other than emergency demand. A 30-day view is dominated by whatever produced urgent same-week calls and understates channels like reviews, signage, and referrals that generate work weeks or months after the first impression. Most channels that look like failures at 30 days look reasonable at 90, and a few that look excellent at 30 reverse when you count what actually closed.
How much does IntelliDrive OS cost, and does it include reporting?
$79/month flat with unlimited users; $63/month billed annually. That includes the CRM with service history and customer segmentation, sales and technician-performance reports with CSV export, daily sales SMS to owners, and scheduling and dispatch, with no per-user or per-transaction fees and no separate reporting tier to upgrade into.
Is job source tracking accurate enough to make budget decisions on?
It is directional, not accounting. Customers misremember, several touchpoints usually precede one call, and a person who saw your truck for six months before searching your name will say Google. The right use is to spot large, persistent differences between channels over a full quarter — a source doing three times the revenue of another is a real signal, while a 10% gap is noise.

Run Your Service Business on One Platform

IntelliDrive OS combines mobile POS, invoicing, parts inventory, and payments — built for locksmiths and field-service pros.

Back to all articles