I first of all want to apologize in case this is not the place to make the following question, but I was directed here by Square Support.
I am implementing the appointment booking widget in our ad landing pages and would need advice on how to measure conversions once an appointment is booked, so that the ad platforms (Google and Facebook Ads) receive conversion data. I have looked up for information on this in the forum and couldn’t find anything.
Usually, when I have implemented other 3rd party booking scripts in landing pages, I managed to get them create a personalized version of their script with a redirect at the end of the booking process that would take the user to our Thank you page, placing in it some DOM events that would trigger and send the conversion data to the ad platforms.
Unfortunately, customizing the Square provided booking site to track conversions isn’t currently available. We’re constantly working to improve our features based on feedback like this, so I’ll be sure to share your request to the API product team.
This is the reason why we’re leaving square. In fact when you have business which requires the appointments, you cannot advertise your business on Google ads, because you cannot set up conversion tracking.
Very sorry of this, otherwise, we were happy with square.
Since Square’s native booking widget still doesn’t support direct conversion tracking or custom redirects, the only reliable way to handle this is by capturing data on the backend via Square’s official Webhooks/API and sending it to ad platforms.
@dig4life to answer your question about the dataLayer — since the native widget runs in an iframe or on Square’s domain, you cannot natively push custom dataLayer events from it to your container.
Frustrated by this exact limitation, a few fellow developers and I built an independent alternative web-app/booking page called iBooker.online. It connects directly to your Square backend via official OAuth. Because it’s a clean web page rather than a closed iframe, it allows you to:
Track the full funnel into your GA4, Google Ads, and Meta Pixel / Conversions API (events like select_service, begin_checkout, and purchase).
Push rich data into the dataLayer (including service_name, service_price, currency, location_name, etc.) for value-based bidding.
Keep everything 100% secure (all payments, customer data, and bookings stay entirely within your Square account).
If you are about to leave Square just because of the ad tracking issue (like @ligren mentioned), this might be a solid workaround until native tracking is implemented.
If you’re interested in checking out iBooker.online or want to know more about how it works, just reply to this comment and I’ll share the details! Hope this helps!