Setting Up Tracking for Home Service Lead Gen

Track calls, forms, and ROI by channel for plumbers, HVAC, and roofers. Call tracking, GA4 events, UTM rules, and CRM fields that make optimization honest.

If you cannot say which channel booked last month’s jobs, you cannot scale what works. Tracking does not need enterprise software — it needs discipline at the first phone ring.

At a Glance

  • Track: Source, lead time, first response time, quoted, booked, revenue
  • Minimum tools: Tracking phone + CRM or Google Sheet + GA4 on website
  • Review: Every Sunday — Metrics dashboard or your sheet
  • Goal metric: Cost per booked job by source, not vanity clicks
  • Pair with: ROI calculator for spend scenarios

What to Track on Every Lead

FieldWhy
Date/time receivedSpeed-to-lead analysis
SourceLSA, GBP, Google Ads, Meta, referral, yard sign
Service requestedQuote accuracy
ZIP / cityService area fit
Quoted amountPipeline value
Booked Y/NTrue conversion
Revenue (if booked)ROI by channel

Train whoever answers the phone to ask: “How did you find us?” and log it before hanging up.

Call Tracking Setup

Option A — Simple (free / low cost)

  • Google Voice or secondary line for GBP + ads only
  • Main office line for repeat customers
  • Weekly: compare call volume on tracking line vs CRM new leads

Option B — Scalable (paid)

  • CallRail, CallTrackingMetrics, or ServiceTitan/Jobber native tracking
  • Dynamic number insertion on website by traffic source
  • Record calls ≥60 seconds for coaching (Scripts)

Placement rules:

  • GBP → dedicated tracking number (shown on profile)
  • LSA → use Google’s provided number; do not swap arbitrarily
  • Google Ads call extensions → tracking number with conversion action
  • Website header → same number as GBP or DNI pool

Website & Form Tracking

  1. Install GA4 via site tag or Google Tag Manager (production site already supports ga4MeasurementId in Hugo builds).
  2. Mark conversions:
    • Form submit (thank-you page or event)
    • Click-to-call on mobile (tel: link clicks)
    • Optional: booked job event from CRM webhook later
  3. Add UTMs to every non-Google link you control:
https://yoursite.com/ac-repair?utm_source=facebook&utm_medium=paid_social&utm_campaign=summer_tuneup

Keep a one-page UTM cheat sheet in your marketing folder.

Channel-Specific Notes

ChannelWhat to verify
LSALead export + dispute log; match to CRM
Google AdsConversion actions for calls (60s+) and forms
MetaPixel or CAPI + lead form CRM sync
GBPSeparate tracking number; profile insights vs CRM
Organic / referralAsk on every call; use “Other” sparingly
Structured How-To (great for SEO & AI answers)
  1. Create a Google Sheet or CRM pipeline with the fields table above.
  2. Provision one tracking phone number for GBP and website.
  3. Put that number on GBP, site header, and printed materials — keep ads platform numbers per their rules.
  4. Add GA4 to your site; confirm realtime shows your visit.
  5. Create one UTM link for your next email or social post as a test.
  6. Log every lead for 7 days without exception — including “walk-in” and referrals.
  7. Sunday: calculate CPL and cost per booked job per source in Metrics.

Weekly Review Template

Week of [date]
Spend: LSA $___ | Google Ads $___ | Meta $___
Leads: LSA ___ | Ads ___ | GBP ___ | Other ___
Booked: LSA ___ | Ads ___ | GBP ___ | Other ___
Cost per booked: [channel] = spend ÷ booked
Action: scale / hold / cut [channel]

Common Mistakes

  • Different phone numbers on GBP, website, and truck — splits SEO and confuses customers
  • Counting “leads” without booked jobs — optimizes the wrong thing
  • No lead source field in CRM — defaults to “phone” for everything
  • Ignoring LSA disputes — inflates reported CPL

Quick Win

Add a required “How did you hear about us?” dropdown in your website form and CRM today. Five options max: Google search, Google LSA, Facebook/Instagram, Referral, Other.

Next Steps