Integrate an appointment calendar | Guides | Metrikia
Intermediate4 min

Integrate an appointment calendar

Set up Cal.com, Calendly, Google Calendar, or iCal with Metrikia to automatically track appointments and calculate your cost per booked appointment.

Objective

By the end of this guide, your appointment bookings will be automatically synced into Metrikia. You will be able to calculate your cost per booked appointment, show-up rate, and cost per completed appointment, metrics that are invisible without this integration.

Why it matters: Between a lead and a sale, there is an appointment. Without tracking this step, you have a black hole in your funnel. You know how much a lead costs, but not how much a qualified appointment costs.

1. Cal.com

Cal.com is the recommended open-source solution for its flexibility and native webhook integration.

Setup

  1. Go to Settings > Integrations > Cal.com
  2. Click Connect : copy the webhook URL provided by Metrikia
  3. In Cal.com, go to Settings > Developer > Webhooks
  4. Add a new webhook with the copied URL
  5. Select events: BOOKING_CREATED, BOOKING_CANCELLED, BOOKING_RESCHEDULED
  6. Save

What syncs

  • Booking created: date, time, event type, guest information
  • Cancellation: status changes to "cancelled" in Metrikia
  • Reschedule: old date is archived, new one is created
  • Lead linking: Metrikia matches the guest by email with your existing leads

Event type mapping

You can map your Cal.com event types to Metrikia categories:

  • "15min Discovery Call" โ†’ Setting (qualification)
  • "30min Product Demo" โ†’ Closing (sales)
  • "45min Onboarding" โ†’ Post-sale (not counted in ad funnel)
Pro tip: Create separate event types for Setting and Closing. This allows Metrikia to independently calculate the cost per qualification appointment and the cost per sales appointment.

2. Calendly

Setup

  1. Go to Settings > Integrations > Calendly
  2. Click Connect : copy the webhook URL
  3. In Calendly, go to Integrations > Webhooks (requires Pro plan)
  4. Create a webhook with the URL and events invitee.created, invitee.canceled
  5. Save

Invitee โ†’ lead matching

Calendly sends the invitee's email in the webhook payload. Metrikia automatically matches it with your leads:

  1. Exact email search
  2. If no match โ†’ email domain + name search (fallback)
  3. If still no match โ†’ a lead is automatically created with source "calendly"

Limitations

  • Calendly does not provide native webhooks on the free plan (Pro required)
  • Reschedules do not generate a separate event, the original booking is updated

3. Google Calendar

Setup

  1. Go to Settings > Integrations > Google Calendar
  2. Click Connect : Google OAuth authentication
  3. Select the calendar(s) to sync
  4. Set the filter: sync all events or only those with a keyword (e.g., "Meeting", "Call")

What syncs

  • Events created/modified/deleted in selected calendars
  • Attendees: matched by email with your leads
  • Status: accepted, declined, tentative โ†’ reflected in the Closing dashboard

Periodic sync

Unlike webhooks (real-time), Google Calendar syncs every 5 minutes via the Google Calendar API. This is sufficient for appointment tracking but not suitable for real-time use cases.

Pro tip: Use a dedicated "Metrikia Appointments" Google Calendar rather than your main calendar. This avoids syncing your internal meetings and lunch breaks.

4. iCal (URL import)

Setup

  1. Go to Settings > Integrations > iCal
  2. Paste the iCal feed URL from your appointment tool
  3. Set the sync frequency (15 min, 30 min, 1h)
  4. Map available fields

Limitations

  • iCal is a read-only format, no bidirectional sync
  • Attendee matching depends on data included in the iCal feed
  • Sync is periodic (not real-time)

Use case

iCal is ideal as a fallback for tools that have neither webhooks nor API, but export an iCal feed (e.g., some local CRMs, niche appointment tools).

Metrics unlocked by calendar integration

Once connected, these metrics appear in your Closing dashboard:

Cost per booked appointment

Formula: Total Spend / Booked appointments

How much you pay in advertising to get an appointment.

Show-up rate

Formula: (Completed appointments / Booked appointments) ร— 100

Measures prospect reliability. A rate below 70% requires corrective action.

No-show rate

Formula: (No-shows / Booked appointments) ร— 100

The inverse of show-up. Metrikia automatically detects no-shows (appointment not marked as "completed" after scheduled time + 30 min).

Cost per completed appointment

Formula: Total Spend / Completed appointments

The true cost, the one that excludes no-shows. This metric feeds your CAC calculation.

Best practices

  1. Automated reminders: Set up SMS/email reminders 24h and 1h before each appointment. Show-up rates increase by 15-20% on average.
  2. Link appointments to campaigns: Thanks to Metrikia attribution, each appointment is linked to the campaign that generated the lead. You can see which ad set generates the most profitable appointments.
  3. Separate Setting and Closing: A qualification appointment (setter) and a sales appointment (closer) do not have the same acceptable cost. Separate them in your pipeline.
Pro tip: The most powerful ratio is the cost per completed appointment per campaign. It combines lead quality (booking rate) AND prospect reliability (show-up rate) for each traffic source. A low CPL with a terrible show-up rate is worse than a high CPL with 90% show-up.

To go further, check out our blog, the documentation or contact support.

Ready to take action?

Create your Metrikia account and apply this guide in minutes.