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

Lead source attribution for law firms

Attribute every intake call and inquiry to the signed case it became

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, or Invoca and every inbound call becomes an attributed lead, matched to the caller's journey, recording attached for intake review.

  • CallRail, CallTrackingMetrics, and Invoca
  • 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
Local Services Ads Last sync 22s ago 86 Live

FAQ

Law firm attribution questions

How do you attribute intake calls?

Connect CallRail, CallTrackingMetrics, or Invoca 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 and Meta 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