Insights

How Do I Track Which Marketing Channel Is Generating My Contractor Leads?

Quick Answer

A home services contractor tracks marketing channel attribution by configuring the source field in ServiceTitan, Housecall Pro, or Jobber as a required intake input, mapping that field to a controlled list of channel values, and tying each channel value to a specific tracking phone number (via CallRail or CallTrackingMetrics), URL parameter, or ad platform conversion event. Weekly reconciliation in a BI dashboard ties spend per channel to booked-job revenue per channel. Without this infrastructure, no channel comparison is real and budget reallocation decisions are guesswork.

The 4-component infrastructure

Component 1: Source field in the CRM. ServiceTitan, Housecall Pro, and Jobber all expose a source field that can be made required at intake. The field accepts values from a controlled list, not free text.

Component 2: Tracking phone numbers. Each marketing channel gets its own phone number (CallRail or CallTrackingMetrics are the standard tools). The phone number rings to dispatch but logs the source.

Component 3: URL parameters. Form submissions capture the URL the visitor came from, including UTM parameters that identify the campaign and channel.

Component 4: BI dashboard reconciliation. A weekly script pulls source data from the CRM, joins it against ad spend data from Google Ads, LSA, and other platforms, and produces cost-per-booked-job per channel.

The controlled source value list

A typical list for a multi-location home services operator:

LSA, Google Ads Search, Google Ads PMax, GBP/Map Pack, Organic SEO, Facebook Ads, Instagram Ads, Programmatic Display, Direct/Referral, Yard Sign, Vehicle Wrap, Past Customer, Insurance Referral, Other.

The list has 12-18 values. More than 20 values produces dispatcher errors. Fewer than 10 values misses meaningful attribution detail.

Why this is the gate for every channel decision

Without source attribution, the operator cannot answer the question ‘which channel produced this booked job?’ which means every budget allocation, scaling decision, and channel kill decision is guesswork. The infrastructure has to come first. Channel discussions follow infrastructure, not the other way around.

Where this fits

The broader playbook that depends on this attribution layer is at home services lead generation. The Google Ads conversion problem this resolves is at why do my Google Ads leads not convert into booked jobs. The channel comparison framework that needs this data is at LSAs vs. Google Ads vs. organic SEO for home services. The when-to-start-Google-Ads question is at when should a home services contractor start running Google Ads.

Who this works for

Multi-location home services operators doing $5M+ in revenue, running ServiceTitan, Housecall Pro, or Jobber as the system of record, ready to commit $60,000+ per month to a full-stack engagement.

The BI dashboard that ties it all together

The source attribution data sits in the CRM. The ad spend data sits in Google Ads, LSA, Meta, and other platforms. The booked-job revenue data sits in ServiceTitan, Housecall Pro, or Jobber. The BI dashboard is the layer that joins all three together weekly.

The components of a working BI dashboard for a multi-location home services operator:

A weekly script (or scheduled query in a BI tool like Looker, Metabase, or Tableau) pulls source data from the CRM API or database export. The script joins source data against ad platform spend by campaign, against booked-job revenue by job.

The output is a per-channel cost-per-booked-job report with trailing 4-week trend, segmented by metro for multi-location operators. The CFO can audit the math weekly.

The dashboard is the single source of truth that the Monday founder call reviews. Operators with the dashboard make budget reallocation decisions monthly. Operators without it discover misallocations 6-12 months after the fact.

What good attribution looks like at scale

A $25M home services operator running 6 channels across 4 metros typically produces 200-450 booked jobs per week. The attribution dashboard tags each one by source channel, by campaign, by metro, and by service line. The aggregate analysis reveals which channels deserve scale, which to hold, and which to kill.

Without this layer, the same operator is running 6 channels blind, optimizing each one against platform metrics that do not correlate with booked-job revenue. The infrastructure is the difference between marketing as an investment and marketing as a sunk cost.

What the source field looks like at intake

The intake conversation captures source via 1-2 questions integrated into the standard intake script:

For inbound calls routed through tracking numbers, the source is captured automatically based on the number that rang. The dispatcher confirms verbally and records the source value in the CRM.

For inbound calls to the main number (where no tracking attribution exists), the dispatcher asks ‘How did you hear about us?’ and records the answer against the controlled value list. The list is short enough that the dispatcher can complete the capture in under 5 seconds.

For form submissions, the source value is captured automatically from the URL parameters that the form submission inherits.

For walk-in or other unattributed channels, the source value defaults to ‘Direct/Referral/Other’ with a brief free-text note. This bucket should remain under 15 percent of total leads at maturity; above that, the attribution infrastructure has a leak that needs fixing.

Schedule a Private Consultation. Forty-five minutes with a founder. No deck. No pitch.

Want this run on your pipeline, not just read on a blog?

Book a strategy call