How to track lead source in FormAssembly
Bring marketing attribution into FormAssembly without compromising compliance. Every submission still flows where it always did, just with the source and campaign attached.
On this page
- What SourceLoop captures from FormAssembly
- Before you start
- Step 1: Install SourceLoop’s tracking snippet
- Step 2: Embed FormAssembly with the JavaScript embed on a tracked page
- Step 3: Run a verification submission
- Where to see FormAssembly submissions in SourceLoop
- Contacts Hub
- Attribution dashboard
- Funnel reports
FormAssembly sits at the enterprise end of the form-builder market, the choice when forms touch regulated data, Salesforce, or compliance-heavy workflows. The compliance and routing story is well-handled. The marketing-attribution story isn’t, you can see what was submitted, never how the submitter arrived. SourceLoop adds that layer without touching FormAssembly’s plumbing.
Three steps, around ten minutes, attribution flowing on every form afterwards.
What SourceLoop captures from FormAssembly
For each FormAssembly submission, SourceLoop attaches:
- The visitor’s acquisition channel (organic, paid, referral, social, direct)
- UTM parameters parsed from the landing URL
- Pages visited in chronological order before submission
- Total time on site ahead of the conversion
- Visit count before the lead finally submitted
- Email + name read from the FormAssembly fields
- First-touch landing page of the visitor’s history
- Source of the converting session specifically
- Device type, country, browser
Before you start
You’ll need:
- A SourceLoop workspace (free trial)
- Edit access to the public page where you embed your FormAssembly form
- A FormAssembly account with a form configured to embed via the JavaScript snippet
Step 1: Install SourceLoop’s tracking snippet
Inside SourceLoop, click Setup -> Tracking code in the sidebar and copy the snippet shown.
Add it to your marketing site’s <head>. WordPress: header-injection plugin or header.php. Marketing-cloud-style CMS (Adobe, Sitecore, Drupal): global template / layout. Webflow / Framer: site-level Custom Code. Tag manager: an All Pages tag.
The snippet should run on every public-facing page where a FormAssembly form might appear.
Step 2: Embed FormAssembly with the JavaScript embed on a tracked page
In FormAssembly, open your form, click Publish and choose the JavaScript embed (not the iframe). Copy the snippet and paste it into the page where your form should appear, alongside the SourceLoop snippet from step 1.
Step 3: Run a verification submission
Visit the form’s host page in an incognito tab with ?utm_source=test&utm_medium=verify&utm_campaign=formassembly-check appended to the URL. Submit a test entry using an email you can check.
Within seconds, the lead should appear in the Contacts Hub in SourceLoop with the three test UTM values attached.
Where to see FormAssembly submissions in SourceLoop
Contacts Hub
Each FormAssembly submission becomes a contact row at app.sourceloop.ai/contacts. Drill into a contact for the full timeline, every page visited, every session, every campaign that touched the lead.
Attribution dashboard
For executive reporting, app.sourceloop.ai/dashboards/traffic groups FormAssembly submissions by source, medium, and campaign. Useful for justifying marketing spend at quarterly reviews.
Funnel reports
Build a funnel at app.sourceloop.ai/funnels ending in “FormAssembly submission”. Slice by source, content, or device to expose your highest-converting routes through the site.
For paid campaigns, mirror FormAssembly submissions back to Google Ads, Meta, and LinkedIn as offline conversions so the bidding algorithms train on real qualified leads instead of clicks. Connect your Google Ads account walks through it.
Frequently asked questions
-
We use FormAssembly because of HIPAA / GDPR compliance. Does adding SourceLoop affect that?
No. FormAssembly's compliance posture (HIPAA, GDPR, FERPA, etc.) covers how it stores and routes form data. SourceLoop runs on your marketing site, capturing visitor session metadata for non-PHI attribution purposes. The two systems don't share infrastructure.
-
I embed FormAssembly via JavaScript vs iframe. Does it matter?
The JavaScript embed is preferred because the form renders inline on your page, so attribution is straightforward. Iframe embeds isolate the form in a separate browsing context, which can make attribution less reliable depending on your iframe permissions.
-
Our FormAssembly forms push directly to Salesforce, Microsoft Dynamics, or our data warehouse. Anything affected?
No. FormAssembly's downstream connectors continue to push data exactly where they always have. SourceLoop captures attribution independently in its own backend, no overlap with your CRM or warehouse routing.
-
We use FormAssembly's Hidden Fields to pre-populate UTMs into Salesforce. Should we keep doing that?
You can. The two approaches complement each other, Hidden Fields put UTMs onto the Salesforce record, SourceLoop attaches the visitor's full pre-submission journey to a contact in its own dashboard. Use whichever surface the data needs to live in.
-
Are FormAssembly's Workflow forms (multi-form processes) tracked?
The final submission of the workflow is what SourceLoop captures, since that's the conversion. Intermediate steps in the workflow don't create new contacts.