Skip to content
SourceLoop
Chat tracking

How to track lead source in Crisp

Every Crisp conversation, paired with the marketing channel that brought the visitor to your site. No more cold replies to leads with no context.

On this page
  1. What SourceLoop captures from Crisp
  2. Before you start
  3. Step 1: Drop SourceLoop’s snippet into your site
  4. Step 2: Confirm the Crisp widget is on tracked pages
  5. Step 3: Send a verification chat
  6. Where to see Crisp conversations in SourceLoop
  7. Contacts Hub
  8. Attribution dashboard
  9. Funnel reports

Crisp is the all-in-one customer messaging platform that startup teams reach for when they want chat, helpdesk, and CRM in one place. The widget is great at starting conversations. What it doesn’t tell you is which campaign brought that visitor to your site in the first place. SourceLoop fills in that gap.

Three steps, around five minutes, and every Crisp conversation afterwards arrives with the marketing context behind it.

What SourceLoop captures from Crisp

Once Crisp is on a page tracked by SourceLoop, each conversation flows into SourceLoop tagged with:

  • The visitor’s acquisition channel (organic, paid, referral, social, direct)
  • UTM parameters parsed from the landing URL
  • Pages browsed in order before the chat started
  • Time on site ahead of the conversation
  • Number of distinct sessions before this lead chatted
  • Email + name captured during the conversation
  • First-touch landing page of the visitor’s history
  • Source of the converting session that produced the chat
  • Device, country, browser

Before you start

You’ll need:

  • A SourceLoop workspace (free trial)
  • Edit access to your site’s <head> markup
  • A Crisp account with the chat widget already embedded on your site

Step 1: Drop SourceLoop’s snippet into your site

Open SourceLoop, go to Setup -> Tracking code in the sidebar, and copy the snippet.

SourceLoop Setup page with the tracking code snippet ready to copy

Paste it into your site’s <head>. The usual paths:

  • WordPress: header-injection plugin or header.php
  • Webflow: Project Settings -> Custom Code -> Head Code
  • Framer: Site Settings -> General -> Custom Code -> Start of head
  • Shopify: Online Store -> Themes -> Edit code -> theme.liquid
  • Tag manager: an All Pages tag

SourceLoop and Crisp can sit side-by-side, the order they load doesn’t matter, as long as both run on every page where the Crisp widget appears.

Step 2: Confirm the Crisp widget is on tracked pages

There’s no per-account toggle to flip on Crisp’s side. Once the SourceLoop snippet loads on a page where Crisp also loads, conversations from that page flow into SourceLoop automatically.

Worth verifying:

  • The Crisp widget is active on every page where you want to capture leads (which, for most sites, is the entire site)
  • Your pre-chat survey or chatbot collects an email at some point in the conversation
  • Aggressive performance plugins or browser-only privacy modes aren’t blocking either Crisp or SourceLoop

Step 3: Send a verification chat

Open a page on your site that hosts the Crisp widget in an incognito tab with ?utm_source=test&utm_medium=verify&utm_campaign=crisp-check appended to the URL. Start a chat, share an email address you can access.

Within seconds of sharing the email, the conversation should appear at the top of the Contacts Hub in SourceLoop with the three test UTM values stamped on the record.

Where to see Crisp conversations in SourceLoop

Contacts Hub

Every Crisp conversation that shares an email becomes a contact row at app.sourceloop.ai/contacts. Open a contact to see the visitor’s complete browsing path before they reached out, helpful context to read into your reply.

SourceLoop Contacts Hub showing a Crisp conversation lead with the visitor's full pre-chat journey

Attribution dashboard

For the channel-level read, app.sourceloop.ai/dashboards/traffic groups Crisp conversations by source, medium, and campaign. A quick read on which channels actually open dialogue vs. which only send pageviews.

SourceLoop attribution dashboard with Crisp conversations grouped by source and campaign

Funnel reports

In app.sourceloop.ai/funnels, build a funnel ending in “Crisp conversation”. Slice by source, landing page, or device to find which routes actually drive engagement, not just visits.

SourceLoop funnel report ending in a Crisp conversation conversion step

If paid acquisition feeds the chat queue, forward Crisp conversations back to Google Ads, Meta, and LinkedIn as offline conversions so the bidding algorithms train on actual qualified conversations rather than vanity clicks. Connect your Google Ads account covers the wiring.

Frequently asked questions

  1. Does this work with Crisp's free plan?

    Yes. SourceLoop's tracking is browser-side and tier-agnostic, free Crisp, Pro, and Unlimited all work the same way once the widget loads on a tracked page.

  2. Crisp lets visitors message anonymously before sharing email. Are those tracked?

    SourceLoop attaches the marketing journey to the contact once an email is shared (anywhere in the conversation, including via the pre-chat survey or a follow-up). Truly anonymous conversations stay anonymous, the same as they do in Crisp itself.

  3. I use Crisp's Chatbot to qualify leads before handing off. Does the chatbot path still get attributed?

    Yes. The chatbot conversation is what eventually captures an email, and that email is what attribution ties to. Whether a human or a bot collected the email doesn't matter.

  4. I send my Crisp link (`go.crisp.chat/...`) in cold emails. Will those replies be attributed?

    No. Conversations started through Crisp's hosted link skip your site entirely, so SourceLoop never sees the visitor. For attribution, send recipients to a page on your site where the Crisp widget is loaded.

  5. Does this interfere with Crisp's existing integrations (HubSpot, Salesforce, Slack, etc.)?

    No. Crisp continues to push contacts and conversations to all your connected destinations exactly as configured. SourceLoop captures attribution on its own side, no overlap.

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