Built for growth teams running paid ads
✦ Free forever — no credit card

Every booking.
Every dollar.
Tracked.

Calendly drops your UTMs and click IDs in iframes. CitaCal captures all 10 attribution signals — UTMs, gclid, li_fat_id, fbclid — and fires them to your CRM the moment a demo is confirmed.

Start free — always freeSee how it works ↓
10
attribution params
5
ad platforms
0
lost click IDs
app.citacal.com
Total Bookings
1,842
This Week
47
Top Source
LinkedIn
Attribution Coverage
94%
Click ID Capture
81%
NAMEEMAILSOURCECAMPAIGNCLICK IDSTATUS
Sarah Chensarah@acme.colinkedinq1-demo-bli:CjwK…confirmed
Marcus Webbmwebb@stripe.iogoogleq1-demo-agclid:EAIa…confirmed
Priya Rajanpriya@notion.solinkedinq1-brandli:EAIb…pending
Tom Vickerstvick@linear.appgoogleq1-demo-agclid:EAIc…confirmed
Amy Zhangamy@figma.comtwitterretarget-marconfirmed

The $10,000 attribution gap

You spend $50k/mo on ads. Your calendar tool silently drops attribution on the most important click — the booking. Here's the difference.

SignalStandard calendarsCitaCal
utm_source Lost in iframe Captured & stored
utm_campaign Lost in iframe Captured & stored
gclid (Google Ads) Never captured Captured & stored
li_fat_id (LinkedIn) Never captured Captured & stored
fbclid (Meta) Never captured Captured & stored
CRM webhook Manual Zapier setup Native, server-side
Round-robin routing Not available Built-in

Attribution that actually survives

From the first ad click to the CRM entry — every signal preserved.

🎯
Step 01
Visitor clicks your ad

UTMs and click IDs land in the URL. CitaCal captures all 10 signals immediately — before the booking page even loads.

utm_source=linkedin
utm_campaign=q1-demo
li_fat_id=CjwKCAj…
📅
Step 02
They pick a time

Your booking page shows real availability from Google Calendar or Outlook. Round-robin assigns the right team member.

Real-time availability
Team round-robin
Conflict detection
Step 03
Attribution fires instantly

On confirmation, CitaCal fires a server-side webhook with full booking + attribution context — to your CRM, Slack, or anywhere.

{ "utm_source": "linkedin",
  "gclid": "EAIa…",
  "booking": { … } }

Built for growth teams

Booking experience

Clean scheduling.
Zero attribution loss.

Your booking page shows real-time availability pulled from Google Calendar or Outlook. Visitors pick a time in their timezone — all attribution signals ride along silently in the background.

  • Timezone-aware slot picker (600+ IANA zones)
  • Real availability from Google Calendar & Outlook
  • Rate limiting + disposable email blocking
  • Attendees can check their own calendar for conflicts
app.citacal.com
30-min Demo Call
with Aiden Hart · 30 min
📹 Google Meet
🌍 India Standard Time
Attribution captured
utm_source: linkedin
utm_campaign: q1-demo
li_fat_id: CjwKCA…
Select a date & time
Mon Mar 3
Tue Mar 4
Wed Mar 5
9:00 AM
9:00 AM
9:00 AM
9:30 AM
9:30 AM
9:30 AM
10:00 AM
10:00 AM
10:00 AM
10:30 AM
10:30 AM
11:00 AM
11:00 AM
2:00 PM
2:00 PM
2:00 PM
app.citacal.com
Booking Analytics
Source: linkedin
Campaign: q1-demo
Status: all
Export CSV ↓
linkedin
847
google
582
twitter
190
(direct)
113
email
84
Attribution analytics

Know which campaigns
drive booked demos.

Filter bookings by source, campaign, or click ID type. See attribution coverage rates so you can spot gaps. Export every row with full UTM context for your data warehouse.

  • 5 UTM params + 5 click IDs on every booking row
  • Filter by source, campaign, status, date range, or free text
  • Attribution coverage % and Click ID capture rate KPIs
  • CSV export with all fields for BI tools
Team scheduling

Round-robin routing
with real availability.

Assign any scheduling page to a team of AEs or SDRs. CitaCal routes each new booking to the least-recently-booked available rep — no double-bookings, no Zapier hacks.

  • Checks each rep's calendar in real time
  • Routes to least-recently-booked available rep
  • Race condition guard via database unique index
  • Each rep connects their own Google Calendar or Outlook
Round-robin assignment
A
Aiden Hart
Assigned ← this booking
last: 2h ago
P
Priya Rajan
Available
last: 4h ago
M
Marcus Webb
Busy 10–11 AM
last: 6h ago
S
Sarah Chen
Available
last: 8h ago
POST booking.confirmed → your webhook
{
  "event": "booking.confirmed",
  "booking": {
    "name": "Sarah Chen",
    "email": "sarah@acme.co",
    "date": "2026-03-04",
    "time": "10:00 AM"
  },
  "utm": {
    "source": "linkedin",
    "campaign": "q1-demo",
    "medium": "paid"
  },
  "click_ids": {
    "li_fat_id": "CjwKCAj…",
    "gclid": null,
    "fbclid": null
  }
}
Webhooks & integrations

Fire to your CRM
the moment it's booked.

Configure webhook URLs in Settings. CitaCal fires a signed POST to your endpoint instantly on booking confirmation — with full attribution context, no Zapier required.

  • Server-side webhooks (no client-side drops)
  • HMAC signature for security
  • Full UTM + click ID context in every payload
  • Connect to HubSpot, Salesforce, Slack — anything

Stop losing attribution
at the booking step.

Set up in 10 minutes. Connect your calendar. Start capturing every click ID.
CitaCal is completely free — no plans, no trials, no credit card.

Get started — it's free →
Free forever · No credit card · Connect Google Calendar in one click