# How to track conversions in ad platforms after an appointment is created within the widget

**URL:** <https://developer.squareup.com/forums/t/how-to-track-conversions-in-ad-platforms-after-an-appointment-is-created-within-the-widget/5749>\
**Category:** Questions\
**Created:** [April 22, 2022, 10:02pm UTC](https://developer.squareup.com/forums/t/how-to-track-conversions-in-ad-platforms-after-an-appointment-is-created-within-the-widget/5749 "2022-04-22T22:02:37Z")\
**Posts on this page:** 5\
**Page:** 1

<div class="post-metadata">

**Author:** ![jhernanper](https://avatars.discourse-cdn.com/v4/letter/j/13edae/32.png) [@jhernanper](https://developer.squareup.com/forums/u/jhernanper)\
**Post date:** [April 22, 2022, 10:02pm UTC](https://developer.squareup.com/forums/t/how-to-track-conversions-in-ad-platforms-after-an-appointment-is-created-within-the-widget/5749/1 "2022-04-22T22:02:37Z")

</div>

Hi everyone,

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.

How are you guys doing this with Square?

Looking forward to read your comments,

Best regards,

Javier

---

<div class="post-metadata">

**Author:** ![Bryan-Square](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/bryan-square/32/38_2.png) [@Bryan-Square](https://developer.squareup.com/forums/u/Bryan-Square)\
**Post date:** [April 22, 2022, 10:12pm UTC](https://developer.squareup.com/forums/t/how-to-track-conversions-in-ad-platforms-after-an-appointment-is-created-within-the-widget/5749/2 "2022-04-22T22:12:49Z")

</div>

👋 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. 🙂

---

<div class="post-metadata">

**Author:** ![ligren](https://avatars.discourse-cdn.com/v4/letter/l/bbce88/32.png) [@ligren](https://developer.squareup.com/forums/u/ligren)\
**Post date:** [March 24, 2024, 6:39pm UTC](https://developer.squareup.com/forums/t/how-to-track-conversions-in-ad-platforms-after-an-appointment-is-created-within-the-widget/5749/3 "2024-03-24T18:39:39Z")

</div>

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.

---

<div class="post-metadata">

**Author:** ![dig4life](https://avatars.discourse-cdn.com/v4/letter/d/f0a364/32.png) [@dig4life](https://developer.squareup.com/forums/u/dig4life)\
**Post date:** [April 15, 2024, 1:26am UTC](https://developer.squareup.com/forums/t/how-to-track-conversions-in-ad-platforms-after-an-appointment-is-created-within-the-widget/5749/4 "2024-04-15T01:26:27Z")

</div>

What are the available data you can push into the dataLayers

---

<div class="post-metadata">

**Author:** ![YasonStudio](https://sea1.discourse-cdn.com/square/forums/user_avatar/developer.squareup.com/yasonstudio/32/11981_2.png) [@YasonStudio](https://developer.squareup.com/forums/u/YasonStudio)\
**Post date:** [June 8, 2026, 8:18am UTC](https://developer.squareup.com/forums/t/how-to-track-conversions-in-ad-platforms-after-an-appointment-is-created-within-the-widget/5749/5 "2026-06-08T08:18:49Z")

</div>

Hi everyone,

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!

 ![Screenshot_1](https://global.discourse-cdn.com/square/original/2X/f/f666d2890e8a7c383fe90027ef57433c74328853.jpeg)
