Your website is where a patient decides they want an appointment, and a button that sends them elsewhere is one more place to lose them. You can put the same booking flow directly on a page of your own site, in your colors, and paste a single piece of code to do it.
Where to find it
Go to Settings → Scheduling → Online booking and open the ⋮ menu beside your Public booking link. The same menu is beside each location under Where appointments happen and each service under Share a specific service, so a location or service you open it from is already chosen for you. Choose Get this on your website and a guide opens with four steps: What to show, Style, Size and Get the code. The menu also has Share link and Open booking page; the page itself is covered in Online booking page.
What to show
- Everything is the full flow, where the visitor chooses a service and a location.
- One service skips the service picker, which suits a Book acupuncture section on a treatments page.
- A Location menu appears when you have more than one location, so a page for your downtown clinic can open on that clinic. Its default is Any location.
- Open on the next available time opens on the soonest bookable time, which suits a Book next available button. It is the same idea as the date shortcut in Booking date picker.
The guide shows a live preview of your real booking flow with your services and open times. Nothing you pick in the preview is booked or held, and if nothing is bookable yet it shows sample times.
Style and size
Start from a look: Goji, Terracotta, Ocean, Blossom or Ink, which set the button color and the background together. Then adjust the button and highlight color, the background (or Blend into my page, which makes it transparent), the corners (Square, Soft or Round) and the font. Dark mode can be Always light, Always dark or Follow the visitor's device.
Fonts other than Default, Serif, Rounded and Monospace load from Google Fonts, so Google sees the visitor's IP address. The guide says so beside the setting. What a visitor enters in the booking flow is never part of that request.
For height, the recommended choice is Fit each step automatically: the frame grows and shrinks with the step the visitor is on, so there is no empty space or inner scrollbar, and it stays between 420 and 900 pixels tall. Or choose A fixed height from 200 to 2000 pixels, and longer steps scroll inside it. The embed always fills the width of its space on your page, so to make it narrower, place it in a narrower column or block.
Paste it on your site
The code is a script line and a goji-booking element. The guide's Where do I paste it? tabs give steps for WordPress (a Custom HTML block), Squarespace (a Code block with Display source turned off, which needs a plan that allows custom code), Wix (Add → Embed code → Embed HTML) and Other / HTML, where the script line only needs to appear once per page. You can come back to the guide any time to change the style, then update the code on your site to match.
On your page, visitors see a loading placeholder, then the booking flow in a frame with a small Powered by link underneath. The flow runs on Goji's own address inside the frame, so what a visitor types never reaches your page. The page can listen for goji:ready and goji:booking-confirmed events, for analytics or a thank-you message, and neither carries anything the visitor entered.
The account setting decides how it behaves
Require an account to book is on by default, and sign-in can't happen inside another site's frame. So with it on, the embed shows your practice name and a Book an appointment button that opens your full booking page in a new tab. To let visitors finish inside your page, turn that setting off in Settings → Scheduling; they then enter a name, email and phone to confirm.
Same calendar, same rules
An embedded booking is held for a few minutes like any other (Reservation holds), follows the same hours, notice and horizon, and honors locations hidden from booking. It lands on your calendar with the Online booking badge, and New online bookings holds it until you match it to a patient. If you turn Public booking off, the frame tells visitors that online booking is paused. Forms have the same option: see Embed a form.
