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

Call tracking

Call attribution that ties every phone lead to a campaign

SourceLoop ties UTM parameters, click IDs (GCLID, fbclid, msclkid), referrer, and the caller's full journey to every inbound call. Connect CallRail, CallTrackingMetrics, Invoca, or Mediahawk, and see which calls were real leads, not hang-ups.

Free 7-day trial. No credit card required.

SourceLoop contact panel showing an inbound phone call lead with first-touch, last-touch, and full attribution journey

Used by 750+ marketing teams, agencies, and SaaS companies

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

Why calls go unattributed

Phone leads are the ones your reporting always loses

Call tracking platforms tell you the phone rang and which number was dialled. What they cannot tell you is which campaign produced the caller, or what the call was eventually worth.

With SourceLoop

Every tracked call joined to its campaign

SourceLoop sits on top of the call tracking platform you already run, matches each call back to the session that produced it, and follows it through to closed revenue.

  • 01 The browsing session that led to the call is joined to it
  • 02 Attribution down to campaign, ad, and keyword, not just channel
  • 03 Repeat callers resolve to one person with one first touch
  • 04 Call outcome and deal value flow back into the model
  • 05 Phone revenue counted in ROAS alongside everything else

Attribution stack

Phone call source and full attribution on every ring

Your call platform tells you a call happened. SourceLoop tells you which campaign earned it, captured on the first visit and tied to the call through to your CRM.

Call platforms

Works with your call tracking stack, CallRail, CallTrackingMetrics, Invoca, and Mediahawk.

Source capture

Every call carries the source that drove it.

Analytics

Calls booked by channel, with revenue behind each.

Full journey

See every touch before the phone rang.

CRM sync

Call lands in your CRM, attribution mapped.

Calls by channel · 30 days

Over 60s = Good
Channel Calls Good Cost / good
Paid search 214 131 $38
Google Maps 162 118 $0
Paid social 110 29 $97

Only real calls count

A 10-second hang-up is not a lead

Mark answered calls over 60 seconds as Good with one click, or let Ask AI read the transcript and decide. Your reports show cost per good call, and only good calls go back to Google Ads and Meta, so your ads chase callers who book, not callers who hang up.

  • Ready-made rule for calls over 60 seconds
  • Good calls sent back to your ad platforms

How it works

Three steps to attribute every phone call

One script tag and an API key. Calls flow in attributed.

  1. <script async src="https://t.sourceloop.ai/tracking-v3.js"></script>
    01

    Install the snippet

    Drop one script tag in your <head>. It records each visitor's source and journey across your site.

  2. 02

    Connect your call platform

    Link CallRail, CallTrackingMetrics, Invoca, or Mediahawk with an API key. SourceLoop matches each call to the caller's session.

  3. A

    (415) 555-0142

    Inbound call · 4m 12s

    • Source Google / CPC
    • Campaign brand_search
    • Channel Paid Search
    03

    Lead lands in your CRM tagged

    The call lands in HubSpot, Salesforce, Pipedrive, or your dashboard with attribution and the recording attached.

Call tracking by platform

Works with CallRail, CallTrackingMetrics, Invoca, and Mediahawk

Connect with an API key. Calls flow in attributed within seconds.

Using a different call tracking provider? Tell us and we'll prioritize it.

Customer stories

Teams that know which ads make the phone ring

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.

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
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
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

FAQ

Call tracking and attribution, FAQ

How does SourceLoop know which ad or campaign drove a phone call?

When a visitor browses your site, SourceLoop captures their source, UTMs, and click IDs and stores them in a first-party cookie. Your call tracking platform records the same visitor's session against the call. SourceLoop matches the two, so the inbound call inherits the full marketing journey the caller had before they dialed, even though they never typed anything.

Which call tracking platforms do you support?

CallRail, CallTrackingMetrics, Invoca, and Mediahawk. CallRail is the fastest to set up: connect an API key and SourceLoop registers call delivery for you automatically. The others use an API key plus a one-time webhook you paste from values SourceLoop generates for your account. More providers are added based on demand, so tell us if you use a different one.

Does SourceLoop replace my call tracking platform?

No, it complements it. CallRail, CallTrackingMetrics, Invoca, and Mediahawk handle the phone network, the tracking numbers, and the recordings. SourceLoop unifies those calls with your forms, chats, meetings, and payments into one attribution model and syncs the lead to your CRM and ad platforms. You keep your call platform and gain true cross-channel attribution on top.

Can I track GCLID and push qualified calls to Google Ads as offline conversions?

Yes. SourceLoop captures GCLID, Wbraid, Gbraid, fbclid, and msclkid on the visit, persists them through the session, and attaches them to the call. You can then send good and won calls to Google Ads, Meta, and ChatGPT Ads as conversions, so the bidding learns which calls actually turn into customers.

What about a call from a number printed on a billboard or business card?

It still records as a lead. Because there was no web session behind it, there is no journey to attach, so it shows up as Direct in your reports. Calls that started from a tracked page on your site carry full source and campaign detail.

How do I separate real calls from hang-ups and spam?

Turn on the ready-made rule that marks answered calls over 60 seconds as Good, or write your own using call length, status, or anything else on the call. Ask AI can also read the call transcript and decide. Reports and ad platforms then count only the calls that were real leads.

Are call recordings and transcripts included?

When your call tracking platform has them, the recording and transcription links are stored on the SourceLoop lead alongside the attribution data, so a rep can replay the conversation with full context on where the caller came from.

How is this different from CallRail's or Invoca's built-in attribution?

Call platforms attribute calls within their own data. They do not see the form fills, chats, meetings, and payments those same visitors generate elsewhere. SourceLoop captures the full first-party journey before the call and folds it into the same multi-touch model as every other conversion type, then syncs it to your CRM and ad platforms.

Does SourceLoop do dynamic number insertion?

No, and it does not need to. Dynamic number insertion and call recording are what call tracking platforms already do well. SourceLoop is the attribution layer above them: we take the calls your platform captures and join each one to the visit, campaign, and keyword that produced it, then follow it to closed revenue.

Which call tracking platforms do you work with?

CallRail, CallTrackingMetrics, Invoca, and Mediahawk connect natively. WhatConverts, Twilio, Aircall, RingCentral, Dialpad, JustCall, and others work too: if your platform can send a webhook when a call completes, it can be attributed. You keep the numbers, routing, and recordings where they are.

What is the best call tracking software?

It depends on what you need. CallRail suits most marketing teams, CallTrackingMetrics goes deeper on routing, Invoca is built for enterprise conversation intelligence, and WhatConverts leans towards agencies. SourceLoop is not competing with any of them, it makes whichever one you choose report on revenue rather than call volume.

How does a phone call get attributed to a campaign?

The caller browsed before they dialled. We hold that session against a profile, and when your call platform reports a completed call we match it to that visitor, so the call inherits the original campaign, ad, and keyword even if the click happened weeks earlier.

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