Documentation Index
Fetch the complete documentation index at: https://learn.nexudus.com/llms.txt
Use this file to discover all available pages before exploring further.
Overview
The Members Portal can send page views and user events directly to your Google Analytics 4 (GA4) property or your Google Tag Manager (GTM) container. This lets you measure how customers interact with your portal — from first visit through to signup, bookings, and purchases — using the same analytics tools you already know.Setup
- Open the Nexudus admin panel and go to Settings > Integrations > Google Analytics.
- Enter your Measurement ID (starts with
G-) for GA4, or your Container ID (starts withGTM-) for Google Tag Manager. - Save your changes.
What is tracked
Page views
Every page your customers visit is automatically recorded as apage_view event in your GA4 property or GTM dataLayer. This happens on every navigation within the portal, including single-page transitions.
GA4 event name mapping
Some portal events are mapped to GA4 recommended event names. The table below shows which portal events are renamed before being sent to GA4 / GTM. All other events are sent with their original name.| Portal event | GA4 event name |
|---|---|
signup_completed | sign_up |
checkout_completed | purchase |
booking_purchase_completed | purchase |
plan_purchase_completed | purchase |
event_purchase_completed | purchase |
checkout_booking_start | begin_checkout |
login_success | login |
Event reference
Signup funnel
signup_start
signup_start
| Property | Description |
|---|---|
referrer | The referring URL that brought the customer to the signup page |
signup_form_started
signup_form_started
signup_form_submitted
signup_form_submitted
signup_form_additional_submitted
signup_form_additional_submitted
signup_form_einvoicing_submitted
signup_form_einvoicing_submitted
signup_plan_selected
signup_plan_selected
| Property | Description |
|---|---|
plan_name | Name of the selected plan |
plan_price | Price of the selected plan |
plan_id | ID of the selected plan |
plan_type | Type of the plan (e.g. recurring, one-off). Only included for plans with a tariff type |
signup_store_viewed
signup_store_viewed
signup_store_item_added
signup_store_item_added
| Property | Description |
|---|---|
product_name | Name of the product added |
product_price | Price of the product |
signup_proposal_accepted
signup_proposal_accepted
signup_signature_completed
signup_signature_completed
signup_payment_started
signup_payment_started
| Property | Description |
|---|---|
payment_method | The pre-selected payment method shown to the customer |
signup_completed — GA4: sign_up
signup_completed — GA4: sign_up
| Property | Description |
|---|---|
plan_name | Name of the purchased plan |
payment_method | Payment method used |
value | Invoice due amount |
currency | Currency code (e.g. USD, EUR) |
utm_source | UTM source (if present on landing URL) |
utm_medium | UTM medium (if present) |
utm_campaign | UTM campaign (if present) |
utm_term | UTM term (if present) |
utm_content | UTM content (if present) |
Checkout — starting a purchase
checkout_booking_start — GA4: begin_checkout
checkout_booking_start — GA4: begin_checkout
| Property | Description |
|---|---|
resource_id | ID of the resource being booked |
resource_name | Name of the resource |
resource_type | Resource type name (e.g. “Meeting Room”) |
system_resource_type | System resource type identifier |
checkout_product_start
checkout_product_start
| Property | Description |
|---|---|
product_name | Name of the product |
product_type | System product type identifier |
product_id | ID of the product |
checkout_event_start
checkout_event_start
| Property | Description |
|---|---|
event_name | Name of the event |
event_id | ID of the event |
checkout_course_start
checkout_course_start
| Property | Description |
|---|---|
course_name | Title of the course |
course_id | ID of the course |
Checkout — payment and completion
checkout_payment_submitted
checkout_payment_submitted
| Property | Description |
|---|---|
payment_method | Payment method used: invoice, stripe, spreedly, or paypal |
checkout_type | Type of checkout (only for invoice payments) |
value | Amount being paid |
currency | Currency code |
checkout_completed — GA4: purchase
checkout_completed — GA4: purchase
| Property | Description |
|---|---|
checkout_type | booking, event, tariff, product, or other |
value | Invoice total amount |
currency | Currency code |
utm_source | UTM source (if present on landing URL) |
utm_medium | UTM medium (if present) |
utm_campaign | UTM campaign (if present) |
utm_term | UTM term (if present) |
utm_content | UTM content (if present) |
booking_purchase_completed
booking_purchase_completed
| Property | Description |
|---|---|
value | Invoice total amount |
currency | Currency code |
method | checkout (via payment flow) or direct (no payment needed) |
coworker_id | ID of the customer |
booking_id | ID of the booking |
resource_id | ID of the booked resource |
resource_name | Name of the booked resource |
resource_type | Resource type name |
system_resource_type | System resource type (direct bookings only) |
from_time | Booking start time |
to_time | Booking end time |
utm_* | UTM parameters (if present on landing URL) |
event_purchase_completed — GA4: purchase
event_purchase_completed — GA4: purchase
| Property | Description |
|---|---|
value | Invoice total amount |
currency | Currency code |
method | checkout or direct |
coworker_id | ID of the customer |
event_id | ID of the event |
event_name | Name of the event |
event_product_name | Name of the ticket type (checkout only) |
attendee_id | ID of the attendee record (checkout only) |
location | Event location (direct only) |
utm_* | UTM parameters (if present on landing URL) |
plan_purchase_completed — GA4: purchase
plan_purchase_completed — GA4: purchase
| Property | Description |
|---|---|
value | Invoice total amount |
currency | Currency code |
method | checkout (checkout purchases only) |
coworker_id | ID of the customer (checkout only) |
contract_id | ID of the contract (checkout only) |
tariff_name | Name of the plan (checkout only) |
tariff_id | ID of the plan (checkout only) |
tariff_type | Plan type (checkout only) |
start_date | Contract start date (checkout only) |
utm_* | UTM parameters (if present on landing URL) |
product_purchase_completed
product_purchase_completed
| Property | Description |
|---|---|
value | Invoice total amount |
currency | Currency code |
method | checkout or direct |
coworker_id | ID of the customer |
product_id | ID of the product |
product_name | Name of the product |
product_type | System product type |
quantity | Quantity purchased (checkout only) |
utm_* | UTM parameters (if present on landing URL) |
Guest checkout
guest_checkout_started
guest_checkout_started
| Property | Description |
|---|---|
checkout_type | course, product, booking, or other |
guest_account_created
guest_account_created
guest_checkout_completed
guest_checkout_completed
| Property | Description |
|---|---|
checkout_type | booking, event, tariff, product, or other |
value | Invoice total amount |
currency | Currency code |
utm_* | UTM parameters (if present on landing URL) |
Bookings
booking_created
booking_created
| Property | Description |
|---|---|
coworker_id | ID of the customer |
resource_id | ID of the booked resource |
resource_name | Name of the booked resource |
resource_type | Resource type name |
system_resource_type | System resource type identifier |
date | Start date/time of the booking |
booking_modified
booking_modified
| Property | Description |
|---|---|
coworker_id | ID of the customer |
booking_id | ID of the booking |
resource_id | ID of the booked resource |
resource_name | Name of the booked resource |
resource_type | Resource type name |
system_resource_type | System resource type identifier |
from_time | New booking start time |
to_time | New booking end time |
utm_* | UTM parameters (if present on landing URL) |
instant_booking_initiated
instant_booking_initiated
| Property | Description |
|---|---|
resourceId | ID of the resource |
instant_booking_confirmed
instant_booking_confirmed
| Property | Description |
|---|---|
resourceId | ID of the resource |
instant_booking_aborted
instant_booking_aborted
| Property | Description |
|---|---|
resourceId | ID of the resource |
booking_cancelled
booking_cancelled
| Property | Description |
|---|---|
booking_id | ID of the cancelled booking |
predicted_booking_confirm_initiated
predicted_booking_confirm_initiated
| Property | Description |
|---|---|
resourceId | ID of the suggested resource |
predicted_booking_confirmed
predicted_booking_confirmed
| Property | Description |
|---|---|
resourceId | ID of the resource |
predicted_booking_confirm_aborted
predicted_booking_confirm_aborted
| Property | Description |
|---|---|
resourceId | ID of the resource |
Events and courses
event_registered
event_registered
| Property | Description |
|---|---|
event_name | Name of the event |
event_cancelled
event_cancelled
| Property | Description |
|---|---|
event_id | ID of the event |
course_enrolled
course_enrolled
| Property | Description |
|---|---|
course_name | Title of the course |
course_id | ID of the course |
lesson_completed
lesson_completed
| Property | Description |
|---|---|
lesson_id | Unique ID of the lesson |
course_id | ID of the parent course |
course_completed
course_completed
| Property | Description |
|---|---|
course_id | ID of the course |
Products
product_added_to_basket
product_added_to_basket
| Property | Description |
|---|---|
product_name | Name of the product |
product_price | Price of the product |
Authentication
login_success — GA4: login
login_success — GA4: login
login_failed
login_failed
oauth_login_clicked
oauth_login_clicked
| Property | Description |
|---|---|
provider | SSO provider: google, okta, azure_ad, or openid |
logout
logout
password_reset_requested
password_reset_requested
Profile and account
profile_updated
profile_updated
billing_details_updated
billing_details_updated
newsletter_subscribed
newsletter_subscribed
Help desk
contact_us_submitted
contact_us_submitted
support_ticket_created
support_ticket_created
support_ticket_replied
support_ticket_replied
support_ticket_closed
support_ticket_closed
Forms
form_submitted
form_submitted
| Property | Description |
|---|---|
form_id | Unique ID of the form |
form_name | Name of the form |
Session and navigation
app_session_start
app_session_start
authenticated_session_start
authenticated_session_start
| Property | Description |
|---|---|
coworker_id | ID of the customer |
user_id | ID of the user account |
guest_session_start
guest_session_start
section_public_entered
section_public_entered
section_auth_entered
section_auth_entered
section_dashboard_entered
section_dashboard_entered
section_location_entered
section_location_entered
section_course_entered
section_course_entered
section_admin_entered
section_admin_entered
UTM attribution
The Members Portal automatically captures UTM parameters (utm_source, utm_medium, utm_campaign, utm_term, utm_content) from the landing URL. These are included as properties on conversion events such as signup_completed, checkout_completed, booking_purchase_completed, plan_purchase_completed, event_purchase_completed, product_purchase_completed, and guest_checkout_completed.
This means you can track which marketing campaigns are driving signups and purchases without any additional configuration.
Analytics in embedded widgets
When you embed the Members Portal into your marketing website using widget embedding, Google Analytics continues to work automatically — no extra configuration is needed. However, there are some differences in how data is collected compared to the standalone portal.How it works
Modern browsers restrict third-party cookies when content is loaded inside a cross-origin iframe (which is the case when your portal is embedded on a different domain). Since GA4 normally relies on cookies to identify returning visitors, the portal automatically switches to a cookieless tracking mode when embedded. In this mode:- All events and page views are still sent to your GA4 property or GTM container
- A temporary session identifier is generated for each visit, so events within a single session are grouped correctly
- Cross-session visitor recognition (e.g. “returning user”) is not available because the browser blocks the persistent cookies GA4 uses for this
Automatic upgrade on interaction
After a customer interacts with the embedded portal (e.g. clicks a booking button), the portal automatically requests cookie access from the browser using the Storage Access API. If the browser grants access, GA4 upgrades to full cookie-based tracking for the remainder of the session, restoring returning-visitor recognition. This happens silently and requires no action from you or your customers.What this means for your reports
| Metric | Standalone portal | Embedded widget |
|---|---|---|
| Event tracking | Full | Full |
| Page views | Full | Full |
| Session grouping | Full | Full |
| Returning visitor recognition | Full | Limited (until interaction) |
| UTM attribution | Full | Full |
GA4 vs GTM — which should I use?
| GA4 (Measurement ID) | GTM (Container ID) | |
|---|---|---|
| Best for | Simple setup, direct analytics | Advanced tag management, multiple tools |
| Setup effort | Minimal — paste your ID | Requires GTM container configuration |
| Custom tags | No | Yes — add Facebook Pixel, LinkedIn, etc. |
| Event forwarding | Automatic | Automatic via dataLayer |