Lead source tracking for Squarespace.
See where every Squarespace Form Block submission actually came from.
Works with every Squarespace setup
Squarespace Form Blocks are simple by design.
Squarespace is built for non-developers. Form Blocks are easy to drop in, configure, and connect to storage destinations (inbox, Google Drive, Mailchimp). They’re also intentionally limited. No hidden fields UI, no dynamic-population options, no per-form Custom Code. Source capture isn’t part of the model.
The form and the storage
- Form Block with field configuration
- Storage to email, Google Drive, Mailchimp
- Newsletter signup with subscriber lists
- Form Block analytics (submission counts)
- Member area signups for Business+ plans
Hidden field workarounds
- Hidden fields in Form Blocks (no UI)
- Per-form Custom Code injection
- URL parameter prefill of form fields
- Source data alongside the submission
- Page journey before form view
Code Injection. JavaScript. Hoping the Form Block markup doesn’t change.
The standard Squarespace attribution recipe involves writing JavaScript that finds Form Blocks in the DOM, injects hidden inputs into them, populates those inputs from URL parameters, and submits them. It works. Until Squarespace updates the Form Block component and your selectors break.
The manual way
- 01Upgrade to Business plan or higher (Code Injection isn’t available on Personal). Open Settings → Advanced → Code Injection → Header.
- 02Write JavaScript that queries the DOM for Squarespace Form Block elements, dynamically creates hidden
<input>elements, and inserts them into each form. - 03Read URL parameters on page load, write them into the dynamically-created hidden inputs. Test that they survive Squarespace’s form submission flow (which can serialize fields differently than standard HTML).
- 04Pray Squarespace doesn’t update the Form Block class names or markup in their next platform release. Re-test every quarter.
With Lead Source
- 01Paste one script tag into Code Injection → Header. Save. Once.
- 02We detect every Squarespace Form Block on the site automatically, including Newsletter Blocks and Member Area signups.
- 03Source captured at submission with cross-page UTM persistence. Written out: “Google Ads · Local Services Sydney”.
- 04Your Form Blocks stay exactly as you designed them. No DOM manipulation, no class-name dependencies, no fragility.
// Squarespace is built for non-developers. So is this.
One script tag. That’s the whole thing.
Sign up, copy the snippet from your dashboard, paste it into Squarespace’s Code Injection → Header. Save. We detect every Form Block on the site automatically. 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 Squarespace Code Injection
In your Squarespace dashboard, go to Settings → Advanced → Code Injection. Paste the snippet into the Header box. Save. The script applies to every page on your site automatically. No per-page configuration needed.
Submit a test through any Squarespace form
Open a page with a Form Block on it. Fill it in. Submit. Within a minute or two, the lead appears in your Lead Source dashboard with source, campaign, and page journey attached.
?utm_source=test to the URL before you submit. That’ll be the source on the lead.Questions, answered.
Do I need to upgrade my Squarespace plan?
You need Business plan or above to use Code Injection. That's a Squarespace requirement that applies to any custom code, including tracking pixels and analytics tools. If you're on Personal plan and don't want to upgrade, there are limited workarounds. Get in touch and we'll discuss options.
Will it conflict with my existing Squarespace integrations (Mailchimp, Zapier)?
No. Lead Source observes the form submission event in parallel. It doesn't modify the form, change the submission destination, or interfere with the storage flow. Your Mailchimp lists and Zapier integrations keep working exactly as configured.
Does it work with Squarespace Newsletter Blocks?
Yes. Newsletter Blocks fire the same submission event as standard Form Blocks. We capture the source on subscription as well as on form submission.
What about Member Area signups on Business+ plans?
Yes. Member Area signups go through the same form submission pipeline and are captured automatically. Useful if you're running a membership offering and want to know which campaigns are converting to paid members.
Will Code Injection slow my Squarespace site down?
The Lead Source script is under 5KB, loads async, and only runs when a form is submitted. Typical execution under 50ms. Won't affect Lighthouse scores or Squarespace's own page-speed checks.
Track your Squarespace leads. Free to start.
One script in Code Injection. Every Squarespace Form Block. Source, campaign, page journey without writing JavaScript or hoping the markup doesn’t change.
Start freeFree to start · no card