Lead source attribution for home services
See which ad made the phone ring, then tie it to a booked job
Attribution built for HVAC, plumbing, roofing, and contractors. The phone is your main lead, so SourceLoop ties every call and form to the exact ad, search, or campaign that earned it, attributes to booked jobs and revenue, and pushes the wins back to your ads.
Free 7-day trial. No credit card required.
Used by 750+ marketing teams, agencies, and SaaS companies
Built for home services
Every call, form, and booked job tied to the ad that earned it
See cost per booked job by channel, roll revenue up to source, and capture leads from phone, web, and Local Services Ads, all built for service-area businesses.
Job revenue rolled up to the channel, that drove the call.
Phone, web, and chat in one place, every lead attributed.
Call tracking
Every call tied to the ad that drove it
Most home-services leads call. Connect CallRail, CallTrackingMetrics, or Invoca and every inbound call becomes an attributed lead, matched to the caller's web journey, recording attached.
- CallRail, CallTrackingMetrics, and Invoca
- Source and campaign on every call
(480) 555-0133 · Inbound call
2m 51s · recording attached
Channel attribution
Know your true cost per booked job, by channel
Multi-touch attribution on one first-party dataset. See which campaigns, keywords, and Local Services Ads drive calls and booked jobs, instead of guessing from a last click.
- UTM, GCLID, and keyword on every job
- Cost per booked job, by channel
Cost per booked job · Last 30 days
Booked jobs| Channel | Spend | Jobs | Cost per job |
|---|---|---|---|
| $3.4K | 89 | $38 | |
| $4.2K | 69 | $61 | |
| $2.6K | 35 | $74 | |
| Referral | $0 | 41 | $0 |
| Bing | $1.1K | 14 | $79 |
-
Booked jobs
Every job lead attributed
-
Phone + form
Calls tied to the ad that rang
-
30+
Ad & CRM integrations
-
Local-ready
Track every service area
Jobs dashboard
Booked jobs and revenue, live by source
Watch booked jobs and revenue roll in by channel in real time. See which sources send ready-to-book customers versus tire-kickers, all on pre-built dashboards, no GA4 setup or BigQuery joins.
- Real-time, full-fidelity, never sampled
- Jobs and revenue rolled up to source
Job funnel
See where leads drop off on the way to a job
Track the path from call or form to booked, completed, and repeat job. Slice by source so you see which channel sends leads that actually close, and where to put more spend.
- Build any job funnel in clicks, no SQL
- Source breakdown for every step
Job funnel · Last 30 days
Conversion sync
Send booked jobs back to your ads
Forward booked and won jobs to Google Ads and Meta as server-side offline conversions so smart bidding chases real jobs, not the cheapest clicks.
- Real-time, server-side via Conversions API
- No GTM, no DIY CAPI endpoint to babysit
Booked-job conversions pushed
FAQ
Home services attribution questions
Which ad actually made the phone ring?
SourceLoop captures the source, UTM, GCLID, and keyword on a visitor's first page view and keeps them through the session. When that visitor calls a CallRail, CallTrackingMetrics, or Invoca tracking number, the call is matched to their session, so you see the exact ad and campaign that made the phone ring.
Does this work with Google Local Services Ads and Google Ads?
Yes. SourceLoop captures GCLID and campaign data from Google Ads and ties calls and form leads back to the campaign and keyword. You can then push booked jobs back as offline conversions so bidding optimizes toward real work.
Can I track multiple locations or a franchise?
Yes. Track each location's site, tracking numbers, and campaigns together and compare performance per location, with each number attributed independently.
What about calls from a yard sign or truck wrap?
Those still record as leads. With no web session behind them there's no journey to attach, so they show as Direct, while calls that started on your site carry full source and campaign detail.
Can I push booked jobs back to my ad platforms?
Yes. Forward booked and won jobs to Google Ads and Meta as server-side offline conversions so smart bidding optimizes toward jobs that close, not the cheapest clicks.