← Back to Dimensions

User Engagement Level

Also known as: User Activity Level, Participation Rate

EngagementdimensionEdTech & E-Learning

Measures the degree of interaction and participation a user has with the platform, indicating their active involvement in learning activities.

Business Use Case

Executives use this to identify highly engaged users for targeted retention strategies and personalized learning experiences.

Business Criticality

High

Journey / Navigation Area

Engagement

Owning Function

Data Architecture Team

Scope

User

Calculation Notes

1️⃣ Analyze engagement variations by content type. 2️⃣ Segment users by demographics for targeted insights. 3️⃣ Exclude users inactive for over 30 days from analysis. 4️⃣ Focus on active user interactions for accurate data. 5️⃣ Compare engagement metrics across different content types. 6️⃣ Identify trends in user demographics affecting engagement. 7️⃣ Regularly update user activity status for precise analysis.

Technical Details

Data Typestring
Lookback WindowUser

Events

PlatformEvent
Google Analytics 4engagement
AdobeuserEngagement

Data Mappings

W3 Data Layer
{
  "digitalData": {
    "user": {
      "engagementLevel": "high"
    }
  }
}
GA4 Data Layer
{
  "event": "engagement",
  "user_engagement_level": "high"
}
Adobe Client Data Layer
{
  "user": {
    "engagementLevel": "high"
  },
  "event": "userEngagement"
}
XDM Mapping
{
  "_experience": {
    "analytics": {
      "customDimensions": {
        "userEngagementLevel": "high"
      }
    }
  }
}

SQL Queries

Google Analytics 4 (BigQuery)
-- ==========================================
-- 1. GOOGLE BIGQUERY SQL
-- ==========================================
SELECT user_id,
       MAX(CASE WHEN engagement_level = 'high' THEN 'High' 
                WHEN engagement_level = 'medium' THEN 'Medium' 
                ELSE 'Low' END) AS user_engagement_level
FROM (
  SELECT user_pseudo_id AS user_id,
         MAX(IF(param.key = 'user_engagement_level', param.value.string_value, NULL)) AS engagement_level
  FROM `your-project.analytics_123456789.events_*`,
       UNNEST(event_params) AS param
  WHERE event_name = 'engagement'
  GROUP BY user_id
)
GROUP BY user_id
ORDER BY user_id;
Adobe Experience Platform (AEP Query Service)
-- ==========================================
-- 2. ADOBE AEP QUERY SERVICE SQL
-- ==========================================
SELECT user_id,
       MAX(CASE WHEN engagement_level = 'high' THEN 'High' 
                WHEN engagement_level = 'medium' THEN 'Medium' 
                ELSE 'Low' END) AS user_engagement_level
FROM (
  SELECT identityMap.id AS user_id,
         MAX(CASE WHEN xdm._experience.analytics.customDimensions.userEngagementLevel = 'high' THEN 'high' 
                  WHEN xdm._experience.analytics.customDimensions.userEngagementLevel = 'medium' THEN 'medium' 
                  ELSE 'low' END) AS engagement_level
  FROM aep_backend_dataset
  WHERE xdm.eventType = 'userEngagement'
  GROUP BY user_id
)
GROUP BY user_id
ORDER BY user_id;

Source Data

Digital Analytics

Dependencies

[ "User Login Event", "Content Access Event" ]

Report Attributes

Age Group Course Type

Segment Eligibility

true

Governance

Data Sensitivityinternal

Governance

Created bydevyendarm
Created on8/25/2026
Last modified bydevyendarm
StatusPUBLISHED

GitHub

View File on GitHubcatalog/dimensions/user-engagement-level.yml

Community Discussion