Skip to content New SourceLoop MCP: chat with your attribution data in Claude, ChatGPT & Cursor
SourceLoop

Lead source attribution for law firms

Marketing attribution tool for law firms

Legal clicks are among the most expensive in marketing, so every intake call has to be accounted for. SourceLoop ties each call and case inquiry to the channel that earned it, tracks cost per signed case, and pushes signed cases back to your ads.

Free 7-day trial. No credit card required.

SourceLoop dashboard showing law firm intake calls attributed by practice area

Used by 750+ marketing teams, agencies, and law firms

  • Bennett
  • Vectivo
  • Siite
  • Huemor
  • Infludata
  • Wonsulting
  • Orchly
  • PacificCrest
  • ReachTopCPA
  • BrassAnimals
  • TechCXO

Built for law firms

From the first click to the signed case, attributed to the channel that earned it

Cost per signed case by channel, case value rolled up to source, and call, form, and chat intake captured, all built for high-value legal matters.

Cost per signed case

What each channel pays, per case that actually signs.

Case value by source

See which channels send matters, worth more than the click.

Intake sources

Calls, forms, and chats, captured as one attributed inquiry.

Channel attribution

See which campaigns earn real cases

Multi-touch attribution on one first-party dataset, sliceable by practice area. Know which keywords and campaigns drive signed cases, not just clicks on a costly legal keyword.

  • UTM, GCLID, and keyword on every inquiry
  • Cost per signed case, by practice area
Learn more about attribution

Cost per signed case · Last 90 days

Signed
ChannelSpendSignedCost/case
Google Ads$33K78$420
Meta$18K30$610
Local Services$13K46$280
RFReferral$021$0
Email$2K9$220

Call tracking

Attribute every intake call

Most case inquiries start with a call. Connect CallRail, CallTrackingMetrics, Invoca, or Mediahawk and every inbound call becomes an attributed lead, matched to the caller's journey, recording attached for intake review.

  • CallRail, CallTrackingMetrics, Invoca, Mediahawk
  • Source and campaign on every call
Learn more about call tracking

(305) 555-0162 · Intake call

7m 16s · recording attached

First touch Google · CPC · car_accident_lawyer
Journey before the call
Google Ads click 3d ago
Visited /personal-injury 3d ago
Called for a consult 1d ago
Booked consult just now

Intake funnel

See where matters drop between lead and signed

Build the intake funnel: lead, qualified, consult, signed. Slice by source so you can see which channel sends matters that actually sign, and where qualified cases stall before intake closes them.

  • Build any intake funnel in clicks, no SQL
  • Source breakdown for every step
Learn more about funnels

Intake funnel · Last 30 days

1,240Lead
770Qualified
↓ 38%
420Consult
↓ 45%
198Signed
↓ 53%

Case-value dashboard

Track signed cases and cost per case in one view

A live dashboard of signed cases by source, average case value, and cost per signed case. Pre-built and tied to your intake outcomes, so you can see which channels send matters worth the spend.

  • Signed cases and cost per case, real-time
  • Case value rolled up to the channel
Learn more about dashboards
Signed cases by source Live
Signed 84 +12%
Cost/case $390 -8%
Trend
By source
Google Ads 39
Local Services 23
Meta 12
Referral 10

Conversion sync

Send signed cases back to your ads

Forward qualified and signed cases to Google Ads and Meta as server-side offline conversions so bidding optimizes toward matters that sign, not raw form fills.

  • Real-time, server-side via Conversions API
  • No GTM, no DIY CAPI endpoint to babysit
Learn more about server-side conversion tracking

Signed-case conversions · pushed back

Google Ads Last sync 8s ago 198 Live
Meta CAPI Last sync 12s ago 112 Live
ChatGPT Ads Last sync 20s ago 25 Live
TikTok Events API Coming soon Coming soon

Lead quality

Only real cases count, not every inquiry

Spam, wrong practice areas, and 10-second calls are marked before they reach intake reports. Rules you set, like practice area, location, or a call over 60 seconds, or Ask AI reading the case description, mark each lead Good, Not a fit, or Spam. Cost per lead becomes cost per real case, and only real ones go back to your ads.

  • Rules for practice area, location, and call length
  • Spam never reaches your reports, CRM, or ads
Learn more about lead quality

Intake today

Rules on
LeadAsked forQuality
Case review formCar accident, injuredGood
Call, 7:21Workplace injuryGood
Case review formParking ticketNot a fit
Contact formMarketing offerSpam

Customer stories

Firms that know where every consultation started

From agencies and SaaS companies to clinics and law firms, teams use SourceLoop to trace every lead and every dollar back to the campaign that earned it.

Professional services

Most of our leads showed up as Direct in the CRM. SourceLoop now gives us the full journey behind every inquiry, chat and call, from the first search to the booked consultation.

Tom Achterberg Growth Lead, Fernhill Legal
More consults per dollar
27%
Lead channels in one report
4
Agency

We run paid media for 14 clients. Every lead now lands in their CRM with the campaign, keyword and ad behind it, so we can prove our impact with numbers clients can check for themselves.

Maya Lindqvist Head of Paid Media, Halden & Wright
Lower cost per lead
41%
Client accounts tracked
14
B2B SaaS

We started sending only qualified demos back to Google Ads as conversions. Within six weeks, paid search was filling our calendar with buyers who fit our ICP, and close rates followed.

Marco Bellini VP of Growth, Ploomly
SQLs from paid search
+38%
Demo-to-close rate
2.1x
Clinics

Half our new patients book by phone. Multi-touch attribution on every call showed us which ads start a booking and which ones close it, so we cut the two channels that did neither.

Amara Johnson Marketing Director, Cedar Row Dental
Of bookings now attributed
63%
Monthly spend reallocated
$9k

FAQ

Law firm attribution questions

How do you attribute intake calls?

Connect CallRail, CallTrackingMetrics, Invoca, or Mediahawk and every inbound call becomes an attributed lead alongside your form and chat inquiries. SourceLoop matches the call to the caller's web session, so an intake call carries the same source and campaign as an online inquiry. Offline calls still record, tagged as Direct.

Can I see ROI per practice area?

Yes. Slice attribution by landing page, campaign, and keyword so you can compare cost per signed case across practice areas and shift budget to the matters that pay.

Legal clicks are expensive, how does this help?

Because every dollar matters, SourceLoop ties each costly click through to the call or inquiry it produced and on to whether the case signed. You stop optimizing toward cheap clicks and start optimizing toward signed cases.

Does it work for multi-location firms?

Yes. Track each office's site, numbers, and campaigns together and compare performance per location, each number attributed independently.

Can I push signed cases back to my ad platforms?

Yes. Forward qualified and signed cases to Google Ads, Meta, and ChatGPT Ads as server-side offline conversions so smart bidding optimizes toward matters that sign, not raw form fills.

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta