Skip to main content
This integration loads a Google Tag Manager (GTM) container on your 1Club public-facing surfaces - the member portal and the CMS website - without any code changes. Paste your container ID once and 1Club injects the GTM snippet on every page load. From there, your GTM workspace controls what fires (GA4, Meta Pixel, conversion pixels, custom tags, and so on). Google Tag Manager is a paid-plan integration. Organizations on the Free plan or still in the Grow trial cannot save a container ID until they upgrade.

Overview

  • No-code container loading - Save a container ID and 1Club injects the GTM snippet; no redeploy needed.
  • Portal and website - The same container loads on both the member portal and the CMS website.
  • Built-in dataLayer events - 1Club pushes standard events (page views, sign-up, login, booking, payment, form submit) so you can wire them to GA4 or any tag.
  • Your workspace, your rules - GA4, Meta Pixel, conversion pixels, and custom tags are all configured inside GTM, not in 1Club.
  • Consent-ready - Compatible with Google Consent Mode configured in your container.

Before you start

You need a GTM container ID in the format GTM-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. You also need an upgraded plan (Grow trial and Free plans are blocked from saving a container ID).

Connect Google Tag Manager

  1. In the admin, go to Settings → Integrations and click Activate on the Google Tag Manager card.
  2. Paste your GTM Container ID into the form. It is normalized to uppercase on save and must match GTM- followed by letters or digits.
  3. Click Save.
The container ID is stored on your organization. The next page load on your member portal and CMS website includes the GTM snippet. No redeploy or cache flush is required.

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.js afterInteractive strategy so it does not block first paint.
  • The noscript iframe fallback for visitors with JavaScript disabled.
Both the member portal ({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 to window.dataLayer automatically. Create a Custom Event trigger in GTM with the matching name and forward to GA4 (or any other tag). All non-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_up and login already match GA4’s recommended events - forward with Event Name {{Event}} and GA4 surfaces them in the standard user-engagement reports.
  • payment_success maps to GA4’s purchase if you also pass transaction_id, value, and currency. If you don’t have those yet, forward as payment_success and report on it as a custom event.
  • form_submitted is a good fit for GA4’s recommended generate_lead event. Either forward as form_submitted or remap to generate_lead in your GA4 Event tag - whichever you prefer for reporting.
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.

Worked examples

Padel club measuring booking conversions

A padel club runs Google and Meta ads and wants to know which spend produces court bookings. Save the GTM container ID in 1Club, then in GTM create a Custom Event trigger on booking_created and forward it to a GA4 event and the Meta Pixel. Because 1Club pushes booking_created with booking_id and event_source automatically, the club sees booking conversions attributed to campaign and surface without touching any code.

Yoga studio tracking free-trial sign-ups

A yoga studio’s goal is portal sign-ups from its website. In GTM, add a trigger on sign_up and remap form_submitted to GA4’s generate_lead for contact-form leads. The event_source parameter lets the studio split reports between website leads and portal sign-ups in GA4.

Gym reporting membership purchases as revenue

A fitness gym forwards payment_success to GA4’s purchase, adding transaction_id, value, and currency in the GA4 Event tag. Revenue from portal checkout then shows up in GA4’s monetization reports alongside the invoice_id 1Club already passes.

Tips and best practices

  • Keep all tags in GTM, not scattered across tools. 1Club only loads the container; everything else (GA4, pixels, remarketing) lives in your GTM workspace so you can change it without a code change.
  • Publish your GTM workspace after every change. 1Club loading the container does nothing until you publish the version that contains your tags and triggers.
  • Use the built-in event_source parameter to separate portal and website performance in the same GA4 property.
  • Test with Tag Assistant on both the portal and the CMS website after saving, since they load the same container independently.
  • If you operate under GDPR or ePrivacy, wire your marketing and analytics tags to Google Consent Mode in GTM before you start advertising.

Disconnect

Click Deactivate on the integration page, or clear the GTM Container ID field and save. Either way 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