What you need
Three things — that’s it:
- A booking tool that gives you an embed code — a short snippet you copy (e.g. Kaufmann Health, Cal.com, or Calendly).
- A website with a code block — every common site builder has one, often on the free plan.
- Your open hours set in the tool — so clients see real openings, not a dead end.
Three steps to live
1Copy the code snippet
Open the embed code in your booking tool and copy it with one click. In Kaufmann Health it lives in your portal under “Booking widget.” The snippet looks like this — you’ll get your own, ready to paste, with your handle in place of your-practice:
<div data-kh-booking="your-practice"></div>
<script>(function(d,w){var s=d.createElement('script');
s.src='https://www.kaufmann-health.com/widget.js';s.async=true;
d.head.appendChild(s);})(document,window);</script>If your platform allows external scripts, this shorter tag works too:
<script src="https://www.kaufmann-health.com/widget.js" data-therapist="your-practice" async></script>2Paste it into a code block
Drop the snippet where the booking field should appear — usually a block called “Code,” “Embed,” or “HTML.” The same spot a Cal.com or Calendly embed would go.
3Save — done
Visitors pick an open time and book. The appointment lands on your calendar, and reminders are handled for you. You never touch the code again: availability, session types, and language stay current automatically.
Where the code goes on your site
Almost every site builder has a block for your own code. On Squarespace it’s “Code,” on Wix “Embed / HTML,” on WordPress the “Custom HTML” block, on Webflow an “Embed” element. You paste the snippet wherever the booking field should sit — often a dedicated “Book” page or near the bottom of your homepage.
Watch out on cheaper plans: some builders block external <script src> tags on their free or starter plans. A snippet that loads the script at page load (the recommended one above) sidesteps that — it carries no <script src> in the pasted code. So the booking field works even where the plain tag would be rejected.
Embed, iframe, or redirect?
There are three ways to get clients to a booking. The difference decides whether they stay on your page — and whether you keep the trust and the search signal, or hand them off.
| Approach | Where booking happens | Client stays with you | Setup |
|---|---|---|---|
| Embed a code snippet | on your site | yes | paste once |
| Embed an iframe | on your site (framed) | yes | paste; height can be finicky |
| Link / button to an external page | on someone else's site | no — new tab | just a link |
The embedded approach is strongest: clients book in the trusted context of your own page, you don’t lose them to a foreign tab, and your page collects the engagement signal. A plain redirect is quick to set up but costs you exactly that context.
What to watch for when you embed
- Consent banner: a good booking field is cookieless and adds no new consent requirement to your site. Check that before you embed.
- Payment: booking handles scheduling, not money — you invoice the way you already do.
- Staying current: if the snippet loads times live, you paste it once and never edit code again.
- Online and in person: if you offer both, a tool that shows separate hours per format helps.
- If you pause: make sure the field doesn't leave a broken error behind when booking isn't active — ideally it falls back to your profile card.
How Kaufmann Health fits
Kaufmann Health is one option of several. The embed code is ready in your portal — copy once, paste on your site, done. The booking field is built for the therapy flow (a free intro call, then a session), it’s cookieless, and it’s part of your verified profile in a modality-specialized directory. Booking, EU-hosted video, and invoicing work together — one setup instead of three tools that don’t talk to each other.
If your current setup works, keep it. And if you want booking handled cleanly on your own site, you can see online booking in Kaufmann Health.
