Squarespace integration

Lead source tracking for Squarespace.

See where every Squarespace Form Block submission actually came from.

Works with every Squarespace Form Block No JavaScript, no third-party form app Live in minutes

Works with every Squarespace setup

Form Blocks Newsletter Blocks Member Area signups Embedded forms Multi-page forms Popup forms
The gap

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.

What Squarespace handles

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
What it doesn’t support

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
The usual workaround

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

  • 01
    Upgrade to Business plan or higher (Code Injection isn’t available on Personal). Open Settings → Advanced → Code Injection → Header.
  • 02
    Write JavaScript that queries the DOM for Squarespace Form Block elements, dynamically creates hidden <input> elements, and inserts them into each form.
  • 03
    Read 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).
  • 04
    Pray Squarespace doesn’t update the Form Block class names or markup in their next platform release. Re-test every quarter.

With Lead Source

  • 01
    Paste one script tag into Code Injection → Header. Save. Once.
  • 02
    We detect every Squarespace Form Block on the site automatically, including Newsletter Blocks and Member Area signups.
  • 03
    Source captured at submission with cross-page UTM persistence. Written out: “Google Ads · Local Services Sydney”.
  • 04
    Your 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.

What you install

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.

example only. Your real code is in the dashboard
<!-- 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.

Install on Squarespace

Three steps. Most sites are done in five minutes.

1

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.

No credit card required to start. The signup flow takes about a minute.
2

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.

Code Injection requires a Business plan or higher (it’s not available on Personal plans). That’s a Squarespace requirement, not ours. Applies to any custom code on Squarespace.
3

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.

Want to test attribution end-to-end? Add ?utm_source=test to the URL before you submit. That’ll be the source on the lead.
Common questions

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&rsquo;t change.

Start free

Free to start &middot; no card