Skip to main content

GTM Data Layer Events & E-commerce Setup with Full Fabric

Advanced tracking features, e-commerce configuration, and detailed event data for Full Fabric applications

Updated today

Prerequisites

Before using this guide, ensure you have:

  • GTM integration already set up (see our GTM Integration guide)

  • Google Analytics 4 (GA4) property configured

  • Admin access to your GTM container

Available Tracking Events

Full Fabric sends detailed event data to your GTM Data Layer. All events automatically include hashed user identification data for proper attribution while maintaining privacy compliance:

  • user_id: SHA256 hashed user ID

  • email: SHA256 hashed email address

  • first_name and last_name: Sent in plain text only when "Send personal identifiable information" is enabled

GTM Data Layer Version Selection

Full Fabric supports multiple versions of the GTM Data Layer schema. You can select your preferred version under:

General Settings > Google Tag Manager > Version

  • Version 1.2025: Legacy schema with simplified event structure

  • Version 2.2025: Enhanced schema with expanded e-commerce data and improved tracking capabilities

This documentation covers both versions to help you implement the appropriate tracking for your needs.

Version 1.2025

Application Started

Captures when a candidate begins an application:

{
"event": "application_started",
"application_id": "12345",
"application_context": "MBA Program XYZ",
"timestamp": "2024-12-18T16:00:28Z"
}

Application Submitted

Captures successful application submissions with e-commerce data:

{
"event": "application_submitted",
"application_id": "12345",
"application_context": "MBA Program XYZ",
"timestamp": "2024-12-18T16:00:28Z",
"ecommerce": {
"transaction_id": "12345",
"value": 150.00,
"currency": "USD",
"items": [{
"item_id": "COURSE_001",
"item_name": "MBA Program XYZ - Finance Track",
"item_category": "Graduate Programs",
"price": 150.00,
"quantity": 1
}]
}
}

Profile Login

Tracks user authentication:

{
"event": "profile_login",
"timestamp": "<LAST_AUTHENTICATED_AT_ISO_TIMESTAMP>",
"user_id":, // hashed
"email":, // hashed
"first_name":,
"last_name":
}

Profile creation

Tracks user creation:

{
"event": "profile_creation",
"timestamp": "<CREATED_AT_ISO_TIMESTAMP>",
"user_id":, // hashed
"email":, // hashed
"first_name":,
"last_name":
}

Payment Transaction

Captures payment events:

{
"event": "payment",
"transaction_id": "TXN_67890",
"transaction_amount": 250.00,
"transaction_currency": "USD",
"transaction_description": "Application Fee Payment",
"payable_id": "12345",
"payable_type": "Application",
"timestamp": "2024-12-18T16:00:28Z"
}

Version 2.2025

Application Started

Captures when a candidate begins an application:

{
"event": "application_started",
"ecommerce": {
"application_id": "<APPLICATION_ID>",
"application_context": "<APPLICATION_CONTEXT>", // Type of appl., Institution or class
"timestamp": "<STARTED_AT_ISO_TIMESTAMP>",
"items": [
{
"item_id": "<CHOICE_EXTERNAL_ID>", // ID defined in the settings of the class
"item_name": "<CHOICE_LONG_NAME>", // Programme & class name
"item_category": "<THEME_NAME>", // Theme name (some clients have themes)
"price": <PRICE_AMOUNT>, // Price of the program & class
"currency: <PRICE_CURRENCY>, //Currency of the program & class
"quantity": 1
}
],
}
"user_id":, // hashed
"email":, // hashed
"first_name":,
"last_name":
}

Application Submitted

Captures successful application submissions with e-commerce data:

{
"event": "application_submitted",
"ecommerce": {
"application_id": "<APPLICATION_ID>",
"application_context": "<APPLICATION_CONTEXT>", // Type of appl., Institution or class
"timestamp": "<SUBMITTED_AT_ISO_TIMESTAMP>",
"items": [
{
"item_id": "<CHOICE_EXTERNAL_ID>", // ID defined in the settings of the class
"item_name": "<CHOICE_LONG_NAME>", // Programme & class name
"item_category": "<THEME_NAME>", // Theme name (some clients have themes)
"price": <PRICE_AMOUNT>, // Price of the program & class
"currency: <PRICE_CURRENCY>, //Currency of the program & class
"quantity": 1
}
],
}
"user_id":, // hashed
"email":, // hashed
"first_name":,
"last_name":
}

Profile Login

Tracks user authentication:

{
"event": "profile_login",
"timestamp": "<LAST_AUTHENTICATED_AT_ISO_TIMESTAMP>",
"user_id":, // hashed
"email":, // hashed
"first_name":,
"last_name":
}

Profile creation

Tracks user creation:

{
"event": "profile_creation",
"timestamp": "<CREATED_AT_ISO_TIMESTAMP>",
"user_id":, // hashed
"email":, // hashed
"first_name":,
"last_name":
}

Payment Transaction

Captures payment events:

{
"event": "payment",
"ecommerce": {
"transaction_id": "<TRANSACTION_ID>",
"transaction_description": "<TRANSACTION_DESCRIPTION>", //Name of the application template + type of fee
“application_id : <APPLIC_ID>”, // if payment is for an application fee
“payment_plan_fee_id : <PP_FEE_ID>”, // if payment is for a payment plan fee
"payment_context": "<PAYABLE_TYPE>", //type of payment: Application fee or Deposit fee
"timestamp": "<CREATED_AT_ISO_TIMESTAMP>",
"value": <AMOUNT>,
"currency": "<CURRENCY_CODE>",
"discount": "<discount>",
"tax": "<tax>",
"items": [{
"price": <AMOUNT>,
"currency": "<CURRENCY_CODE>",
"quantity": "<QUANTITY>",
"item_id": "<item_id>",
"item_name": {{item_name}},
"item_category": "<item_category" //Category e.g. Finance, Marketing
"discount": "<discount>"
}],
}
"user_id":, // hashed
"email":, // hashed
"first_name":,
"last_name":
}

Setting Up E-commerce Tracking

Step 1: Enable E-commerce in Full Fabric

  1. Navigate to your application template settings

  2. Go to the Details tab

  3. Enable "Send e-commerce data to Google Tag Manager"

  4. Save your changes

Important:

This feature is only available for institution-level application templates.

Step 2: Configure GTM and Google Analytics

The technical setup in Google Tag Manager and Google Analytics is beyond Full Fabric's support scope. Please refer to Google's documentation for:

Step 3: Set Up Enhanced Conversions

Enhanced Conversions uses hashed user data to improve attribution accuracy. Since Full Fabric automatically sends hashed user_id and email with all events, you can configure Enhanced Conversions directly in Google Ads.

Optional: Include Additional Personal Data To include first_name and last_name (sent in plain text):

  1. In Full Fabric, go to General Settings → Integrations → Google Tag Manager

  2. Enable "Send personal identifiable information"

  3. Important: Update your privacy policy to disclose data sharing with Google

  4. Configure Enhanced Conversions in your Google Ads account to use the additional data fields

URL-Based Tracking

You can also set up triggers based on URL patterns:

  • Page views: Any Full Fabric portal URL

  • Started applications: URL contains "applications" and "started"

  • Submitted applications: URL contains "applications" and "submitted"

  • Event landing visits: Specific event landing page URLs

  • Event submissions: Event landing URL + contains "submitted"

  • Form landing visits: Specific form landing page URLs

  • Form submissions: Form landing URL + contains "submitted"

Key Metrics to Monitor

Once tracking is implemented, focus on these metrics in Google Analytics:

Application Funnel

  • Applications started vs. submitted (conversion rate)

  • Drop-off points in the application process

  • Time spent on application forms

User Engagement

  • Profile registrations and login frequency

  • Page views and session duration

  • Return visitor behavior

Marketing Performance

  • Traffic sources leading to applications

  • Campaign attribution for submissions

  • Cost per application by channel

Revenue Tracking (E-commerce)

  • Total application fee revenue

  • Average order value per application

  • Payment completion rates

Data Structure Reference

E-commerce Object Fields

Field

Description

transaction_id

Unique application ID

value

Total price of selected program options

currency

Currency code (USD, EUR, etc.)

items[].item_id

External ID of each selected program/course

items[].item_name

Full name of program/course selection

items[].item_category

Program theme or category

items[].price

Individual price of each selection

items[].quantity

Always 1 (programs selected once)

Payment Object Fields

Field

Description

transaction_id

Unique payment transaction ID

transaction_amount

Payment amount

transaction_currency

Currency used

transaction_description

Payment description/purpose

payable_id

ID of associated application/invoice

payable_type

Type of payable object (Application, Invoice, etc.)

Troubleshooting E-commerce Tracking

E-commerce Data Not Appearing

  • Verify e-commerce tracking is enabled in application template

  • Check that GA4 e-commerce events are properly configured

  • Ensure Enhanced E-commerce is enabled in Google Analytics

Missing Transaction Data

  • Confirm GTM triggers are firing on application submission

  • Verify data layer variables are correctly mapped

  • Check that currency and value fields contain valid data

Attribution Issues

  • Ensure Enhanced Conversions is properly configured

  • Verify that PII sharing is enabled and privacy policy is updated

  • Check Google Ads and GA4 integration settings

Advanced Implementation Tips

Custom Dimensions

Consider setting up custom dimensions in GA4 for:

  • Application context/program type

  • User journey stage

  • Geographic data

  • Traffic source categories

Goal Configuration

Set up meaningful goals such as:

  • Application started (micro-conversion)

  • Application submitted (macro-conversion)

  • Profile registration

  • Payment completion

Audience Segmentation

Create audiences based on:

  • Application behavior (started vs. completed)

  • Program interest areas

  • Geographic location

  • Traffic sources

Getting Help

Full Fabric Support: For Container ID setup and integration questions:

Google Documentation: For GTM and GA4 configuration:

IMPORTANT NOTE: Full Fabric support cannot provide technical assistance with GTM or GA4 configuration, as these are external Google products.

Did this answer your question?