Track Scheduling Activity In Your ATS or CRM

Measuring the effectiveness of recruiting teams, sales teams, and many others frequently comes down to one goal: Get a meeting on the calendar! Tracking scheduling activity becomes nearly as important as the scheduling itself. Here’s our short guide to custom tracking using our custom URL Parameters, post-scheduling redirection, a custom landing page, and a snippet or two of code to close the loop.

Pro Tip: This article is intended for teams who may not be able to use our Google Analytics and Zapier integrations to track scheduling activity in real time.

Set Up Your Meeting Templates

First things first, choose a Meeting Template and configure the proper options. It can be a Round Robin template, a Team Combined template, or a personal template. We will want to use some Guest Questions to get more context around the meeting, too. Finally, we’ll set a custom redirect page under “Personalization.”

In the image above you can see that the custom confirmation page has been set to MeetingScheduling.com/success/ (our demo website). Note that we have turned ON the option to pass participant information. This will ensure that our Guest Confirmation Page receives information about the guest who scheduled the meeting. We’ll also include a Guest Question as an example, “Who is your email provider?”

Set Up Your Scheduling Emails

Next, we will create Calendar Page URLs to pre-fill your guests’ information and include them in our outbound ATS emails. By using special URL parameters on your Calendar Page URLs, you can pre-fill the applicant’s information. We’ve written before about doing this in Customer.io and in MailChimp, but it works in any email system that supports variables in links, which is most of them. You can use our personalized scheduling URL generator to see examples of pre-filled pages. Here’s a working example (test it in incognito mode):

https://calendar.x.ai/akbi/embed?
xai_firstname=Guest&xai_lastname=McGuesterson&
xai_email=guest%40example.com&xai_location=&
xai_additionalguests=guest2%40example.com%2Cguest3%40example.com&
xai_custom_field_1=Apple&applicant_id=8675-309

When visiting this personalized URL, your applicant will see their own information already filled out for them!

Set Up Your Guest Confirmation Page

Next, set up a custom page that you control as your Guest Confirmation Page. This should say something to the effect of, “Your interview is scheduled” or “An invitation has been sent out.” The point of this page is not necessarily to confirm, however; It is to collect! This page will receive information about the meeting in the URL, which you can capture and send back to your ATS or CRM.

Pro Tip: Your Guest Confirmation Page will also receive any other parameters to add to the Calendar Page! You can see in the URL above that applicant_id=8675-309 is in the URL. This will be passed in the URL, too!

Record The Scheduling Activity

Many Applicant Tracking Systems, CRMs, and sales outreach platforms include conversion tracking such as Indeed and Salesforce. If your ATS provides automatic conversion tracking then congratulations, you may be done! When a candidate or prospect visits the Guest Confirmation page, the conversion tracking will already know who they are and will record a conversion in your system of record. You can optionally use the code below to include additional information in the conversion tracking code.

Capturing Conversions With Code

This is the part where we may need to get creative. Some ATS or CRM systems have website tags that can record information from URLs automatically. In this case we can simply include a small snippet of code to fetch the parameters on a URL and put them in a variable:

<script type="text/javascript">
function getUrlVars() {
    var vars = [], hash;
    var query_string = window.location.search;
    if (query_string) {
        var hashes = query_string.slice(1).split('&');
        for (var i = 0; i < hashes.length; i++) {
            hash = hashes[i].split('=');
            vars[hash[0]] = hash[1];
        }
        return vars;
    } else {
        return false;
    }
}
var allVars = getUrlVars();
console.log(allVars);
</script>

This javascript snippet simply reads all of the URL parameters and adds them to a variable called allVars. This code works in nearly all browsers.

From here, you simply need to send the information you need on to your CRM, ATS, or other system. How that happens is up to you, but you now have all of the information you need in order to know who has scheduled what!


Schedule every meeting instantly. For free. Forever.