Embeddable widget
The widget ships hundreds of KB of CSS with Base64 fonts, triggers Cumulative Layout Shift, and is widely treated as a Lighthouse hazard you have to engineer around.
What people actually say
✕The Calendly widget CSS is ~464KB, largely embedded Base64 fonts — the stylesheet alone can introduce a 370ms render-blocking delay because it sits in the document head by default.
Source: Core Web Vitals — speed up Calendly integration ↗✕Calendly widgets are notorious for triggering layout shifts; many load out-of-order with unpredictable heights, hurting Cumulative Layout Shift scores on the host page.
Source: Flowspark — fixing Webflow CLS with Calendly embeds ↗✕Multiple Webflow and agency guides recommend deferring, lazy-loading or replacing the inline embed with a popup just to keep the page usable — i.e. engineering effort to undo the widget's defaults.
Source: Loudface — optimise Calendly embed load time ↗
A lean React booking component shipped from your own CDN, lazy-loaded after first paint, with reserved layout space so CLS stays at zero. No third-party domain, no 464KB stylesheet, no Lighthouse penalty — and the booker design matches the rest of your site instead of fighting it.