Acuity Scheduling - Appointment Tracking Process

Streamline your appointment management with smart scheduling tools that sync seamlessly with your business workflow.

Ceyhun Enki Aksan
Ceyhun Enki Aksan Entrepreneur, Maker

IMPORTANT RULES:

  1. Maintain the original formatting (markdown, HTML tags, links, etc.)
  2. Keep technical terms and proper nouns as appropriate
  3. Preserve code blocks and technical syntax exactly
  4. Maintain the same tone and style
  5. Only output the translated text, no explanations or comments

Online appointment solutions for businesses based on services such as education and private tutoring, coaching, counseling, photo and video production, fitness studios, sports gyms, spa centers, health and wellness clinics, and dental clinics—following an overview of the essential features of Acuity Scheduling, let’s take a look at how appointment processes can be tracked.

Acuity Scheduling

Acuity Scheduling is an online scheduling system that can be easily integrated with numerous services via its API and direct integrations1. Direct connection options include accounting and billing services such as QuickBooks Online and Freshbooks, as well as email marketing solutions like MailChimp, AWeber, and Active Campaign. A significant portion of the available options is provided through Zapier.

Of course, the analysis and conversion tracking processes differ slightly from other integrations. Currently, the available tracking tools are Google Analytics and Custom Conversion Tracking.

Google Analytics

With the Google Analytics integration, activities such as the display of the appointment form and the creation of an appointment request can be tracked as events2. After integration, you can also monitor page views for the relevant page (/schedule.php?owner=21991...pt&admin=&template=weekly) through page reports.

Event definitions are being sent together with the appointment-completed and/or order-completed action definitions under the acuity category. If it’s a product action, the label field is sent empty; for appointments, the relevant appointment header is passed as a label.

Goal (conversion) definition and ad association operations can be performed for the conversion tracking. Of course, referral exclusion for the domain acuityscheduling.com must be implemented.

Custom Conversion Tracking

With custom conversion tracking, many customized actions can be implemented by defining JavaScript code within the designated field. Acuity Scheduling provides several variables within its code area3.

%type% includes either an appointment or order definition.
%price% allows access to the total amount.
%id% contains a unique appointment ID.
%calendar% includes the relevant calendar information for appointments.
%appointmentType% includes the appointment type.
%email% sends the customer’s email address for appointments.
%clientDate% includes the date when the appointment was created.
%clientTime% includes the appointment time associated with the customer’s time zone.

A basic example of usage with the above variables is as follows:

if ("%appointmentType%" === "APPOINTMENT TYPE NAME HERE"){
  // YOUR TRACKING CODE HERE
}

Google Tag Manager support is not available during integration. However, content can be monitored via postMessage through an iframe.

When form actions inside an iframe need to be tracked outside of the form, the following code can be defined within Custom Conversion Tracking.

<script>
window.parent.parent.postMessage({
  Email: "%email%",
  ID: "%id%",
  Type: "%type%",
  AppointmentType: "%appointmentType%",
  Calendar: "%calendar%",
  Price: "%price%",
}, "*"); // you can also specify the domain name
</script>

Then, data layer variables can be created within the parent page using these details, and tags can be processed within GTM.

window.addEventListener("message", receiveMessage, false);
function receiveMessage(event) {
  if(typeof(event.data.Email) != 'undefined' && event.origin == "https://conversion-tracking-sandbox.acuityinnovation.com"){
    dataLayer.push({
      'event': 'acuityscheduling',
      'eventCategory': event.data.Email,
      'eventAction': event.data.AppointmentType,
      'eventLabel': event.data.Type
    });
    // console.log('acuityscheduling runs!');
  }
}

Embed Process

When using the appointment calendar as a link or in an iframe, additional parameters can also be passed within the URL. Available parameters include: firstName, lastName, email, phone, calendarID, appointmentType, appointmentType[] (can accept multiple values), certificate, quantity, datetime, location. These parameters can be tested using an example URL4.

https://example.acuityscheduling.com/schedule.php?firstName=First&lastName=Last&phone=Phone&email=email@example.com
// or
https://example.acuityscheduling.com/schedule.php?firstName=Bob&lastName=Burger&field:237764=Relaxation!&appointmentType=184520&datetime=2019-01-10+2:00pm

Depending on the method used, it can be said that the most effective implementation is the Google Analytics integration. It is recommended to verify the relevant data and manage the tags accordingly for processes managed via GTM.

Footnotes

  1. Developer Hub. Acuity Scheduling
  2. Google Analytics. Acuity Scheduling
  3. Custom Conversion Tracking. Acuity Scheduling
  4. Embedding into Website. Acuity Developers