Before you start
You need a GTM container ID in the formatGTM-XXXXXXX. Find it on the workspace overview screen in tagmanager.google.com, next to your container name.
If you want to use Google Analytics 4, configure the GA4 Configuration tag inside your GTM container. 1Club does not accept a standalone GA4 measurement ID - everything goes through GTM.
Connect Google Tag Manager
- In the admin, go to Settings → Integrations and click Activate on the Google Tag Manager card.
- Paste your GTM Container ID into the form. It is normalized to uppercase on save and must match
GTM-followed by letters or digits. - Click Save.
Where the tag loads
1Club injects two things on every public page render:- The standard GTM script (
https://www.googletagmanager.com/gtm.js?id=GTM-XXXXXXX), loaded with Next.jsafterInteractivestrategy so it does not block first paint. - The noscript iframe fallback for visitors with JavaScript disabled.
{org}.portal.1club.ai or your custom portal domain) and the CMS website (your branded site) read the container ID from your organization settings and load the same container.
What gets tracked
1Club only loads the container. What it tracks is entirely up to your GTM workspace. Typical setups include:- Page views on the marketing site and member portal.
- Conversion events for sign-up, booking confirmation, purchase, or contact-form lead.
- Custom dataLayer events you trigger from GTM tags.
Events pushed by 1Club
The member portal and CMS website push a small set of standard events towindow.dataLayer automatically. Create a Custom Event trigger in GTM with the matching name and forward to GA4 (or any other tag).
| Event name | Fires when | Parameters |
|---|---|---|
page_view | Every client-side route change in portal and website | page_path, page_title |
login | A member signs in | event_source (portal or website) |
sign_up | A new member account is created | event_source |
sign_out | A member logs out of the portal | event_source |
booking_created | A booking is confirmed | booking_id, event_source |
payment_success | Stripe checkout returns to the success page | booking_id (if any), invoice_id (if any), event_source |
form_submitted | The contact form on a CMS site submits successfully | form_type (always contact for the contact form), form_category (the category the visitor picked, if any), form_location (the page path the form was on), event_source |
page_view events also carry event_source so you can split GA4 reports by surface.
Suggested GA4 mapping
For drop-in GA4 coverage, map the events above to GA4’s recommended names where they line up, and pass them through as-is otherwise:sign_upandloginalready match GA4’s recommended events - forward with Event Name{{Event}}and GA4 surfaces them in the standard user-engagement reports.payment_successmaps to GA4’spurchaseif you also passtransaction_id,value, andcurrency. If you don’t have those yet, forward aspayment_successand report on it as a custom event.form_submittedis a good fit for GA4’s recommendedgenerate_leadevent. Either forward asform_submittedor remap togenerate_leadin your GA4 Event tag - whichever you prefer for reporting.
Cookie consent
The GTM snippet runs on every page load. If you operate under GDPR, ePrivacy, or similar regulations, configure consent in your GTM container using Google’s Consent Mode and gate marketing or analytics tags on the appropriate consent state. 1Club’s cookie banner records the visitor’s preferences but does not configure GTM tags for you.Disconnect
Clear the GTM Container ID field and save. The GTM snippet stops being injected on subsequent page loads. Existing visitors with the script already loaded keep it until they navigate away or refresh.Troubleshooting
- Tag not firing - confirm the ID format (must start with
GTM-, uppercase, letters and digits only) and that you saved the form. Then open your public site and use Tag Assistant to confirm the container loaded. - Events missing in GA4 - GTM publishes are independent of 1Club. Confirm the GA4 tag inside your container is firing on the right triggers and that you published the latest workspace version in GTM.
- Tag loads on portal but not website (or vice versa) - both surfaces read from the same organization setting, so a missing tag usually means the ID was not saved, the site is on an older cached HTML response, or the public org payload was not refreshed. Reload the page once to pick up the latest container ID.