What the SavvyCal embed does, and what you need first
SavvyCal ships a JavaScript embed library that puts a scheduling link on your own website, so visitors book without leaving the page. It is one of three developer routes the vendor offers, next to the REST API and webhooks. Website embedding is included on both paid plans, Basic and Premium, as is the browser extension covered later in this guide [1]. Basic costs $12 per user a month billed monthly, or $10 billed annually. That last point matters. SavvyCal has no free scheduling plan: a free account can set things up and run meeting polls, but your links only go live for other people once you pay.
Before you paste any code, have the link itself ready. The embed shows whatever the link is set to do, including durations, availability, custom questions and payment, so fix those in the app first. If you are still at that stage, our guide on how to use SavvyCal walks through creating links and availability. Embeds arrived in November 2020 as a lightbox opened from hyperlinks or an Intercom-style widget button, and inline embedding followed in May 2021. Both still form the core of the library today.
Four ways to put a booking page on your site
The help center describes four modes for the embed script [2]. You can display a pop-up from a hyperlink, display a floating pop-up button, open a pop-up from your own JavaScript, or render the booking page inline. The vendor's marketing pages describe the same choices in plainer words: embedded inline, as a floating widget, or triggered by a hyperlink, a button or a JavaScript call. Which one you pick depends on how central booking is to the page. Pick by intent, not looks.
Inline, for pages built around booking
The inline mode renders the booking page inside your layout, like any other block of content. It suits a dedicated contact or demo page where scheduling is the whole point, because the visitor sees open times without a click. The trade-off is space. SavvyCal booking pages show a calendar grid in week view by default, and that grid needs room to breathe, so give the container a generous width rather than squeezing it into a sidebar. Embeds can also show index pages, the page at your team or user address that lists several links, so a services page can offer every meeting type in one block.
Pop-ups, for pages with other jobs
The three pop-up modes keep the page clean and open the booking page in a lightbox on demand. A hyperlink pop-up turns an ordinary link in your copy into a trigger. The floating button stays in a corner of every page, which works well on a marketing site where a visitor might decide to book at any point. The JavaScript mode lets your own code open the pop-up, for example after a form step or a pricing calculator. The October 2021 embed update also moved the widget's close button to a better position.
Options: theme, week or month view, prefill and metadata
The embed accepts settings that change how the booking page looks and what it already knows. For appearance, you can set a light, dark or OS theme, so the page follows the visitor's system setting, and choose week or month view. Dark mode through the theme setting arrived in October 2021. For data, you can prefill the scheduler's email, name and phone, the answers to custom questions, and metadata. Prefilling is the most useful option when the visitor is already known, such as a logged-in customer or someone who just filled in a form. Name and email prefill came first, in January 2021, through the email and displayName options.
Metadata deserves a closer look. It lets you store custom properties on the event, such as an account ID or a campaign, that the scheduler never sees but that you can read back later through webhooks or the SavvyCal API. The same works through the link's query string. Custom questions also have a hidden type that exists only to be prefilled, which is another way to carry context into the booking. For the developer side of metadata and webhooks, see our SavvyCal API guide.
Pass the visitor's name, email and phone, plus hidden metadata, through the embed or the query string so known contacts book faster and every event carries its source.
Site builders with their own rules
Most sites take the standard snippet without trouble, but the help center calls out a few builders with quirks. It does not publish guides for every platform, so the list below covers only what the documentation names. If your builder is not on it, start with the standard snippet, and fall back to the restrictive-builder script if the code does not run.
- Framer. Framer is built on React, and SavvyCal recommends a custom React code component rather than the plain script. That component is meant to be used only once per page.
- Wix. The embed works, but redirecting to a custom confirmation URL after booking is not supported, because of security restrictions Wix enforces.
- Restrictive builders. For website builders that restrict how scripts and links can be set up, SavvyCal provides a custom script that opens the embed pop-up on any link containing the word Schedule.
- Podia. A dedicated integration lets you place a SavvyCal link on a Podia Coaching page.
- Digioh. An integration embeds a scheduling link directly inside a Digioh box.
Framer needs a React code component used once per page, and Wix does not support redirecting to a custom confirmation URL after booking.
Tracking bookings from the embed
An embed is only as useful as what you can measure from it, and SavvyCal gives you several hooks. When someone books through an embedded page, the embed dispatches a savvycal.scheduled event on the window. Your analytics code can listen for it and record a conversion without any server work. Links can also redirect to a custom confirmation page after booking, which the vendor suggests for analytics goal tracking. The redirect can append the link, email, display name, start and end times and the event URL to the address, so your thank-you page knows what was booked. Remember the Wix exception above.
UTM parameters appended to a scheduling link are stored in the event metadata and exposed through webhooks, the REST API and Zapier, so campaign attribution survives the booking. For page-level traffic, SavvyCal integrates with Fathom Analytics, which it presents as privacy-first analytics. Fathom can track visits on scheduling links under your personal URL or under teams you manage. Inside the app, Premium users also get analytics reports: a Traffic report with conversion rate and an Event Activity report. Each link shows how many times it was used and a filtered history of its events.
Sharing links in email: the Chrome extension
Not every booking starts on a website. A lot of scheduling happens inside an email thread, and that is the job of the SavvyCal browser extension, which launched in October 2022. It is in the Chrome Web Store and also works in Microsoft Edge and Brave [3]. It gives one-click access to your scheduling links from any page, and it can copy or insert a link, or a snippet of proposed times, natively in Gmail or elsewhere. By default it has no access to the contents of the pages you view. It only runs code to insert a link when you click Insert, which should ease the minds of security-conscious teams.
The proposed-times snippet is the most practical part. Instead of sending a bare link, you paste a short list of open times drawn from your availability, and the recipient can pick one. That feature exists in the web app too. For newsletter writers, there is also a SavvyCal plugin for Kit that inserts a live availability preview image into emails through a /savvycal shortcut, and the image refreshes as slots are taken. Raycast users can also access their links through a separate integration.
Single-use, multi-use and personalized links
How you share a link matters as much as where. Every link is either multi-use, which is the default and can be booked again and again, or single-use. A single-use link can be booked only once and is archived automatically after that booking. That makes it the right choice for a one-off invitation, such as a candidate interview or a podcast guest, where you do not want the link forwarded and booked twice. Links can also be paused, archived or deleted when you clean up.
Personalized links go a step further. They let you customize every property of a link for one recipient, including the title, description and availability, and prefill their name and email. The query string can also carry the email, display name, phone, a from date that sets the first week shown, the time zone and answers to custom questions. A d parameter preselects a duration, so ?d=30 opens a link straight on its 30-minute option. All values should be URL-encoded. These parameters make a plain link nearly as smart as a configured embed.
A single-use link can be booked once and archives itself, which suits interviews and guest invitations that should not be forwarded.
Availability sharing and the calendar overlay
SavvyCal's best-known idea also shows up on embedded pages. Recipients can overlay their own calendar on the booking page, so they see their events next to your open times instead of switching tabs to check. Overlaying is free. A recipient does not need a paid account, and even a customer who cancels a paid subscription keeps the ability to overlay their calendar on other people's links.
Availability sharing is the next step. Anyone can share their availability with other SavvyCal users and be invited as a guest on scheduling links for free. A paid account is still needed to create links, to be the organizer on someone else's link or to join a round robin pool. The recipient can revoke sharing at any time from their People page. Since February 2026, contact records let you ask a past scheduler to share availability directly from their contact page. Collective links can also invite people outside your team to share theirs.
Branding and custom domains
Branding comes in two layers. On both plans you can set a banner image, primary and accent colors, an avatar, and a light or dark theme, so an embed can match your site's palette. Booking pages detect the visitor's language, but only English, French and Dutch are supported. The second layer is Premium. Removing the SavvyCal branding, custom domains and custom sending domains are Premium-only. Premium costs $20 per user a month billed monthly, or $17 billed annually.
A custom domain serves your links, profiles and polls on an address such as meet.yourcompany.com [4]. You set a CNAME on a subdomain pointing to custom.savvycal.com. The bare domain should not be used. Only one individual or team can be assigned to the root of a custom domain, and the original savvycal.com addresses keep working. Since October 2024 the root can show the profile page and links can sit at the top level, and you can upload a favicon, ideally 32x32 in png, gif or ico. One embed detail is easy to miss. With a custom domain, the embed's init call must include an origin property naming that domain.
Frequently asked questions
Can I embed SavvyCal on my website?+
Yes. The JavaScript embed works inline or as a pop-up opened from a hyperlink, a floating button or your own code, and it is included on both paid plans.
Does the SavvyCal embed work on Wix?+
Yes, but redirecting to a custom confirmation URL after booking is not supported on Wix because of its security restrictions.
How do I embed SavvyCal on Framer?+
SavvyCal recommends a custom React code component, which is meant to be used only once per page.
Can I track bookings from a SavvyCal embed?+
Yes. Embedded bookings dispatch a savvycal.scheduled event on the window, links can redirect to a custom confirmation page, and UTM parameters are stored in event metadata.
Can I use my own domain with SavvyCal?+
Yes, on Premium. You point a CNAME on a subdomain to custom.savvycal.com, and the embed's init call must then include an origin property.
Is there a SavvyCal browser extension?+
Yes. It is in the Chrome Web Store, also works in Edge and Brave, and copies or inserts links and proposed-time snippets in Gmail or any page.
The bottom line
The SavvyCal embed is flexible enough for most small-business sites: four display modes, theme and view options, prefill and hidden metadata, and a window event for conversion tracking. The Chrome extension and single-use links cover the bookings that start in email. The limits are specific rather than broad. Framer and Wix need care, the docs name only a handful of builders, booking pages speak three languages, and white-labeling plus custom domains sit on Premium. Every live link needs at least Basic. If your site builder accepts a script, setup is mostly configuration.
- [1] SavvyCal pricing page (2026-10) https://savvycal.com/pricing
- [2] SavvyCal Help: embedding links on your website (2026-10) https://docs.savvycal.com/article/6-embedding-links-on-your-website
- [3] SavvyCal Help: installing savvycal for chrome (2026-10) https://docs.savvycal.com/article/88-installing-savvycal-for-chrome
- [4] SavvyCal Help: custom domains (2026-10) https://docs.savvycal.com/article/116-custom-domains