Skip to content
SourceLoop
Meeting tracking

How to track lead source in TidyCal

Pin every TidyCal booking to the marketing channel that produced it so you can stop guessing which content, ad, or referral actually drives your calls.

On this page
  1. What SourceLoop captures from TidyCal
  2. Before you start
  3. Step 1: Install the SourceLoop tracking script
  4. Step 2: Embed your TidyCal booking widget
  5. Step 3: Verify it’s working
  6. Where to see TidyCal bookings
  7. Contacts Hub
  8. Attribution dashboard
  9. Funnel reports
  10. Common issues

TidyCal is the scheduler of choice for solopreneurs, consultants, and lifetime-deal collectors who want Calendly’s experience without the recurring bill. The trade-off most users don’t notice until later: when bookings start coming in, there’s no clean way to see which marketing effort actually produced them. This guide fixes that.

Five minutes start to finish, no API keys, works on every TidyCal plan.

What SourceLoop captures from TidyCal

After setup, every TidyCal booking arrives in SourceLoop tagged with:

  • Acquisition source plus the full UTM set (utm_source, utm_medium, utm_campaign, utm_content, utm_term) from the visitor’s first session
  • Conversion sequence: chronological list of every page they viewed leading up to the booking
  • Days from first visit to booked call, useful for understanding your content-to-call timeline
  • Number of return visits before the prospect finally booked
  • Contact email captured from the TidyCal booking form
  • First-seen landing page and the referring URL
  • Most recent session source right before the booking happened
  • Device, location, and browser so you can spot patterns by segment

Before you start

You’ll need:

  • A SourceLoop workspace (free trial)
  • Edit access to the website where your TidyCal widget will be embedded
  • A TidyCal account with at least one booking type configured

Step 1: Install the SourceLoop tracking script

Sign in to SourceLoop, click into Setup from the left menu, and select the Tracking code tab. Grab the snippet displayed there.

SourceLoop Setup page showing the tracking snippet ready to copy

Paste the snippet inside the <head> of your site, the page that hosts the TidyCal embed especially, but installing it site-wide gives you a full picture of every visitor’s journey before they finally book.

Step 2: Embed your TidyCal booking widget

In TidyCal, open your booking type and head to the Embed tab. TidyCal gives you a few placement options:

  • Inline iframe: drops the full TidyCal calendar directly onto your page
  • Popup button: opens TidyCal in a modal when a visitor clicks a CTA
  • WordPress block: if your site runs on WordPress, the official TidyCal block embeds it natively

All three feed SourceLoop equally well. The only rule: the page that displays the embed must also have the SourceLoop snippet from step 1. Once both are in place, every booking through the widget shows up in SourceLoop with the full marketing journey attached.

Step 3: Verify it’s working

Open your booking page in an incognito tab, add ?utm_source=test&utm_medium=verify&utm_campaign=tidycal-check to the URL, and book a test slot with a real email address you control.

Pop over to the Contacts Hub in SourceLoop, the test booking should show up within seconds, with the test UTM values attached to the contact record.

Where to see TidyCal bookings

Once everything’s wired, your TidyCal bookings show up across three different SourceLoop views, each useful for a different question:

Contacts Hub

Open app.sourceloop.ai/contacts and you’ll find every TidyCal booking as a contact row. Click into any row to unfold the full pre-booking story, what brought them in, what they read on the way, and how many sessions it took before they were ready to schedule.

SourceLoop Contacts Hub showing a TidyCal booking with the lead's full pre-booking journey

Attribution dashboard

Switch to app.sourceloop.ai/dashboards/traffic to see TidyCal bookings broken down by source, medium, and campaign. The view answers questions like “is my newsletter actually driving calls, or just opens?” and “which podcast guest spot delivered the most bookings?”

SourceLoop attribution dashboard with TidyCal bookings grouped by source and campaign

Funnel reports

Build a funnel in app.sourceloop.ai/funnels ending in a “TidyCal booking” step. Slice it by source or by landing page to see your highest-converting paths, the ones where visitors actually become booked calls instead of bouncing.

SourceLoop funnel report ending in a TidyCal booking conversion step

If you’re running paid acquisition, you can also forward the TidyCal bookings to Google Ads, Meta, and LinkedIn as offline conversions so the ad platforms can optimize against real booked calls rather than form fills. Connect your Google Ads account walks through that setup.

Common issues

Frequently asked questions

  1. Does this work with the TidyCal lifetime deal plan?

    Yes. Whatever TidyCal plan you have (Free, Lifetime, or Pro), the attribution flow is identical. Setup happens entirely on your website with no TidyCal-side configuration.

  2. What about TidyCal's WordPress plugin?

    Works fine. As long as the SourceLoop snippet is also loaded on the WordPress page where the TidyCal block lives, bookings made through it are captured normally.

  3. I post my TidyCal link in my Twitter bio and Instagram profile. Will those bookings be attributed?

    No. Bookings made directly through a `tidycal.com/<your-handle>` link won't show up in SourceLoop, because the visitor never lands on a page that has the tracker. To attribute social profile traffic, point your bio links to a landing page that embeds the TidyCal widget instead.

  4. Does this support TidyCal's group bookings and paid bookings?

    Yes. Group sessions, paid bookings, and standard 1-on-1 meetings all run through the same embed code, so they all get the same attribution treatment.

  5. Can I attribute past TidyCal bookings retroactively?

    No. SourceLoop only captures bookings made after the tracking script is installed and the embed is live on a tracked page. Historical bookings can't be backfilled.

Track every conversion to its true source

Capture and send full attribution data from every signup, lead, booking, and sale to your CRM and ad platforms, so you know exactly what's driving revenue.

Without SourceLoop

Untagged

Kayden Floyd

kayden@abc.com

  • SourceUnknown
  • MediumUnknown
  • CampaignUnknown
  • Landing pageUnknown
Journey
No touchpoints captured

With SourceLoop

Auto-tagged

Kayden Floyd

kayden@abc.com · Acme Co.

  • Channel Paid Social
  • CampaignFree_demo
  • Landing page/pricing
Journey
Synced to HubSpot Google Ads Meta