How to Add Online Booking to Squarespace in 2 Minutes
Paste one code block into Squarespace and clients can book from your existing site. Popup, floating bubble or inline booking, no plugin and no rebuild.
A hair salon owner in Leeds sent us her Squarespace site last month with one line: "everything is here except the booking." Beautiful photos, a services page with prices, a contact form that people filled in at midnight and she answered at 8am the next morning. Roughly a third of those enquiries never turned into an appointment.
Nothing about the site needed fixing. It needed one block on the services page that says "book now" and actually books.
Here is the two minute version.
The short version
- Create your booking page in ZenSched (services, hours, staff)
- Open Booking setup, then the Share and embed tab
- Pick popup, bubble or inline, then copy the snippet
- In Squarespace, add a Code Block and paste it
- Save, publish, and make one test booking yourself
Step 1: build the booking page first
The widget is just a doorway. What clients see behind it is your ZenSched booking page, so set that up before you touch Squarespace.
The minimum useful setup is your services with honest durations, your business hours, and your staff. Durations matter more than people expect. If a balayage really takes two hours and forty minutes, put that in, because ZenSched checks the full service duration against the calendar before it offers a slot. Round it down to two hours and you will spend your Saturdays apologising.
If you need details before the appointment, add custom intake fields. Pet breed, hair history, session goals, whatever you currently ask over DM.
Step 2: choose how booking appears on your site
There are three ways to put ZenSched on a Squarespace page, and they suit different pages.
| Style | Best for | What the client sees |
|---|---|---|
| Inline | A dedicated Book page | The booker sitting in the page, like part of your site |
| Popup | Services page, pricing section | A button. It opens the booker in a modal over your page |
| Bubble | Whole site | A small floating launcher in the corner of every page |
| Plain link | Personal plans, nav menu items | A normal button that opens your booking page |
For most service businesses the honest answer is bubble plus one inline block. The bubble catches people who are two thirds through reading and decide now; the inline block catches people who came specifically to book.
Step 3: copy your code block
In ZenSched, go to Booking setup and open the Share and embed tab. Pick your style, set the button label and color, then hit Copy. You get a single script tag that looks roughly like this.
<script
src="https://zensched.app/v1/embed.js"
async
data-business="your-store"
data-storefront="your-shop"
data-mode="bubble"
data-primary="#0d0c0b"
data-button-label="Book now"
data-position="bottom-right"
data-on-booked="stay"
></script>
Do not hand type this. The data-business and data-storefront values come from your own booking link, and copying from the dashboard means they are always right.
Step 4: paste it into a Squarespace Code Block
In the Squarespace editor:
- Open the page where you want booking (Services works well)
- Click an insert point, then choose Code from the block menu
- Set the block type to HTML
- Paste the ZenSched snippet, then click outside the block
- Save, then Publish
Two things trip people up here. First, the Code Block editor sometimes shows a placeholder rather than the live widget while you are still editing, which is normal; check the published page, not the editor. Second, Code Blocks need a Business plan or higher. If you are on Personal, skip to the link setup below.
The no code alternative that still works
If you do not want a Code Block at all, use a button. In any Squarespace button or navigation item, set the link to your ZenSched booking link:
https://your-shop.zensched.app/your-store
The subdomain is your storefront, and the path after the slash is the specific booking page. Clients get the same branded booker, the same availability checks, the same confirmation email. The only difference is that they land on a ZenSched page instead of staying on yours.
Start with the link. It takes thirty seconds and it works on every plan. Move to the embed when you want people to stay on your page.
Step 5: test one real booking
Book yourself, then check three things: the appointment appears on your ZenSched calendar with the right duration, the confirmation email arrives, and the slot you just took is no longer offered.
That last one matters. Two clients hitting the same slot at the same moment is the failure everyone worries about, and ZenSched validates capacity and existing appointments at the moment of booking, not just when the page loaded.
Long tail details people ask about
Can I use different snippets on different pages? Yes. A popup button on the services page and an inline booker on a dedicated Book page is a common setup. Use one bubble snippet at most, though, or you get two launchers.
Will the widget work on mobile? The booker is responsive and the popup goes near full screen on small phones so the date and time steps stay readable.
Can I track bookings in analytics? A zensched:booked event fires on window when a booking completes, so you can pass it to GA4 or anything else you already run.
What happens after booking? Your choice in the snippet: stay on the confirmation screen, close the widget, or redirect to a thank you page on your Squarespace site.
FAQ
FAQ
Where exactly is the snippet in ZenSched?+
Booking setup, then the Share and embed tab. Choose inline, popup or bubble, adjust the label and color, then copy.
Do I need a Squarespace extension or plugin?+
No. One script tag in a Code Block, or a plain link in a button. Nothing to install.
Can I change the widget later without editing my site?+
Services, hours, staff, branding and intake fields all live in ZenSched, so those change without touching Squarespace. Only the display style is set in the snippet.
Will it double book if two people click the same slot?+
No. Availability is validated against service duration, staff hours, buffers, capacity and existing appointments at the moment the booking is created.
Put booking on your Squarespace site today
Create your booking page, copy the snippet, paste it into a Code Block. Free to start.
Frequently asked questions
FAQ
How do I add online booking to Squarespace?+
Create a booking page in ZenSched, copy the embed snippet from Booking setup, then paste it into a Squarespace Code Block on the page where you want booking. Clients book in a popup, a floating bubble or inline, without leaving your site.
Do I need a paid Squarespace plan to use a Code Block?+
Code Blocks require a Business plan or higher on Squarespace. If you are on a Personal plan, use the link setup instead: point any Squarespace button at your ZenSched booking link. It takes the same two minutes and costs nothing extra.
Will the booking widget slow my Squarespace site down?+
The snippet is a small async script. It does not block your page from rendering, and the booking view itself only loads when a client opens it, so a bubble or popup setup adds almost nothing to your page weight.
Can I match the booking widget to my Squarespace brand?+
Yes. Your logo, colors and fonts come from the Appearance tab in ZenSched, and the widget button color is set right in the snippet, so it can match your site palette exactly.
Does ZenSched work with Squarespace Scheduling or Acuity?+
You do not need both. ZenSched replaces the booking layer entirely, so you keep Squarespace for the site and run services, staff, hours and reminders in ZenSched.
Can clients pay a deposit when they book?+
Not today. ZenSched takes the booking and sends confirmation and reminder emails. Payment happens in person or through whatever you already use.
Keep reading
- How to add booking to a Squarespace site
- How to add booking to a Wix website
- Booking widget for WordPress
- Online booking page
- Custom booking fields
- Salon booking software
Ready to try ZenSched?
Get your booking page live in under 10 minutes. No credit card.
Written by The ZenSched Team. We build ZenSched, a calmer booking tool for local service businesses.