Lead source tracking for Webflow.
See where every Webflow form enquiry actually came from.
Works with every Webflow form type
Webflow handles the submission. Attribution is on you.
Webflow’s form blocks are clean, designer-friendly, and well-integrated with the Designer. Form submissions appear in the Designer’s submissions list with an email notification. Source data isn’t part of that flow. Webflow assumes you’ll wire it up in Custom Code if you want it.
The submission and the design
- Submissions list in the Designer
- Email notification on each submission
- Form Submit JS event for custom code
- Native integrations (Mailchimp, HubSpot, Zapier)
- Multi-step forms and conditional logic
Where the visitor came from
- Which campaign brought them
- UTM persistence across page navigation
- Page journey before the form view
- Source data in submission notifications
- Click IDs (gclid, fbclid) for ad-platform reconciliation
Hidden fields. Custom Code. Form Submit JS.
The standard Webflow attribution recipe: add hidden fields to every form, write Custom Code that reads URL parameters on page load, hook the Form Submit event to capture values before submission, and live with it breaking when the form layout changes.
The manual way
- 01Open each Webflow form in the Designer. Add hidden fields for
utm_source,utm_medium,utm_campaign. Repeat for every form, every site you own. - 02Write a Custom Code script that reads URL parameters on page load and writes them into those hidden fields. Test it across Designer preview, Webflow staging, and production.
- 03Build a cookie-persistence layer because Webflow forms read the URL at form view, not at click. If the visitor lands with UTMs and navigates to a different page before the form view, the data is gone.
- 04Republish every site every time you tweak the script. Test that integrations still receive the new field values. Maintain it across Webflow CMS updates.
With Lead Source
- 01Paste one script tag into Site Settings → Custom Code → Head. Publish. Once.
- 02We detect every Webflow form on the site automatically. Embedded, in popups, in CMS-driven pages, in custom HTML embeds.
- 03Source persists across the full visitor journey. Captured with the campaign name written out: “Google Ads · Local Services Sydney”.
- 04Your forms, your integrations, your Designer setup. Untouched. Add a new form next week? Already tracked.
// Webflow makes the form. We make the attribution.
One script tag. That’s the whole thing.
Sign up, copy the snippet from your dashboard, paste it into Webflow’s head Custom Code. Publish. We detect every form on the site automatically from there. The block below shows what the snippet looks like. Your real one will have your unique site ID baked in.
<!-- illustrative. Paste your real snippet from app.leadsource.co --> <script src="https://leadsource.co/s/[your-site-id].js" async></script>
The real snippet is generated for your account when you sign up. Copy it from the install page in your dashboard. Under 50ms execution. Async, so it doesn’t block your page. No dependencies.
Three steps. Most sites are done in five minutes.
Sign up. Get your script tag
Create your free Lead Source account. You’ll see a snippet on the dashboard with your unique site ID already in it. Copy it.
Paste it into Webflow’s head Custom Code
In the Webflow Designer, open Site Settings → Custom Code. Paste the snippet into the Head Code box. Save changes. Publish your site. Custom Code only takes effect on the published site, not in preview.
Submit a test through any Webflow form
Open a page with a Webflow form on it. Fill it in. Submit. Within a minute or two, the lead appears in your Lead Source dashboard with the source, campaign, and every page visited before submitting.
?utm_source=test to the URL before you submit. That’ll be the source on the lead.Questions, answered.
Do I need to change my Webflow forms?
No. Lead Source detects Webflow forms by listening for the standard form submission event. It doesn't touch your form layout, doesn't modify the Designer, doesn't require hidden field configuration.
Does it work with Webflow's native integrations (Mailchimp, HubSpot, Zapier)?
Yes. Webflow form integrations keep working exactly as configured. We observe the submission event in parallel. Your Mailchimp lists, HubSpot Contacts, and Zapier flows continue without any change.
Will Custom Code in the head slow down my Webflow site?
No. The Lead Source script is under 5KB, loads async, and only does work when a form is submitted. Typical execution under 50ms. It won't affect Webflow's built-in Speed test results or your Lighthouse scores.
Does it work in Webflow preview / staging?
Webflow's Custom Code only runs on the published site, not in the Designer preview. To test, publish to your webflow.io staging subdomain. The script runs there and you can verify submissions land in your dashboard before pushing to production.
What about Webflow CMS forms. Submissions tied to CMS items?
Works the same way. CMS-driven forms still emit the standard submission event when filled and submitted. We capture the source regardless of whether the form's structure is static or CMS-driven.
Track your Webflow leads. Free to start.
One script tag in Webflow’s head custom code. Every form on your site. Source, campaign, page journey on every submission.
Start freeFree to start · no card