SchedulinqDocs
Go to Schedulinq

Measure conversions after a booking

Send customers to a thank-you page on your own website after booking, so Google Ads and Tag Manager see the booking as a conversion — and exactly what the link then carries.

Do you advertise with Google Ads, or measure what visitors do on your website with Google Analytics or Tag Manager? Then you want to know which visitor ends up booking an appointment. That only works if the customer lands on a page of your website after booking: that is where your tracking scripts run, and our booking page is not.

This guide is for you and for whoever builds your website. The first part you do yourself in Schedulinq; the second part belongs to the website.

Step 1 — switch the redirect on

Go to Settings → Booking rules and scroll to Redirect after booking.

Redirect after booking

Default: off

Switch the toggle on and enter the full address of your thank-you page, including https:// — for example https://www.yourwebsite.com/thank-you. Below the field you immediately see what the link the customer arrives on looks like.

Why

Only a full web address is accepted. The customer is literally sent there, so half an address or a page that does not exist means a customer landing on an error page right after booking.

Click Save. From that moment the booking page redirects every new booking. Switch the toggle off again and the customer lands on our confirmation page as before.

Schedulinq appends the appointment's details to the address of your thank-you page, as parameters that all start with sq_. A customer arrives on, for example:

https://www.yourwebsite.com/thank-you
  ?sq_service=Duct+cleaning
  &sq_start=2026-09-29T10%3A00%3A00%2B02%3A00
  &sq_end=2026-09-29T11%3A30%3A00%2B02%3A00
  &sq_staff=Sophie
  &sq_value=185.00
  &sq_currency=EUR
  &sq_manage_url=https%3A%2F%2Fschedulinq.com%2Fa%2FAB12CDE

The values are URL-encoded, as every browser sends them. Read them with URLSearchParams or a Tag Manager variable and you get the plain form back: sq_start is 2026-09-29T10:00:00+02:00, sq_manage_url is https://schedulinq.com/a/AB12CDE.

ParameterMeaning
sq_serviceThe name of the service. Several services are separated by +.
sq_start, sq_endStart and end of the appointment, with time zone.
sq_staffThe name of the team member who performs the appointment.
sq_value, sq_currencyThe total including VAT and its currency. Only present when the booking has a price; for a from-price it is the from-amount. This is the conversion value for Google Ads.
sq_manage_urlThe link where the customer can view, cancel or reschedule the appointment. Put it on your thank-you page. Its last segment is the appointment's code; for a booking of several services at once, the first one's.

If your address already carries something (/thank-you?source=schedulinq), that stays; the parameters are appended after it.

Step 3 — gclid and utm parameters (for the website builder)

Google Ads links a conversion to an ad click through the gclid in the ad's link; Analytics reads utm_source, utm_medium and utm_campaign. Schedulinq hands everything that was on the link to the booking page back on the thank-you page, exactly as it came in.

Concretely: if a visitor opens

https://schedulinq.com/your-business?gclid=abc123&utm_source=google&utm_campaign=autumn

they arrive after booking on

https://www.yourwebsite.com/thank-you?gclid=abc123&utm_source=google&utm_campaign=autumn&sq_service=Duct+cleaning&…

There is no list of allowed parameters: whatever you put on the link comes back.

In Tag Manager

On the thank-you page, create a trigger on the page view of /thank-you and attach your Google Ads conversion tag to it. Read the conversion value from sq_value with a URL variable (component Query, key sq_value), and the currency from sq_currency. To avoid counting a conversion twice when someone refreshes the page, use sq_manage_url as the transaction id — it is unique per appointment.

Need more? Fetch the appointment

If your thank-you page should show more than the link carries — the customer's first name, the chosen extras, the location — the page can fetch the appointment with the code at the end of sq_manage_url. It is the same public source the customer's own manage page uses:

const manageUrl = new URLSearchParams(location.search).get('sq_manage_url');
const code = new URL(manageUrl).pathname.split('/').pop();
const res = await fetch(`https://api.schedulinq.com/api/appointments/public/${code}`);
const appointment = await res.json();
// appointment.customerFirstName, appointment.appointmentName, appointment.addOns, …

You get exactly what the customer sees on their own manage page — no more, no less. The code in the link is the key, so do not share it further than needed.

Last updated September 22, 2026