Connecting Squarespace to a CRM: HubSpot, Zapier, Make, and When to Write Code

A Squarespace site produces three kinds of data you want in a CRM: form submissions, orders, and bookings. There are four ways to move each of them, and the right one depends on how much data, how reliably it must arrive, and who's going to fix it when it breaks.

We've set up all of these more times than we can count. Here's how we choose.

What Squarespace gives you natively

Form storage. Every form block can send submissions to an email address, a Google Sheet, Mailchimp, Squarespace's own Contacts, and (on Core plans and above) Zapier. That's it. No HubSpot, no Salesforce, no Pipedrive, no webhook.

Contacts. Squarespace has a built-in contacts list that collects form submitters, customers and newsletter subscribers. It's a list with tags and a few filters. Adequate for a small business that just wants to email people; not a CRM with pipelines, tasks or deal stages.

Commerce. Orders trigger notification emails and, via Zapier, can trigger anything else. Squarespace's Commerce API exists for orders, inventory, products and transactions, on Advanced plan, read-oriented, and useful for reporting rather than for pushing data around in real time.

Acuity Scheduling. Has its own integrations, including a native Zapier connection and direct connections to some CRMs. Booking data flows separately from the site's form data.

The four routes

Route 1: Embed the CRM's own form

Instead of using a Squarespace form block, paste the CRM's form embed code into a code block. HubSpot, ActiveCampaign, Pipedrive, Salesforce Web-to-Lead and most others provide one.

Reliability: highest. The submission goes straight to the CRM; nothing sits in between.

Cost: none beyond your CRM plan.

Downsides: the form looks like the CRM's form, not your site's, until you style it. HubSpot's forms are stylable with CSS on paid plans and mostly not on free. Spam handling is the CRM's problem. And you lose Squarespace's native form storage, which some clients like as a backup.

We use it when: the CRM is the system of record and lead capture is the site's main job. For most HubSpot clients, this is the answer. Add HubSpot's tracking script in header injection and you also get page views tied to contacts.

Route 2: Zapier

Connect the Squarespace form block (or Commerce, or Acuity) to Zapier, and Zapier to the CRM. Squarespace's Zapier app triggers on new form submissions and new orders.

Reliability: good. Zapier retries failed steps and shows you a history. Occasionally a Squarespace form field rename breaks the mapping silently; you find out when leads stop arriving.

Cost: Zapier's free tier is around 100 tasks a month, which is fine for a site with a handful of enquiries. Above that, the Starter plan is around USD 20 a month billed annually for 750 tasks. Every submission is at least one task, more if you add steps.

Downsides: the Squarespace Zapier connection is form-block-specific; a new form needs a new zap. Multi-step logic (route by dropdown value, deduplicate, enrich) is possible but gets expensive. And you're now paying a monthly fee for a data pipe.

We use it when: you want Squarespace's own forms, the CRM has a Zapier connector, and volume is modest. Also the fastest route for orders into a CRM or accounting tool.

Route 3: Make (formerly Integromat)

Same idea as Zapier, cheaper per operation, more powerful for branching and data transformation, and less polished. Make doesn't have a first-party Squarespace trigger; the common pattern is Squarespace form to Google Sheet (native), then Make watches the sheet. Or Squarespace to Zapier webhook to Make, which is silly. Or, for orders, Make's Squarespace Commerce module.

Reliability: good, with the sheet-in-the-middle adding one more place to break.

Cost: free tier around 1,000 operations a month, Core around USD 9 to 10 a month for 10,000. Much cheaper than Zapier at volume.

We use it when: the client already uses Make, or the logic is complex (route leads by region to different owners, look up the company, create a deal and a task), or volume is high enough that Zapier pricing hurts.

Route 4: Custom code

A form built in HTML inside a code block, submitted with JavaScript to a webhook you control (a small serverless function, or the CRM's API directly if it supports browser calls, which HubSpot's Forms API does). Or a script that listens for Squarespace's own form submission and forwards the data.

Reliability: as good as the code. No third-party quota, no monthly fee, no field-mapping UI to break. When it fails, someone who reads JavaScript has to look.

Cost: build time, typically 4 to 12 hours depending on validation, spam protection and error handling. Then nothing.

Downsides: you lose Squarespace's form editor; changing a field means editing code. Spam protection has to be built (reCAPTCHA or Turnstile). And you're dependent on whoever built it.

We use it when: the volume is high (hundreds of submissions a month), the CRM has no Zapier connector or the connector is bad, the data needs transforming before it lands, or the client is on a retainer with us and would rather pay once than monthly. Also when the form has to do something Squarespace forms can't: conditional fields, file uploads to a specific place, multi-step.

Recommended set-up by CRM

HubSpot. Embed HubSpot forms (Route 1), add the tracking code, and use Zapier for orders if you have a shop. For bookings, Acuity connects to HubSpot through Zapier. If you must keep Squarespace forms, Zapier to HubSpot works fine.

Pipedrive, ActiveCampaign, Zoho. Embed forms where the CRM's form is acceptable; Zapier otherwise.

Salesforce. Web-to-Lead embed for simple capture. For anything else, custom code to a middleware function, because the Zapier Salesforce connector is expensive and the field mapping on a real Salesforce org needs care.

Notion, Airtable, Google Sheets as a CRM. Squarespace's native Google Sheet connection is free and instant; from a sheet, Make can push to Notion or Airtable. We run our own client portal on Notion this way.

Mailchimp, Klaviyo, Squarespace Email Campaigns. Mailchimp and Squarespace's own campaigns are native. Klaviyo has a Squarespace integration for commerce and a form embed for signup.

Bexio or accounting tools (Swiss clients). Orders to Bexio via Zapier or Make; there's no native route.

The things that break

Field renames. Someone edits the form and renames "Phone" to "Phone number". The Zap keeps running, the field arrives empty. Lock the form once it's mapped and put a note in the field description.

Consent. If you're sending EU or Swiss contacts to a marketing CRM, the form needs a consent checkbox, and the checkbox value needs to arrive in the CRM as the marketing-consent field. Squarespace's form storage doesn't enforce this; the CRM won't warn you.

Duplicates. A visitor submits twice. Squarespace doesn't dedupe; Zapier doesn't dedupe by default; your CRM might or might not. Turn on the CRM's email-based deduplication.

Spam. Squarespace forms have reCAPTCHA as an option. Turn it on before you connect a CRM, or you'll spend a week deleting contacts named "asdf".

Notifications going nowhere. A form is set to email a person who left the company. This is the single most common thing we find when auditing a site: enquiries have been landing in an unattended inbox for months. Send to a shared address, and have the CRM be the record.

Cost summary

For a service business with 20 to 50 enquiries a month: embed the CRM form, free. With Squarespace forms and Zapier: about USD 20 a month. With Make: free to USD 10. Custom: USD 600 to 1,800 once.

For a store with 200 orders a month: Zapier Starter is enough at about USD 20 a month, Make is cheaper, and custom via the Commerce API only makes sense on Advanced plan with a real reason.

We set this up as part of every build and as a standalone job for existing sites; the standalone job is usually two to four hours plus whatever custom code the situation calls for.

Questions we get

Can Squarespace forms post to a webhook directly? No. There's no webhook option on the form block. Zapier is the closest thing, or a custom form.

Does the Squarespace Zapier trigger fire instantly? It polls, so submissions arrive in Zapier within a few minutes on paid plans and up to fifteen minutes on the free plan. Fine for leads; if you need instant, embed the CRM's form or go custom.

Can I connect Squarespace Commerce orders to accounting software? Yes, via Zapier or Make to QuickBooks, Xero, Bexio and most others. Map order totals, tax and customer details; test with a refund as well as a sale.

What about Squarespace's own Contacts and Email Campaigns? Is that enough? For a small business that wants to email its list occasionally, yes. It's not a CRM: no pipeline, no tasks, no deal tracking. The moment you need to know where a lead is in a process, you need a real one.

Will the HubSpot tracking script slow the site? A little. Load it in footer injection, not header, and it stays out of the render path.

We use Acuity for bookings. Do bookings reach the CRM? Not automatically. Acuity to Zapier to the CRM, or Acuity's direct integrations where they exist. Set it up once; bookings are your warmest leads.

Previous
Previous

Squarespace Accessibility After the European Accessibility Act

Next
Next

Multilingual Squarespace: Weglot vs Manual Duplicate Pages