How to Track Calendly Bookings on a Webflow Site
Tracking a click on a Calendly button is easy. Tracking a finished booking takes one more step. You need a signal that fires only when the booking is confirmed. Send that signal to Google Tag Manager, pass it to GA4 as an event, and mark that event as a key event.

Is your Webflow site slow, costly or hard to find?
Send me your siteWhy it matters
A click on "Book a call" is not a booking. Many visitors open the calendar and leave. If you count the click, your numbers look better than your real results.
Webflow's Calendly article covers adding the calendar. It does not mention tracking, analytics, events or redirects after booking. So the tracking is something you add yourself.
Webflow lists four options. Inline Embed and Popup Text go in a Code Embed element. Popup Widget goes in the page settings, in the Before tag section. A button link just points to your Calendly URL.
How to check it
- Find your setup. Open the page in the Designer. Is Calendly an inline embed, a popup or a plain button link?
- Check where the code lives. Look in Code Embed elements and in Page settings, then Custom code.
- Check Tag Manager. Open Preview and connect your site. If it connects, the container loads.
- Check for a second GA4 install. Use one method only, to avoid duplicate tracking.
- Look for existing click triggers. A click trigger shows interest, not a booking.
- Watch GA4 Realtime. Make a test booking, then cancel it in Calendly. See whether an event appears.
- Check consent. Google says events will not appear if client-side privacy controls are in place, or if consent mode is active and you have not consented.
How to fix it in Webflow
- Decide what counts. Count the confirmed booking as the conversion. Treat the click as a smaller step.
- Find your confirmation signal. Check Calendly's own help for what it offers when a booking is confirmed. That is outside the sources used for this post. Webflow's article does not cover it.
- Pick a name. Use a short event name, such as calendly_booking. Special characters are not allowed in GA4 event names.
- Push the event to the data layer. When your confirmation signal fires, run a data layer push with an event key. Google's example looks like this: dataLayer.push({'event':'button1-click'}). Use your own name in its place.
- Add the script in Webflow. Put it in Site settings, then Custom code, or in the page's custom code. Leave out html, head and body tags.
- Create a Custom Event trigger. In Tag Manager, go to Triggers, then New. Choose Custom Event. Enter the exact event name. Google says this trigger covers interactions that standard methods do not handle.
- Create the GA4 tag. Go to Tags, then New. Choose Google Analytics: GA4 Event. Enter your Measurement ID and the event name. Attach the Custom Event trigger.
- Test in Preview. Click Preview, enter your site URL and click Connect. Make a test booking. Confirm the tag fired.
- Publish the container. Click Submit, then Publish and Create Version.
- Publish the Webflow site. Webflow says custom code appears only on the published site, not in preview or the Designer.
- Mark it as a key event. In GA4, go to Admin, Data display, Events, and click the star. Google says this affects reports only from that point on.
- Keep the click separate. If you track the button click too, use a different event name.
Checklist
- You know which Calendly option you use.
- The conversion is the confirmed booking.
- Your confirmation signal is checked in Calendly's help.
- The event name has no special characters.
- A Custom Event trigger matches it exactly.
- The GA4 Event tag uses the right Measurement ID.
- Preview showed the tag firing.
- The container and the site were both published.
- Realtime showed the event.
- The key event was marked in GA4.
FAQ
Can I just track clicks on my Calendly button?
You can. Use a Click trigger on the button ID. But a click is not a booking. Keep it as a separate, smaller event.
Why does Preview show the event but GA4 shows nothing?
Check consent and privacy controls. Google says events will not appear if they are in place. Realtime shows events within minutes. Standard reports can take up to 24 hours.
Do I need a paid Webflow plan?
Webflow's Calendly article does not mention plan requirements. Custom code does need a Core, Growth, Agency or Freelancer Workspace, or an active Site plan.
Dealing with this on a live Webflow site? It is the kind of work I do in Analytics. Send me your site and I will tell you what I would fix first.


