Updated On:
April 17, 2024

How to Optimize Calendly Embed Load Time on Webflow

Optimize Calendly Embed Load Time on Webflow: A Step-by-Step Guide

Arnel Bukva


Is your Calendly widget taking forever to load on your Webflow website? You're not alone. Slow load times can frustrate users and potentially cost you valuable conversions. But don't worry; we've got you covered. This guide will walk you through the steps to optimize the Calendly embed load time on your Webflow site.

Key Takeaways

  • Understand the prerequisites and tools required for optimization.
  • Follow a step-by-step procedure to optimize Calendly embed load time.
  • Learn how to troubleshoot common issues.

Prerequisites: What You Need to Get Started

Before diving into the optimization process, make sure you have:

  1. A basic understanding of HTML, JavaScript, and Webflow.
  2. Access to the Webflow project where the Calendly widget is embedded.
  3. An active Calendly account and event to embed.

Tools You'll Need

  • Webflow Editor
  • Code Editor (optional)
  • Browser Developer Tools

Step-by-Step Guide to Optimization

Step 1: Locate the Calendly Embed Code

First things first, find the existing Calendly embed code in your Webflow project. It should look something like this:

<!-- Calendly inline widget begin -->
<div class="calendly-inline-widget" data-url="https://calendly.com/your-event"
<script type="text/javascript" src="https://assets.calendly.com/assets/external/widget.js" 
<!-- Calendly inline widget end -->

Step 2: Remove the Script Tag

Next, remove the <script> tag from the embed code. This will prevent the Calendly script from loading immediately, which is a good thing for our optimization process.

Step 3: Implement Lazy Loading

Now, let's add a lazy loading script. This JavaScript code will load the Calendly script only when the user is about to view the widget. Add the following code to your Webflow project's custom code section:

document.addEventListener("DOMContentLoaded", function() {
  const observer = new IntersectionObserver((entries) => {
    entries.forEach((entry) => {
      if (entry.isIntersecting) {
        const script = document.createElement("script");
        script.src = "https://assets.calendly.com/assets/external/widget.js";
        script.async = true;
  const calendlyDiv = document.querySelector(".calendly-inline-widget");

Step 4: Test the Changes

After implementing the changes, it's time to test:

  1. Save and publish your Webflow site.
  2. Open the live site and inspect network activity using browser developer tools.
  3. Scroll down to where the Calendly widget should appear.
  4. Confirm that the Calendly script only loads when you're about to view the widget.

Step 5: Document Your Changes

Last but not least, document the changes you've made. This will help you or anyone else who works on the project in the future.

Troubleshooting Tips

  • Widget Not Loading: Make sure the lazy loading JavaScript code is correctly placed in the Webflow custom code section.
  • Script Errors: Check the browser console for any errors and resolve them accordingly.

The Final Word

Optimizing the Calendly embed load time on your Webflow website is not just about improving speed; it's about enhancing the user experience. Follow this guide, and you'll be well on your way to a faster, smoother, and more efficient website.