# How to track lead source in Invoca

Connect Invoca to SourceLoop so every tracked call arrives with its marketing source, UTMs, the caller's full journey, and Invoca's AI signals mapped to lead tags and status.

Source: https://sourceloop.ai/help/track-lead-source-in-invoca/
Updated: 2026-05-31

---

Invoca is where enterprise teams turn phone conversations into signals: a call gets scored, classified, and labeled as a sale, a qualified lead, an appointment. What Invoca doesn't natively close the loop on is which marketing channel produced each of those calls in the first place.

SourceLoop connects that end to end. Every call to an Invoca tracking number becomes a lead with its first-touch and last-touch source, the UTMs, and the caller's full pre-call journey. And because Invoca's AI signals come across too, those leads arrive already tagged with the outcome, with sale and qualified signals lifting the lead's status automatically.

Five steps. You'll connect your token, then point Invoca's webhook at SourceLoop using values it generates for you.

## What SourceLoop captures from Invoca

For every call to an Invoca 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 and ads the caller engaged with before dialing, when they visited your site first
- **Caller details**: phone number, plus city, state, or country when Invoca has them
- **Call facts**: duration and call disposition
- **Recording and transcript links**, when Invoca has them
- **Invoca's AI signals as tags and status**: signals like Sale, Qualified, or Appointment Made become lead tags, and sale or qualified signals push the lead to Won or Qualified

## Before you start

You'll need:

- A **SourceLoop workspace** ([free trial](https://app.sourceloop.ai/sign-up))
- The **SourceLoop tracker installed** on the pages where your Invoca numbers appear
- An **Invoca account** with a tracking number live on your site
- Permission to **create an API credential** and **add a webhook** in Invoca
- Your Invoca **vanity subdomain** (the first part of your Invoca URL)
- **Admin** or **Owner** role in SourceLoop

## Step 1: Install the SourceLoop tracking script

A call's source comes from the browsing session ahead of it, so the tracker has to be live wherever your Invoca numbers appear. If it's already running for your other conversions, skip to Step 2.

If not, add the SourceLoop snippet across your site. See [Install the SourceLoop tracking pixel](/help/install-the-tracking-pixel/).

## Step 2: Create an API credential in Invoca

1. In Invoca, open **Integrations -> Manage Integrations -> Invoca APIs**.
2. Click **+ New API Credential** in the top right and copy the token.
3. Note your **vanity subdomain**: the first part of your Invoca URL, so `acme.invoca.net` means you enter `acme`.

## Step 3: Connect Invoca in SourceLoop

1. Sign in to [SourceLoop](https://app.sourceloop.ai/) and open **Setup -> Phone**.
2. Click **Connect** on the **Invoca** card.
3. Paste your **API token** and your **vanity subdomain**.
4. Click **Connect**.

SourceLoop validates the token against your Invoca tenant. Once it's confirmed, the card expands a **Setup required in Invoca** panel with everything you need for the next step.

## Step 4: Point Invoca's webhook at SourceLoop

The **Setup required** panel gives you a **webhook address** and a **recommended payload**, both generated for your connection.

Follow the numbered steps in the panel to open Invoca's **Custom Webhooks** settings, add a webhook, paste in the address and the payload, and save. Copy the values straight from the panel since they're unique to your workspace.

> **Use the payload SourceLoop gives you**
> The recommended payload maps Invoca's call fields, including its AI signals, to what SourceLoop expects. Saving the webhook without it means calls may arrive missing their attribution or their signal tags. Paste the panel's template as-is.

> **Optional: forward the visitor ID for a perfect match**
> Out of the box SourceLoop matches calls to web sessions using Invoca's standard attribution fields. For a deterministic one-to-one match, configure Invoca's Advertiser Web Integration on your site to also carry SourceLoop's visitor ID. The recommended payload already includes a slot for it. Whether you're a Network or Advertiser user changes the exact setup, so Invoca's onboarding team can wire it up.

## Step 5: Verify it's working

Open your site in an **incognito window**, append `?utm_source=test&utm_medium=verify&utm_campaign=invoca-check` to the URL, then call the Invoca tracking number on the page and stay on for a few seconds.

Soon after the call ends, it shows at the top of your **Contacts Hub** in SourceLoop with the three test UTM values, the landing page, the duration, and the full pre-call session. If Invoca has already classified the call, you'll see its signals on the lead as tags. If nothing appears, confirm the webhook in Invoca is saved with the recommended payload and is firing on completed calls.

## Where to see Invoca calls in SourceLoop

### Contacts Hub

Each captured call becomes a contact row at [app.sourceloop.ai/contacts](https://app.sourceloop.ai/contacts), complete with the caller's pre-call journey and any Invoca signals as tags, so the call's marketing origin and its outcome sit on the same record.

![SourceLoop Contacts Hub showing an Invoca phone call lead with the caller's full journey and AI signal tags](/help/screenshots/sourceloop-lead-journey-demo.webp)

### Attribution dashboard

At [app.sourceloop.ai/dashboards/traffic](https://app.sourceloop.ai/dashboards/traffic), calls roll up by source, medium, and campaign alongside your other conversions. Because Invoca's qualified and sale signals carry through, you can see which channels drive calls that actually convert, not just calls that connect.

![SourceLoop attribution dashboard with Invoca calls grouped by source and campaign](/help/screenshots/sourceloop-attribution-dashboard.webp)

### Funnel reports

Build a funnel at [app.sourceloop.ai/funnels](https://app.sourceloop.ai/funnels/) that ends in a qualified phone call, then slice by source or landing page to find the paths that produce your best conversations.

![SourceLoop funnel report ending in an Invoca phone call conversion step](/help/screenshots/sourceloop-funnel.png)

To train paid channels on real outcomes, forward Invoca's qualified and won calls back to **Google Ads, Meta, and LinkedIn as offline conversions**. [Connect your Google Ads account](/help/connect-google-ads/) covers the setup.

Need a lighter-weight option? [CallRail](/help/track-lead-source-in-callrail/) connects in one click with no manual webhook step, and [CallTrackingMetrics](/help/track-lead-source-in-calltrackingmetrics/) is a strong mid-market choice.

## Frequently Asked Questions

### Who is the Invoca integration for?

Teams already using Invoca for conversation intelligence at scale. If you mainly need call tracking with the least setup, CallRail is usually the smoother fit because it registers call delivery automatically. Invoca's edge here is that its AI signals come through to SourceLoop as lead tags and status.

### What is a vanity subdomain and where do I find it?

It's the first part of your Invoca web address. If you sign in at acme.invoca.net, your vanity subdomain is acme. SourceLoop needs it alongside your API token to reach the right Invoca tenant.

### How do I create the API token?

In Invoca, go to Integrations, then Manage Integrations, then Invoca APIs, and click New API Credential in the top right. Copy the token it generates and paste it into the SourceLoop connection dialog.

### How do Invoca's AI signals show up in SourceLoop?

Each signal Invoca attaches to a call, such as Sale, Qualified, or Appointment Made, becomes a tag on the SourceLoop lead. Signals that indicate a sale or a qualified call also lift the lead's status to Won or Qualified, so your reports reflect call outcomes, not just that a call happened.

### Why is there a manual webhook step?

SourceLoop validates your token to confirm the connection, then you point Invoca's webhook at SourceLoop yourself using the address and payload SourceLoop generates for you. It's a copy-and-paste step inside Invoca's webhook settings, shown on screen after you connect.

### A call came in with no preceding website visit. Is it still captured?

Yes. It records as a lead, and with no web session to attach it falls back to Invoca's own attribution fields or shows as Direct. Calls that started on a tracked page carry the full journey.

### How fresh is the data?

Calls reach SourceLoop within seconds of Invoca firing the webhook as the call completes. No batch import or delay.

### How do I disconnect?

Click Disconnect on the Invoca card under Setup then Phone in SourceLoop, then remove the webhook inside Invoca. No further calls are sent afterward, and your captured leads remain in the Contacts Hub.
