User Engagement Level
Also known as: User Activity Level, Participation Rate
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
Events
| Platform | Event |
|---|---|
| Google Analytics 4 | engagement |
| Adobe | userEngagement |
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
Governance
GitHub
catalog/dimensions/user-engagement-level.yml