Revenue attribution connects each closed, paid job back to the marketing channel that produced the lead. A lead count only tells you who raised a hand. For a service business, the number that matters is how much revenue each channel's leads turned into.
Here is the problem in plain terms. Your ad platform says a campaign drove 100 leads last month. Your office manager says the phone was busy. Your bank account says the month was average. All three can be true at once, and none of them tells you which channel paid for itself. TruLata is an AI marketing platform for service businesses. It counts leads from your own forms, keeps the source on each one, and lets your team mark which of those leads became jobs.
What is revenue attribution, and why isn't a lead count enough?
Revenue attribution traces income back to its marketing source: this job came from a Google Ads search, that one from an organic listing, the next from a referral.
Lead counts fail as a scorecard for three reasons:
- Leads vary in quality. A channel that produces many tire kickers, out-of-area requests, or price shoppers can look strong on volume and still lose money.
- Platforms count generously. Ad platforms record conversions by their own rules. A thank-you page that loads twice, or a call that lasts four seconds, may count as a lead in their report.
- Close rates differ by channel. Customers who come from a neighbor's referral often close at a different rate than those who clicked an ad at midnight. The lead count hides that difference.
Once you attribute revenue instead of leads, budget decisions get easier. You stop asking which channel is busiest and start asking whose customers actually pay.
Why does a lead that closes matter more than one that doesn't?
Every lead costs something even if it never books: ad spend to generate it, office time to answer it, an estimate visit to quote it. A lead that doesn't close carries all of that cost and returns nothing.
Consider two channels over the same month. Channel A sends 100 leads, and 5 become jobs. Channel B sends 30 leads, and 9 become jobs. A lead report crowns Channel A. A job report shows Channel B produced nearly twice the jobs from less than a third of the volume, with far less wasted office time. Many service businesses have a Channel A they are overfunding and a Channel B they are underfunding, and the only way to see it is to follow leads all the way to the invoice.
Which numbers should service businesses track?
You don't need a complex model to start. Five numbers, tracked by channel, cover most of what an owner needs to decide where the next marketing dollar goes.
1. Leads by source
Count leads where they actually arrive, starting with your website forms. This is the denominator for everything else, so it has to be honest. Counting from the form rather than the ad platform removes double counts and platform-defined conversions that never reached your inbox.
2. Lead-to-job rate
Divide jobs booked by leads received, per channel. This one ratio often reorders your channel rankings more than any other number.
3. Cost per lead
Spend divided by leads. It is a useful early signal, but on its own it rewards cheap, low-quality leads.
4. Cost per job
Spend divided by jobs that closed. This is where marketing stops being a guess, because it ties spend directly to work that went on the schedule.
5. Revenue per channel
Total revenue from jobs attributed to each channel. Compare it to that channel's spend and you have a working measure of return.
How do you track cost per job without a data team?
One discipline matters above the rest: every lead must carry its source from the moment it arrives until the job is paid or lost. Here is a practical sequence.
Capture the source at the moment of contact
Web forms should record which page, campaign, and referring channel brought the visitor in. If a lead arrives without a source, it can never be attributed later. With every lead, its source and its outcome counted from your own forms, the source is recorded on your side, not reconstructed from an ad platform's estimate.
Record the outcome on every lead
Each lead needs a final status: booked, quoted and lost, not a fit, or no response. This is the step most businesses skip, and it is the step that makes revenue attribution possible. Make it part of the office routine, the same way logging a payment is. If your team works out of a field service tool, connecting it helps: TruLata can read jobs and quotes beside your marketing so the outcome sits next to the source.
Match spend to the same channels
Your channel names in spend reports must match your channel names in lead records. "Google Ads," "Google Search Ads," and "PPC" should not be three separate rows. Pick one label per channel and hold to it.
Review on a fixed cadence
Weekly for lead volume and response, monthly for cost per job, quarterly for budget shifts. Give a new channel enough time to produce closed jobs before judging it, since service jobs often take days or weeks to move from inquiry to invoice.
Why do ad platform reports disagree with your actual jobs?
Ad platforms report on what they can see: impressions, clicks, and the conversions their tags record. They cannot see whether your technician closed the job on site, whether the customer paid, or whether the "lead" was a vendor pitching you. Each platform also tends to credit itself for any conversion it touched, so adding up platform reports often produces more conversions than you received.
That is not a reason to ignore platform data. Treat it as one input, and make your own lead and job records the source of truth. Our piece on why platform reports don't show what closed the job walks through the common mismatches.
Which attribution model should a service business use?
An attribution model decides how credit is split when a customer touched several channels before booking. A homeowner might see a search ad, read your reviews, visit your site twice, and then call on a neighbor's recommendation. Who gets the credit?
- First touch credits the channel that introduced the customer. Useful for judging awareness spend.
- Last touch credits the final interaction before the lead. Simple, but it overrates branded search and underrates whatever created the demand.
- Multi touch spreads credit across interactions. More complete, but it needs cleaner data to be trustworthy.
For most local service businesses, start with the source recorded on the lead itself, plus a "how did you hear about us?" question asked by the office on every booked job. That pairing catches referrals and word of mouth that no tracking pixel will. As your data matures, a multi touch view becomes worth the effort, especially for higher-ticket work with longer decision windows.
How does revenue attribution improve marketing ROI for contractors?
Returns improve less from finding new channels and more from moving budget between the channels you already run. Revenue attribution makes those moves defensible.
Cut the volume traps
Channels with high lead counts and low lead-to-job rates are the first place to trim. Lower their spend or tighten targeting, then watch whether jobs actually drop. Often they don't.
Feed the closers
Channels with strong lead-to-job rates and healthy revenue per lead deserve more budget, up to the point where cost per job starts rising.
Fix the handoff, not only the ad
If a channel's leads close well when answered fast and poorly when answered late, the problem is response time, not the channel. Check close rate by response speed before cutting a channel that might be fine.
Watch service mix
Some channels bring small repair calls, others bring replacements and installs. Revenue per channel catches this where job counts don't. A channel with fewer jobs but larger tickets may be your most valuable one.
What does revenue attribution look like day to day?
The goal is one place where an owner can see spend, leads, outcomes, and revenue together without exporting four reports into a spreadsheet. That is how TruLata works: it connects to the accounts you already use, pulls the data when you open the screen, and stamps it with when it was pulled so you know how fresh it is.
A morning check looks like this: yesterday's leads by source, which ones the team marked as booked, ad spend and cost per lead, and payments live from Stripe. When a channel's cost per job drifts upward, you see it in days rather than at the end of the quarter. It all sits on your TruLata dashboard, so the conversation with your team moves from "were we busy?" to "which channel filled the schedule, and what did it cost us?"
What mistakes break revenue attribution?
- Leaving outcomes blank. Without booked or lost status, you only have lead tracking, not revenue attribution.
- Trusting a single source. Platform conversions and job records should be cross-checked, not taken on faith.
- Judging too soon. A channel judged after one slow week may be cut before its jobs land.
- Ignoring referrals. Untracked word of mouth gets credited to whatever ad the customer clicked last. Ask on every job.
- Inconsistent channel names. Mismatched labels quietly split one channel's results into several rows.
Ready to see which channels actually bring in jobs?
TruLata plans are flat monthly and month to month with no setup fee: Starter is $400 a month, Launch is $650, and Growth is $1,200. You can open the live demo first, or sign up and connect your accounts to see your own cost per job by channel.





