Skip to content
whovisited.

Conversion tracking · SaaS

Measure demo bookings beyond the scheduler click

Separate interest in a demo from a completed booking when a visitor leaves your site for a scheduling tool, and set an honest WhoVisited goal.

1. Decide what your demo conversion means

A visitor clicks Book a demo, opens Calendly in another tab, and may or may not choose a time. If you count the button click as a demo booking, your report answers how many people showed interest—not how many appointments were scheduled. Keep these stages separate before you compare campaigns.

  1. Scheduler opened: the visitor clicked a link or button. This is a useful funnel step, not a completed booking.
  2. Booking confirmation reached: the scheduling service says the visitor completed the booking and redirects them to your confirmation route.
  3. Meeting still expected: a booking remains on the calendar after cancellations or rescheduling. This is an operational status that belongs in your calendar or CRM.

Choose one sentence for the primary goal, such as: a conversion means the visitor completed the scheduler and reached our demo confirmation page. That definition is measurable in browser analytics, but it is still not a unique-person count or a guarantee the meeting will happen.

2. Send completed bookings to a dedicated page

If your scheduling provider supports a post-booking redirect, send invitees to a stable page on the same website you track, for example https://example.com/demo/booked. Calendly documents redirecting invitees after booking as a paid-plan feature. Configure the destination in the event type's confirmation settings and make its page text accurately say that the booking is complete.

In WhoVisited, create a Success page goal for the same website and use the exact path /demo/booked. The goal matches a page view on that exact path; it does not read the scheduling provider's database or validate details in a query string. Keep the route stable and avoid adding attendee names, email addresses, event identifiers, or other personal data to its path or title.

Calendly can optionally pass event details to the redirected page. Do not enable that option just to make an analytics report more specific. The page goal needs the successful destination, not invitee details in a URL. URLs can be copied into browser history and server logs, and the tracker intentionally reports the page path without the query string.

3. Keep the scheduler click as a separate diagnostic

You may also record a custom event such as demo_scheduler_opened when someone activates the scheduler link. Use it to find a broken handoff or compare which page placement gets attention. Do not configure that event as the completed-demo goal: a click can be followed by a closed tab, no available times, or an abandoned form.

WhoVisited event goals match an exact event name. The Growth report marks a session as converted when a matching event or page view exists in that session, and counts the session once even if the same signal occurs repeatedly. It does not filter an event goal by custom property values. If you send a placement property for a click event, it will not make that property part of the goal rule.

If you do not have a post-booking redirect, do not relabel the scheduler click as a booking. Report it as intent, and use the scheduling service or CRM for completed appointments. A separately implemented confirmation signal may be possible, but it must only run after your application has a dependable confirmation from the provider.

4. Understand what a confirmation page cannot prove

A page-view goal tells you that a tracked browser reached /demo/booked. A person can bookmark or directly open that route, revisit it, or share the URL. WhoVisited does not verify that a calendar event exists, and a browser can fail to send the page view because of consent choices, privacy signals, blockers, a network interruption, or a tab closing before the tracker runs.

A successful booking can later be canceled or rescheduled. The page view remains in analytics; WhoVisited does not retract a prior conversion when the calendar changes. If you need an authoritative count of current appointments, use the scheduling provider or CRM as the source of truth. Calendly's webhook documentation distinguishes invitee.created and invitee.canceled events, and its signature guidance explains how to verify that a webhook came from Calendly. That operational integration is separate from WhoVisited's browser tracker.

Do not send a webhook signing secret to the browser or attach invitee data to an analytics event. If you build a server-side confirmation workflow, verify the provider's signature on your server, handle duplicate and cancellation notifications there, and decide separately whether a privacy-appropriate browser signal can be linked to the original visit. The current WhoVisited tracker is a browser event client, not a Calendly webhook receiver.

5. Test the handoff before comparing sources

  1. Click the demo button and stop before choosing a time. The scheduler-opened event may appear; the booking goal should not.
  2. Complete one test booking and confirm the provider redirects to the exact first-party path configured as the goal.
  3. Open the confirmation URL directly in a fresh test session. If that produces a goal match, record that false-positive route in your measurement notes.
  4. Cancel or reschedule the test appointment. Confirm the calendar or CRM status changes; do not expect the historical WhoVisited page view to disappear.
  5. Repeat with analytics consent withheld or the tracker blocked. Booking should still work, while analytics may have no recorded signal.

Use synthetic booking details and note the test time and timezone. Check the visitor journey and the selected goal in Growth. Compare sessions and converted sessions by source or landing page only after the paths and goal have been tested; small counts and untracked visits are not proof that one campaign caused more bookings.

The practical division is simple: WhoVisited helps you compare the sessions that reached your chosen browser signal. Your scheduling system tells you whether a meeting is booked, changed, or canceled. Keeping those definitions separate makes the marketing report useful without asking it to replace your calendar.

References and further reading

  1. Calendly Help Center: Customize the event confirmation page and redirect invitees
  2. Calendly Developer Documentation: Receive scheduled-event data with webhook subscriptions
  3. Calendly Developer Documentation: Verify webhook signatures
  4. WhoVisited: Conversion goals and traffic sources
  5. WhoVisited: Choose between a success page and custom event goal