Marketing Attribution for Service Businesses: How to Know What's Actually Working
Three platforms claiming the same customer. One budget. Here's how to figure out who's telling the truth — and how closed-loop attribution changes the decisions you make about your ad spend.
Here's a situation that plays out in every service business running digital advertising: you end the quarter, you pull reports from Google Ads, Meta, and your SEO agency. Add up the conversions. The total is higher than your actual new customers — sometimes by a factor of two.
Every platform claimed credit for customers that only one platform actually produced. Or worse — customers that nobody's ads produced at all.
This isn't an accident. It's how the platforms are built. And until you solve it, every budget decision you make is based on bad information.
Why Platform Reporting Lies to You
Each ad platform uses its own attribution window. Meta's default is 7-day click, 1-day view. Google's default is "data-driven" — which means Google's algorithm decides how much credit to give itself. Bing has its own window. None of them talk to each other.
The result: if someone sees your Facebook ad on Monday, clicks your Google ad on Thursday, and converts on Friday — all three platforms claim that customer. Facebook claims the view. Google claims the click. Your organic SEO team claims the keyword that showed up in the referrer data. Your spreadsheet says you acquired three customers. You actually acquired one.
This is attribution inflation, and it's endemic in service business marketing. The numbers look good. Budget feels justified. Meanwhile, you have no idea which channel actually produced the customer — so you can't make a rational decision about where to concentrate spend.
The Real Story Behind One Engagement
We built a closed-loop attribution system for a pest control business operating across three Texas markets. Before the system was in place, they were running Google Ads, Facebook Ads, and a Bing campaign alongside organic SEO — with no reliable way to connect ad spend to actual CRM revenue.
Once attribution was connected, the picture was different from what the platform dashboards showed:
- A Facebook campaign that looked healthy in Meta's dashboard was running at 1.04× ROAS when matched against actual customers — barely breaking even
- A Bing campaign that had been starved of budget (because Bing "doesn't matter") was running at 10× ROAS on actual CRM revenue
- Google Business Profile leads were converting to customers at 66% — the highest-converting channel in the entire stack, and the one with no direct ad spend
Budget was reallocated based on actual data. Not platform dashboards. The same total budget produced +98.2% new customer acquisition year-over-year.
What Closed-Loop Attribution Actually Means
"Attribution" is a word that gets thrown around loosely. Closed-loop attribution means something specific: every marketing touchpoint — every ad click, every organic session, every GBP call — is tracked through to a customer record in your CRM, and that customer record is matched to the revenue they've generated.
The "closed loop" is the connection between what you spent to acquire a lead and what that lead eventually became as a customer. Without it, you know your cost-per-lead. With it, you know your cost-per-acquired-customer and your cost-per-dollar-of-revenue.
Building it requires a few components working together:
- UTM discipline — every link in every ad tagged with source, medium, campaign, and content parameters. Sounds basic. Most businesses have inconsistent UTMs and partial data.
- Click ID capture — GCLIDs from Google, FBCLIDs from Meta, MSCLKIDs from Bing. These need to be captured server-side before ad blockers strip them from the browser request. If you're relying on client-side JavaScript for this, you're losing 20–35% of your click ID data.
- Form tracking — when a form is submitted, the lead record needs to carry the session data (UTMs, click IDs, referrer, channel) so that the lead can be attributed to its source in the CRM.
- CRM matching — leads that become customers need to be matched back to their marketing source. For service businesses using software like FieldRoutes, ServiceTitan, or Jobber, this requires connecting the form submission to the CRM job record.
The Data You Actually Need
Once the system is built, you stop asking "how many leads did Google Ads produce this month?" and start asking:
- What is my cost per acquired customer, by channel?
- What is the lifetime value of customers acquired from each channel?
- What is my lead-to-customer conversion rate by channel? (GBP leads convert differently than paid search leads. Knowing this changes how you evaluate channels.)
- Which campaigns are producing recurring subscribers versus one-off jobs?
- What is my revenue-per-dollar-spent, by channel — not clicks, actual revenue?
These questions sound obvious. The reason most businesses can't answer them is that the data lives in three different systems — the ad platforms, the analytics tool, and the CRM — and nobody has connected them.
The Attribution Audit
The fastest way to understand where your attribution is broken is to run a simple test: add up platform-reported conversions across all your channels for last month. Compare that to the number of new customers in your CRM for the same period. The difference is your attribution gap.
For most service businesses running multiple paid channels, the gap is 30–70%. Meaning the platforms are claiming 30–70% more customers than you actually acquired. Every budget decision made on that data is wrong by approximately that magnitude.
The question isn't whether your attribution is broken. The question is by how much — and which channels are actually producing revenue.
What to Do About It
The answer is not to turn off your ads and wait. It's to build the measurement layer that lets you optimize them.
Start with your form: does it capture UTM parameters and pass them to your CRM? If not, that's the first fix. Every lead from this point forward should arrive in your CRM with its source attached.
Then connect your CRM to your actual revenue. The form lead shouldn't just appear as a "lead" — it should eventually update to "customer" with a job value, and that job value should trace back to the marketing source.
Once that foundation is in place, run one month of data. Compare what the platforms report to what the CRM shows. You'll have a real attribution picture for the first time — and a clear answer to which channels are worth investing in.
That's the audit. It's two weeks of setup. The decisions it enables pay for themselves inside the first quarter.
This is exactly what our attribution modeling service builds — the closed-loop system connecting every channel to CRM revenue. The NoCo case study shows what happened when we applied it to a three-market pest control business.
Want this applied to your business?
Every engagement starts with an attribution audit. Two weeks. Fixed price. One clear deliverable.