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

How to track lead source in CallRail

Turn every CallRail phone call into an attributed lead. Connect once with an API key and each call lands in SourceLoop with the source, campaign, UTMs, and the caller's full pre-call journey.

On this page
  1. What SourceLoop captures from CallRail
  2. Before you start
  3. Step 1: Install the SourceLoop tracking script
  4. Step 2: Create an API key in CallRail
  5. Step 3: Connect CallRail in SourceLoop
  6. Step 4: Verify it’s working
  7. Where to see CallRail calls in SourceLoop
  8. Contacts Hub
  9. Attribution dashboard
  10. Funnel reports

When a phone call closes a deal, the obvious question is the one most teams can’t answer: which ad, search, or page actually made the phone ring? CallRail tells you a call happened. It rarely tells you which marketing channel earned it.

SourceLoop fills that gap. Connect CallRail once with an API key, and every call to a tracking number arrives in SourceLoop as a lead with its first-touch and last-touch source, the UTMs, the landing page, and the caller’s entire browsing path before they dialed. The same attribution your form and chat conversions already carry, now on your phone calls.

Four steps, about five minutes. Works on any paid CallRail plan.

What SourceLoop captures from CallRail

For every call to a CallRail tracking number, SourceLoop records a lead with Type: Call that carries:

  • First-touch source of the visitor (e.g. google / cpc, bing / organic)
  • Last-touch source of the session that led to the call
  • UTM parameters from the landing URL (source, medium, campaign, content, term)
  • The full pre-call journey: every page viewed and every ad clicked before the phone rang, when the caller browsed your site first
  • Caller details: phone number, name, and city or state when CallRail has them
  • Call facts: duration, direction, and whether it was answered
  • Recording and transcription links, when those are enabled on your CallRail account
  • Tags and qualification you apply to the call inside CallRail

Before you start

You’ll need:

  • A SourceLoop workspace (free trial)
  • The SourceLoop tracker installed on the pages where your tracked phone numbers appear, so there’s a browsing session to attach each call to
  • A CallRail account with at least one tracking number live on your site
  • Permission to create an API key in CallRail (an admin role, typically)
  • Admin or Owner role in SourceLoop

Step 1: Install the SourceLoop tracking script

Attribution for a call is built from the web session that came before it, so the tracker has to be live on the pages where your CallRail numbers show up. If you’ve already installed it for form or chat tracking, you’re set, skip to Step 2.

If not, add the SourceLoop snippet to every page of your site (the global header is the simplest place). Full walkthrough: Install the SourceLoop tracking pixel.

Step 2: Create an API key in CallRail

  1. Sign in to CallRail and click the Settings gear in the top right.
  2. Open API Keys in the left sidebar.
  3. Click Create API Key, name it SourceLoop, and copy the token.

CallRail shows the token only once. If you navigate away before copying it, just create a fresh key.

Step 3: Connect CallRail in SourceLoop

  1. Sign in to SourceLoop.
  2. Open Setup -> Phone in the left sidebar.
  3. Find the CallRail card and click Connect.
  4. Paste your API token into the API key field.
  5. Leave Account ID blank unless your key can see more than one CallRail account. If it can, paste the specific account ID you want (it’s in your CallRail dashboard URL, after account_id=).
  6. Click Connect.

That’s the whole setup. SourceLoop validates the key, picks up your account, and registers call delivery for every active company on it. Within a few seconds the card flips to Connected with a green check. You don’t need to open CallRail’s integrations page or paste any URL yourself, SourceLoop wires that up for you.

Step 4: Verify it’s working

Open your site in an incognito window, append ?utm_source=test&utm_medium=verify&utm_campaign=callrail-check to the URL, then call the tracking number shown on the page and let the call connect for a few seconds.

Within moments of hanging up, the call 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 timeline that led up to it.

Where to see CallRail calls in SourceLoop

Contacts Hub

Every captured call becomes a contact row at app.sourceloop.ai/contacts. Open one to see the caller’s complete journey before they picked up the phone: every page, every ad, every session. The context your reps wish they’d had on the call, and exactly what you need for the follow-up.

SourceLoop Contacts Hub showing a CallRail phone call lead with the caller's full pre-call journey timeline

Attribution dashboard

For the channel-level picture, app.sourceloop.ai/dashboards/traffic groups calls by source, medium, and campaign right alongside your form and chat conversions, so you can finally see which channels drive the phone to ring, not just which fill out forms.

SourceLoop attribution dashboard with CallRail phone calls grouped by source and campaign

Funnel reports

Build a funnel at app.sourceloop.ai/funnels that ends in a phone call. Slice by source, landing page, or device to find the paths that most reliably turn a visit into a call.

SourceLoop funnel report ending in a CallRail phone call conversion step

For paid acquisition, forward your qualified calls back to Google Ads, Meta, and LinkedIn as offline conversions so the bidding algorithms learn from real phone calls instead of raw clicks. Connect your Google Ads account covers the wiring.

Using a different call tracking provider? SourceLoop also supports CallTrackingMetrics and Invoca.

Frequently asked questions

  1. Do I need a paid CallRail plan?

    You need a plan that lets you generate an API key, which is every paid CallRail plan. API access is included at no extra cost, and SourceLoop does not charge for the connection itself. Each captured call counts as one lead toward your SourceLoop quota, the same as a form or chat conversion.

  2. Do I have to set up webhooks inside CallRail myself?

    No. That is the part SourceLoop handles for you. The moment you paste your API key, SourceLoop registers the call delivery for every active company on the account. You never have to open CallRail's integrations page or copy a URL by hand.

  3. What if my CallRail account has several companies?

    SourceLoop subscribes to all of them automatically when you connect. Calls from any company on the account flow into the same SourceLoop workspace, each tagged with the number that was dialed.

  4. A customer dialed a tracking number off a billboard, not my website. Does that still get captured?

    Yes, the call is still recorded 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 attribution.

  5. How quickly do calls appear in SourceLoop?

    Within seconds of the call ending. There is no batch import or polling delay, so a call that wraps up now is in your Contacts Hub almost immediately.

  6. What happens when I tag or qualify a call later inside CallRail?

    That update flows through to the same lead in SourceLoop. Tagging a call or marking it qualified updates the existing record rather than creating a duplicate, so your reports stay clean.

  7. Will connecting SourceLoop change anything in my CallRail setup?

    No. Your number pools, routing, recordings, and existing integrations keep working exactly as they did. SourceLoop only reads completed-call data, so nothing about how CallRail handles live calls changes.

  8. How do I disconnect CallRail?

    Open Setup then Phone in SourceLoop and click Disconnect on the CallRail card. Call delivery to SourceLoop stops immediately and previously captured leads stay in your Contacts Hub. The webhook entry remains on the CallRail side until you remove it under Settings then Integrations, where you can leave it idle or delete it for tidiness.

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