Verify the SourceLoop tracking pixel is installed
Two minutes to confirm the tracking pixel is firing on your site. Use the built-in Verify button in SourceLoop, or check the network tab in DevTools manually.
On this page
You’ve added the SourceLoop snippet to your site (if not, do that first via Install the SourceLoop tracking pixel). This guide confirms the script is actually firing.
There are two ways to check: the built-in Verify button in SourceLoop (fastest, recommended), or manual inspection in your browser’s DevTools (useful for debugging edge cases).
Step 1: Open the Tracking code page
- Sign in to SourceLoop.
- In the left sidebar, open Setup -> Tracking code.
- Scroll to the Installation status section near the top of the page.
If SourceLoop has already detected the script on its own (it polls periodically), you’ll see a green Verified badge with a timestamp. If not, the badge reads Not detected, click the Verify button to check manually.
Step 2: Click Verify
- Click the Verify button on the Tracking code page.
- SourceLoop fetches your site’s URL, looks for the tracking snippet, and reports back within a few seconds.
- You’ll see one of two outcomes:
- Success — a green toast appears, the badge flips to Verified, and the last-verified timestamp updates. You’re done.
- Failed — a red toast appears with a short reason (e.g., “Script not detected”, “No active subscription”, “Website not found”). See the troubleshooting section below.
Step 3: Cross-check in DevTools (optional)
For an independent check, or if Verify is failing and you want to debug:
- Open your site in an incognito window.
- Open DevTools (Cmd+Opt+I on Mac, Ctrl+Shift+I on Windows) and switch to the Network tab.
- Reload the page.
- Filter the network requests for
sourceloop. - You should see at least two requests:
tracking-v3.js— returns 200 OK. This is the SourceLoop tracker bundle.- A POST to
app.sourceloop.ai— returns 200 or 204. This is the page-view event the tracker sends on load.
If both requests are present and successful, the pixel is firing correctly. If tracking-v3.js returns 4xx or 5xx, the script URL is being blocked or your websiteId is wrong, double-check the snippet you pasted matches what’s shown in SourceLoop.
What to do if Verify keeps failing
Run through these in order until one fixes it:
- Confirm the page is publicly reachable. Verify can only check pages that don’t require login. If your site is behind a paywall, password, or staging URL, switch to the DevTools method above on a logged-in browser session.
- Check your
<head>. View page source (Cmd+Opt+U on Mac, Ctrl+U on Windows) and search forapp.sourceloop.ai. If you don’t see the snippet there, it’s been overridden, deferred too late, or pasted in the wrong template. - Check for CSP violations. Open DevTools -> Console. If you see “Refused to load the script
https://app.sourceloop.ai/tracking-v3.jsbecause it violates the following Content Security Policy directive”, addapp.sourceloop.aito yourscript-srcandconnect-srcdirectives. - Check your consent banner. Cookiebot, OneTrust, Iubenda, and similar tools block scripts until consent is accepted. Either allowlist SourceLoop in the analytics category, or accept consent on the test page before clicking Verify.
- Check the CDN cache. If you use Cloudflare, Vercel, Netlify, or a self-hosted CDN, the old HTML (without the snippet) may still be cached. Purge the cache for the page you’re verifying.
- Check the
websiteId. Confirm thewebsiteIdin the snippet on your site matches the one shown in SourceLoop’s Tracking code page for the currently selected website. Multi-site workspaces are the most common place this goes wrong.
If you’ve tried all six and Verify still fails, email us at [email protected] with your domain and the exact error message from the failed toast, we’ll take a look.
What to do once it’s verified
The tracker is now capturing visitor sessions, sources, UTMs, and journeys on every page. The next step is connecting the conversion sources you actually want attributed:
- Forms → Web form tracking covers every supported form tool
- Meetings → Meeting tracking covers Calendly, Cal.com, HubSpot, and others
- Chats → Chat tracking covers Intercom, Crisp, Tidio, and others
- Payments → Payment tracking covers Stripe, Lemon Squeezy, Paddle, Polar, Dodo
Each integration article walks through the setup specific to that tool.
Frequently asked questions
-
How long after I install the snippet can I verify?
Right away. Once the snippet is live on a published page, the Verify button can confirm it within a few seconds. The only delay is your CDN / cache, if your site is behind Cloudflare or similar, purge the cache for the page you're verifying.
-
Verify said success but I'm not seeing leads in the Contacts Hub. What's wrong?
Verify only confirms the tracking script loads. Leads only appear when a conversion event fires (form submission, meeting booking, chat opened, payment). If the script is loading but no conversions are coming through, the issue is either that no conversions have happened yet, or your conversion source isn't wired up. Check the relevant integration article (web form, meeting, chat, payment) for that tool.
-
Verify keeps failing even though I'm sure the script is on the page. Why?
Most common causes, in order, are (1) the page you're verifying is behind a login wall or paywall (the verifier can't see private pages), (2) a CSP or bot-blocker is blocking SourceLoop's verification request, (3) the snippet is loaded conditionally (for example only after consent is given), or (4) the page is cached at the CDN with an older HTML that didn't include the snippet.
-
Can I verify on a subdomain or a staging site?
Yes. The Verify button checks whatever URL the website record points to. If you want to verify a different page than the homepage, update the website URL in Settings, or use the DevTools method described below.
-
Does Verify check every page, or just the homepage?
It checks the URL stored on the website record (usually your homepage). For coverage across other pages, browse the site in DevTools with the network tab open, or use the `?sl_debug=1` URL param.