Marketing Attribution & ROI

Marketing Attribution for Home Service Companies: Why It's Hard, How It Works, and How to Set It Up

You're spending money on Google Ads, LSAs, Facebook, Angi, mailers, and yard signs. Some of them work. Some don't. But you can't tell which is which — because marketing attribution for home service companies is fundamentally harder than e-commerce. This guide explains why, breaks down the attribution models in plain English, and shows you how to build a system that actually tracks revenue by channel.

What Is Marketing Attribution in Plain English?

Marketing attribution answers one question: which marketing channel brought in this booked job? Not just which channel generated a lead or a phone call — which channel led to actual scheduled work and collected revenue. It connects every dollar you spend on advertising to the jobs and revenue it produces.

For an e-commerce business, attribution is relatively simple: a customer clicks an ad, lands on a product page, and buys. The entire journey happens online, tracked by cookies and pixels. For home service contractors, the journey crosses multiple systems and channels — often over days or weeks — making attribution significantly harder.

True attribution goes beyond lead counting. Your marketing agency says they generated 50 leads. Great. How many became booked jobs? What revenue did they produce? What was your cost per booked job? If your agency can't answer those questions, they're measuring activity — not results.

  • Attribution connects marketing spend to actual booked jobs and revenue
  • It answers 'which channel makes us money?' not just 'which channel generates calls?'
  • Lead counting is not attribution — 50 leads could produce 5 jobs or 30 jobs
  • The metric that matters is cost per booked job by channel, not cost per lead
  • Without attribution, you're making marketing budget decisions on gut feel

Why Is Attribution Harder for Home Service Than E-Commerce?

Home service attribution is harder because phone calls are the primary conversion (not online checkout), customers touch multiple channels over days before calling, CSR data entry creates noise, offline channels like mailers and yard signs can't be tracked with pixels, and big-ticket jobs have long sales cycles that span multiple customer touchpoints.

The phone call problem is the biggest factor. In e-commerce, the conversion happens online where pixels and cookies can track the entire journey. In home service, 60-80% of conversions are phone calls — and a phone call doesn't carry the same tracking data as a web form submission. You need separate systems (call tracking) to bridge this gap.

The multi-channel problem compounds it. A homeowner gets your mailer on Monday. They see your Facebook ad on Wednesday. On Friday, they Google your company name and click the Google Maps listing to call. Your CRM credits 'Google' because that's the last thing they touched. Your mailer and Facebook — which actually started the journey — get zero credit. This distortion repeats across hundreds of leads, making it impossible to know where your money is actually working.

  • Phone calls: 60-80% of conversions happen by phone, not online forms
  • Multi-channel journeys: customers touch 3-7 channels before calling
  • CSR data entry: 'how did you hear about us?' answers are wrong 30-50% of the time
  • Offline channels: mailers, yard signs, and truck wraps have no pixel tracking
  • Long sales cycles: HVAC installs and remodels can take weeks from first contact to close
  • Multiple decision-makers: homeowner may research while spouse calls to book

What Are the Different Attribution Models?

The three main models are first-touch (credit the channel that started the journey), last-touch (credit the channel before conversion), and multi-touch (distribute credit across all channels involved). For home service, first-touch over-credits awareness channels, last-touch over-credits Google, and multi-touch is most accurate but hardest to implement.

Here's a real example: A homeowner sees your Facebook ad (first touch). Three days later, they Google your company name (middle touch). They click your Google Maps listing and call (last touch). Who gets credit? First-touch says Facebook. Last-touch says Google. Multi-touch says both contributed.

Most CRMs use last-touch by default — whatever the CSR tags or whatever tracking number rang gets 100% credit. This systematically over-credits Google (because people search your company name as the last step) and under-credits awareness channels like Facebook, mailers, and yard signs that started the journey. It's why many contractors think Facebook 'doesn't work' — it works, but last-touch attribution makes it invisible.

  • First-touch: credits the channel that started the customer journey (over-credits awareness)
  • Last-touch: credits the final channel before conversion (over-credits Google, under-credits Facebook)
  • Multi-touch: distributes credit across all channels involved (most accurate, hardest to implement)
  • Linear: equal credit to every touchpoint (simple but treats yard sign visit same as Google Ad click)
  • Time-decay: more credit to touchpoints closer to conversion (good compromise for most contractors)
  • Most CRMs default to last-touch, which is why Google gets credit for everything

What Does the Home Service Attribution Stack Look Like?

A complete attribution stack has five layers: call tracking with dedicated numbers per channel, UTM parameters on all digital campaign links, properly configured CRM lead source fields, analytics connecting website sessions to phone calls and form submissions, and an attribution layer that ties ad spend to booked revenue across every channel.

Call tracking is the foundation. Without tracking numbers, you can't automatically attribute phone calls to marketing channels. Services like CallRail, ServiceTitan's built-in tracking, or Rivet assign unique phone numbers to each channel — so when a homeowner calls the number on your mailer vs the number on your Google Ad, you know exactly which channel drove that call.

UTM parameters are the digital equivalent. Adding UTM tags to every ad link, email link, and campaign URL lets you track exactly which campaign, ad group, and keyword brought someone to your website. Jobber captures UTMs automatically on form submissions. ServiceTitan uses tracking campaigns. Either way, UTMs are essential for digital channel attribution.

  • Layer 1: Call tracking numbers — one per channel, auto-attributes phone calls
  • Layer 2: UTM parameters — tags every digital link with source, medium, campaign, keyword
  • Layer 3: CRM lead sources — properly configured to match your channels (not generic categories)
  • Layer 4: Analytics — connects website sessions to calls and forms using visitor-level data
  • Layer 5: Attribution layer — ties ad spend to CRM revenue across the full journey
  • Missing any layer creates blindspots that distort your marketing decisions

What Are the Most Common Attribution Mistakes Contractors Make?

The five most common mistakes: relying on 'how did you hear about us?' as your primary data source, crediting Google for everything because it's the last click, not tracking offline channels at all, measuring cost per lead instead of cost per booked job, and letting your marketing agency define success using their metrics instead of yours.

The 'how did you hear about us?' problem is the most widespread. CSRs are busy dispatching, booking, and handling customer issues. Asking one extra question and accurately recording the answer is not their priority — and homeowners don't think about their marketing journey before answering. 'Google' is the default answer because that's usually the last thing they remember, even if a Facebook ad or mailer started the journey.

The agency misalignment problem is more subtle but equally damaging. Your marketing agency reports 'we generated 50 leads at $80 each.' Sounds good. But if only 15 of those leads became booked jobs, your real cost is $267 per booked job — not $80. Agencies report cost per lead because that's what they can measure. You need cost per booked job because that's what determines profitability.

  • Mistake 1: Trusting 'how did you hear about us?' — wrong 30-50% of the time
  • Mistake 2: Crediting Google for everything (last-click default in most CRMs)
  • Mistake 3: Not tracking offline channels (mailers, yard signs, truck wraps) at all
  • Mistake 4: Measuring cost per lead instead of cost per booked job
  • Mistake 5: Letting your agency define success metrics instead of using revenue-based ones
  • Fix: Layer multiple tracking methods and measure what actually matters — revenue per channel

How Do You Get Started With Attribution?

Start with four steps: set up call tracking numbers for each marketing channel, add UTM parameters to all your digital campaign links, properly configure your CRM lead source fields to match your actual channels, and connect everything with an attribution layer that ties ad spend to booked revenue. You can do the first three yourself; the fourth is where Rivet comes in.

Steps 1-3 are foundational work you can do this week. Call tracking numbers from CallRail or your CRM's built-in tracking take an hour to set up. UTM parameters can be added to your ad links using Google's Campaign URL Builder. And cleaning up your CRM lead source fields is a 30-minute configuration task. We have step-by-step guides for both ServiceTitan and Jobber.

Step 4 is where it gets complex — and where most contractors need help. Connecting ad platform cost data, call tracking data, website analytics, and CRM revenue data into a unified attribution system requires integrations, data mapping, and ongoing maintenance. This is exactly what Rivet builds: the attribution layer that sits on top of your existing tools and shows you which channels produce profitable jobs.

  • Step 1: Set up call tracking numbers for each marketing channel (CallRail or CRM-native)
  • Step 2: Add UTM parameters to all digital campaign links (Google's URL Builder)
  • Step 3: Configure CRM lead sources properly (specific categories, not generic)
  • Step 4: Connect everything with an attribution layer (Rivet) for full-funnel revenue tracking
  • Steps 1-3: do this week, 2-3 hours total
  • Step 4: Rivet handles the complex integration and builds your ROI dashboard

What Does a Complete Attribution Dashboard Look Like?

A complete attribution dashboard answers five questions at a glance: which channels produce the most booked jobs per dollar spent, which keywords drive the highest-value jobs, what's the conversion rate from lead to booked job by channel, where am I wasting money on channels that generate calls but not revenue, and how are my channels trending over time.

The core metric is cost per booked job by channel. Not cost per click, not cost per lead, not cost per call — cost per booked job. This is the number that tells you whether a marketing channel is profitable. When you can see that Google Ads costs $217 per booked job and mailers cost $167 per booked job, the budget decision makes itself.

The secondary view is the multi-touch journey analysis. This shows you which channels work together — how Facebook awareness drives Google searches, how mailers drive website visits, and how yard signs drive 'Google' calls. Understanding these relationships prevents you from cutting an awareness channel and watching your conversion channels collapse a month later.

  • Cost per booked job by channel — the primary decision metric
  • Revenue by channel and campaign — total dollars generated per channel
  • Conversion rate by channel — which channels produce the best quality leads
  • Multi-touch journey map — how channels work together (Facebook drives Google, etc.)
  • Trend analysis — is each channel improving or declining over time
  • Keyword and creative-level detail — which specific ads and search terms produce jobs

Key Takeaways

  • Attribution answers 'which marketing makes us money?' — not just 'which generates calls'
  • Home service attribution is harder than e-commerce: phone calls, multi-touch journeys, offline channels, CSR errors
  • Most CRMs use last-touch attribution, which systematically over-credits Google and under-credits awareness channels
  • The metric that matters is cost per booked job by channel — not cost per lead or cost per call
  • Start with call tracking + UTMs + CRM cleanup, then connect everything with an attribution layer like Rivet

Frequently Asked Questions

Do I need to spend a lot on marketing to benefit from attribution?

If you're spending more than $2,000/month on marketing across multiple channels, attribution will save you money by identifying which channels produce profitable jobs and which are burning cash. Most contractors find 15-30% of their marketing spend is either wasted or misallocated — attribution pays for itself by redirecting that budget.

Can I do marketing attribution myself without a tool like Rivet?

You can set up the foundations yourself: call tracking, UTM parameters, and CRM lead source configuration. But connecting everything into a unified dashboard that ties ad spend to CRM revenue across all channels requires integrations and ongoing data maintenance that most contractors don't have time to manage. That's the hard part — and it's what Rivet does.

What's the difference between attribution and analytics?

Analytics tells you what happened on your website: how many visitors, which pages they viewed, how long they stayed. Attribution tells you what happened across the entire customer journey: which ad they saw, which channel they called from, whether that call became a booked job, and how much revenue it generated. Analytics is one piece of the attribution puzzle.

How long does it take to get reliable attribution data?

You'll see initial insights within the first 2-4 weeks of setting up attribution tracking. Reliable trend data — enough to confidently shift budget between channels — typically takes 60-90 days. The longer you track, the more confident the data becomes, especially for identifying multi-touch journey patterns.

Written by

MS

Matt Sitek

Founder, Rivet

Metro Detroit home service operator turned automation specialist. Built and automated his own contracting business before founding Rivet to help other contractors eliminate admin work and capture more revenue.

Serving Metro Detroit, Michigan -- 313 / 248 / 586

This Is Exactly What Rivet Does

We connect your ad platforms, call tracking, analytics, and CRM into a single attribution dashboard that shows true cost per booked job by channel. Book a free ROI audit and we'll show you where your attribution is breaking.