Podyx sends booking events to your own Google Tag Manager (GTM) container. From there you can forward them to Google Analytics 4 (GA4), Google Ads, Meta Ads or any other platform.
In short: import our container template into GTM, add your own IDs, publish, and paste your container ID into Podyx. Each section below opens with a click.
1. Before you start
1. Before you start
GTM tracking is available during your free trial and on the Premium plan once you subscribe. It is not included in Essential.
You will need:
A Google Tag Manager account with a web container. Its ID looks like
GTM-XXXXXXX.The IDs of the platforms you want to use, for example your GA4 Measurement ID (
G-XXXXXXXXXX), Meta Pixel ID or Google Ads conversion ID and label.
Which ID is which?
Google uses several similar-looking IDs. You can tell them apart by the prefix:
Google Tag Manager container ID: starts with
GTM-, for exampleGTM-AB12CD3. This is the only ID you paste into Podyx.Google Analytics 4 Measurement ID: starts with
G-, for exampleG-1A2B3C4D5E. This goes into the Google Tag ID variable inside your GTM container, not into Podyx.Google Ads conversion ID: usually starts with
AW-, for exampleAW-123456789. This also goes into a variable inside GTM.
How to find your GTM container ID
Open Google Tag Manager.
Open your account and select your web container.
The ID starting with
GTM-is shown at the top of the workspace, next to the container name. You can also click it to copy it.
Only have a G- ID? Then you have Google Analytics set up, but no GTM container yet. Create a free one in Google Tag Manager (Create Account, then choose Web as the container type). Paste the new GTM- ID into Podyx and add your G- ID inside the container in step 2 below.
2. Set up your container
2. Set up your container
Our ready-to-use template includes tags, triggers and variables for GA4, Google Ads and Meta Ads, already set up for the Podyx events.
In Google Tag Manager
Download the container template (
.json) at the bottom of this article.Open Google Tag Manager and go to Admin > Import Container.
Select the file, choose a Workspace, then choose Merge (add to your existing setup) or Overwrite (replace everything in the workspace).
Go to Variables and replace the placeholder values with your own: Google Tag ID (your GA4 Measurement ID, starting with
G-), Meta Pixel ID, Google Ads Conversion ID and Google Ads Conversion Label.Using Google Ads? Unpause the Google Ads Conversion - Purchase tag. It ships paused so it doesn't fire with placeholder IDs.
Click Submit to publish the container.
In Podyx
Go to Studio Settings > Marketing > Google Tag Manager container ID.
Paste your
GTM-XXXXXXXID and save. Only a GTM container ID works here. A GA4 Measurement ID (G-XXXXXXXXXX) or Google Ads ID (AW-XXXXXXXXX) will not work. Not sure which one you have? See Which ID is which? in section 1.
Tip: use Preview in GTM and make a test booking to check that your tags fire.
The template does not include a cookie consent setup. If you need one, see section 6.
3. Events Podyx sends
3. Events Podyx sends
Podyx pushes these events to the dataLayer. Each one can be used as a Custom Event trigger in GTM.
gtm_login_started: the customer starts logging ingtm_user_login: the customer logs ingtm_user_registered: the customer creates an accountgtm_slot_bundle_selected: the customer selects a time slot bundlebegin_checkout: the customer reaches checkoutpurchase: the customer reaches the booking confirmation page (see section 4)
4. The purchase event
4. The purchase event
purchase is the event to use for conversion tracking.
What it includes
transaction_id: the payment ID from Stripe or Square. Use it to deduplicate conversions.
value: the booking total, including tax.
currency: for example EUR or USD.
items: a breakdown of each booked session, covering the service (quantity = booked hours, which can be 0.5), the studio setup, the time slot, and one item per add-on.
Prices come from the completed booking, so changing your prices later does not affect past revenue.
When it fires
When the customer's browser lands on the booking confirmation page and the payment has settled. If the payment is still processing, the page waits up to 30 seconds and then sends the event.
If the customer doesn't return from payment
Most card payments happen on your booking page, so the purchase event is reliable for them. Some payment methods send the customer to another page, such as 3D Secure verification, iDEAL, Bancontact or bank redirects. If the customer closes that page and never comes back, the booking is still paid and confirmed, but no purchase event is sent.
Your Podyx reports and Stripe dashboard are always correct. GA4 and your ad platforms may show slightly lower revenue than you actually received.
5. Tracking customers from your own website
5. Tracking customers from your own website
If customers come from your website (for example yourstudio.com) to your Podyx booking page (yourstudio.podyx.com), set up cross-domain tracking so GA4 counts them as one visitor:
In GA4, go to Admin > Data streams > your web stream > Configure tag settings > Configure your domains.
Add both your website domain and
podyx.com.
Podyx keeps _gl, gclid, utm_* and fbclid in the link when the customer lands on your booking page, so you can link straight to a specific studio or time slot page without losing ad or campaign attribution.
6. Cookie consent on your booking page
6. Cookie consent on your booking page
Podyx does not show a cookie banner on booking pages. The cookies Podyx sets for login and booking sessions are strictly necessary. Any analytics or advertising tags you add through your GTM container are your responsibility, including consent.
To use a consent tool such as Cookiebot, add it inside your GTM container as a tag that fires on Consent Initialization. Podyx doesn't support adding custom code to the page, so your container is the only place to add it.
Please check with your legal team which consent requirements apply in your country.
7. Customizing the template
7. Customizing the template
Remove any tags or triggers you don't need.
Add platforms such as LinkedIn, TikTok or Bing Ads by creating new tags on the existing triggers.
All events come from the dataLayer, so you can send them to any platform GTM supports.
8. Troubleshooting
8. Troubleshooting
Podyx won't accept my ID
The field only takes a GTM container ID (GTM-XXXXXXX). If your ID starts with G- (for example G-1A2B3C4D5E), it's a GA4 Measurement ID. If it starts with AW-, it's a Google Ads ID. Neither works in Podyx.
To fix it, open Google Tag Manager, select your web container and copy the GTM- ID shown at the top of the workspace. If you don't have a GTM container yet, create one first (see section 1), then add your G- ID inside it as the Google Tag ID variable.
Events show in GTM Preview but not in GA4 reports
This is usually consent. If you use Consent Mode but your consent tool doesn't run on the booking subdomain, no consent signal is sent and GA4 records almost nothing there. Make sure your consent tool also loads on your Podyx booking page.
Also check that the Google Tag ID variable in GTM holds your GA4 Measurement ID (G-) and not your container ID (GTM-).
Cookiebot flags my booking page as an unauthorised domain
Cookiebot licences cover specific domains. Add your Podyx booking subdomain to your Cookiebot domain group.
GA4 shows fewer purchases than Podyx
Usually customers who paid through a redirect-based method and didn't return to the confirmation page. See section 4.
Visitors from my website show up as new users or as direct traffic
Check that both your website domain and podyx.com are added under Configure your domains in GA4. See section 5.
