How to track lead source in CallTrackingMetrics
Attribute every CallTrackingMetrics call to the marketing channel behind it. Connect with your API keys, point CTM's webhook at SourceLoop, and each call lands with source, UTMs, and the caller's full journey.
On this page
- What SourceLoop captures from CallTrackingMetrics
- Before you start
- Step 1: Install the SourceLoop tracking script
- Step 2: Get your API keys from CTM
- Step 3: Connect CTM in SourceLoop
- Step 4: Point CTM’s webhook at SourceLoop
- Step 5: Verify it’s working
- Where to see CallTrackingMetrics calls in SourceLoop
- Contacts Hub
- Attribution dashboard
- Funnel reports
CallTrackingMetrics is built for teams that route, score, and report on a lot of calls. The one thing it usually can’t tell you on its own is which marketing channel earned each call before your phone system ever picked it up.
SourceLoop adds that layer. Once connected, every call to a CTM tracking number becomes a lead carrying its first-touch and last-touch source, the UTMs, the landing page, and the caller’s full path across your site. CTM differs from CallRail in one way: it has no API for registering call delivery, so you point its webhook at SourceLoop by hand after connecting. SourceLoop generates the exact address and payload for you, so it stays a copy-and-paste job.
Five steps, roughly ten minutes.
What SourceLoop captures from CallTrackingMetrics
For every call to a CTM tracking number, SourceLoop records a lead with Type: Call that carries:
- First-touch and last-touch source of the calling visitor
- UTM parameters from the landing URL (source, medium, campaign, content, term)
- The full pre-call journey: pages browsed and ads clicked before the call, when the caller visited your site first
- Caller details: phone number, name, and city or state when CTM provides them
- Call facts: duration and call status
- Recording and transcription links, when CTM has them
- Tag and status changes you make to the call afterward in CTM
Before you start
You’ll need:
- A SourceLoop workspace (free trial)
- The SourceLoop tracker installed on the pages where your CTM numbers appear
- A CallTrackingMetrics account with a tracking number live on your site
- Access to CTM’s API Integration settings and permission to add a webhook in CTM
- Admin or Owner role in SourceLoop
Step 1: Install the SourceLoop tracking script
Each call’s attribution comes from the browsing session that preceded it, so the tracker has to be live wherever your CTM numbers show. Already installed it for form, meeting, or chat tracking? You’re set, move to Step 2.
Otherwise, add the SourceLoop snippet across your site. See Install the SourceLoop tracking pixel.
Step 2: Get your API keys from CTM
- In CallTrackingMetrics, open Settings -> Account -> API Integration.
- Copy the Access Key.
- Click Show Secret Key and copy the Secret Key.
- If your account is one of several your login can reach, note your Account ID (the number after
/a/in the CTM dashboard URL).
Step 3: Connect CTM in SourceLoop
- Sign in to SourceLoop and open Setup -> Phone.
- Click Connect on the CallTrackingMetrics card.
- Paste the Access Key and Secret Key, and the Account ID if you noted one.
- Click Connect.
SourceLoop validates the keys against your CTM account. Once they check out, the card expands a Setup required in CallTrackingMetrics panel, your instructions for the next step.
Step 4: Point CTM’s webhook at SourceLoop
The Setup required panel gives you two things generated for your connection: a webhook address and a recommended payload that tells CTM which call fields to send.
Follow the numbered steps in that panel to add a webhook inside CTM, paste in the address, drop in the payload, and save. Because the values are specific to your workspace, copy them straight from the panel rather than typing them out.
Step 5: Verify it’s working
Open your site in an incognito window, append ?utm_source=test&utm_medium=verify&utm_campaign=ctm-check to the URL, then call the CTM tracking number shown on the page and stay connected for a few seconds.
Shortly after the call ends, it appears at the top of your Contacts Hub in SourceLoop with the three test UTM values, the landing page, the call duration, and the full session that led up to it. If it doesn’t, recheck that the webhook in CTM is saved with the recommended payload and is firing on completed calls.
Where to see CallTrackingMetrics calls in SourceLoop
Contacts Hub
Every captured call becomes a contact row at app.sourceloop.ai/contacts. Open one to replay the caller’s journey before they dialed, every page and every ad, so the follow-up starts with context instead of a cold callback.
Attribution dashboard
At app.sourceloop.ai/dashboards/traffic, calls are grouped by source, medium, and campaign next to your other conversions, so phone demand sits in the same channel report as everything else.
Funnel reports
Build a funnel at app.sourceloop.ai/funnels that ends in a phone call, then slice by source or landing page to see which paths most reliably produce a call.
To make paid channels smarter, forward qualified calls back to Google Ads, Meta, and LinkedIn as offline conversions. Connect your Google Ads account walks through it.
Prefer a one-click connect with no manual webhook step? CallRail registers call delivery for you. For enterprise conversation intelligence, see Invoca.
Frequently asked questions
-
Why does CallTrackingMetrics need a manual webhook step when CallRail doesn't?
CallRail exposes an API that lets SourceLoop register call delivery for you. CallTrackingMetrics doesn't, so after you connect your keys you paste SourceLoop's webhook address and a ready-made payload into CTM yourself. SourceLoop hands you the exact values and the steps on screen, so it's copy, paste, save. A few extra minutes, once.
-
Where do I find my Access Key and Secret Key in CTM?
In CallTrackingMetrics, go to Settings, then Account, then API Integration. Your Access Key is shown directly, and the Secret Key appears after you click Show Secret Key. Paste both into the SourceLoop connection dialog.
-
Do I need my CTM Account ID?
Only if your keys can reach more than one CTM account. If you have a single account, leave the field blank. When you do need it, the Account ID is the number in your CTM dashboard URL after /a/.
-
What does the recommended payload template do?
It tells CTM which call fields to send SourceLoop so attribution lines up correctly, including the caller details, the call status, and the marketing parameters. SourceLoop generates it for your connection, so you paste it as-is rather than building it by hand.
-
A call came from a number printed offline, with no website visit. Is it still captured?
Yes, it's recorded as a lead. With no web session behind it there's no journey to attach, so it appears as Direct. Calls that began on a tracked page carry full source and campaign detail.
-
What happens when I change a call's tags or status in CTM later?
That update reaches the same SourceLoop lead through the webhook, updating the existing record rather than creating a second one, as long as the recommended payload is in place on the matching trigger.
-
How fresh is the data?
Calls reach SourceLoop within seconds of CTM firing the webhook, which happens as the call wraps up. There's no batch import.
-
How do I disconnect?
Click Disconnect on the CallTrackingMetrics card under Setup then Phone in SourceLoop, then remove the webhook you added inside CTM. After that no further calls are sent, and your already-captured leads stay in the Contacts Hub.