Measure feature adoption to understand what drives value, retention, and growth.
Info
Sample business figures, conversion ranges and scoring thresholds in this guide are illustrative. They are not industry benchmarks, Zenovay customer results or measured causal effects. Define events for your product and compare observed cohorts before adopting a target.
Why Track Feature Adoption?
Business Impact
| Insight | Business Value |
|---|---|
| Top features | Know what to promote |
| Unused features | Reduce complexity |
| Power user patterns | Identify expansion opportunities |
| Adoption blockers | Improve onboarding |
| Feature-retention link | Prioritize development |
Key Metrics
| Metric | Definition | Illustrative range |
|---|---|---|
| Adoption Rate | Users who try feature | 30-50% |
| Retention Rate | Users who keep using | 20-40% |
| DAU/MAU Ratio | Stickiness | 20-40% |
| Feature Breadth | Avg features per user | 40-60% of available |
Setting Up Feature Tracking
Track Feature Usage
// Track when feature is used
zenovay('track','feature_used', {
feature_name: 'export_report',
feature_category: 'reporting',
user_id: 'user_123',
account_id: 'acc_456',
first_time: false,
session_count: 15
});
// Track feature discovery
zenovay('track','feature_discovered', {
feature_name: 'advanced_filters',
discovery_method: 'tooltip',
user_id: 'user_123'
});
// Track feature first use
zenovay('track','feature_first_use', {
feature_name: 'automation_rules',
time_since_signup_days: 14,
user_id: 'user_123',
account_id: 'acc_456'
});
Define Your Feature List
Organize features for tracking:
| Category | Features | Tier |
|---|---|---|
| Core | Dashboard, Basic Reports | Free |
| Power | Advanced Filters, Export, API | Pro |
| Team | Collaboration, Permissions | Scale |
| Enterprise | SSO, Audit Log, Custom | Enterprise |
// Feature configuration
const features = {
dashboard: { category: 'core', tier: 'free' },
advanced_filters: { category: 'power', tier: 'pro' },
team_workspace: { category: 'team', tier: 'scale' },
sso: { category: 'enterprise', tier: 'enterprise' }
};
Measuring Adoption
Adoption Funnel
Track the journey from awareness to habit:
| Stage | Definition | Metric |
|---|---|---|
| Exposed | Saw the feature | Views |
| Tried | Used once | First use |
| Adopted | Used 3+ times | Adoption |
| Retained | Used regularly | Retention |
| Power | Heavy usage | Power user |
// Track adoption stages
zenovay('track','feature_adoption_stage', {
feature_name: 'automation',
stage: 'adopted',
uses_count: 5,
days_since_first_use: 7,
user_id: 'user_123'
});
Calculate Adoption Rate
Feature Adoption Rate = (Users who used feature ÷ Total active users) × 100
Track over time:
| Feature | Week 1 | Week 4 | Week 12 |
|---|---|---|---|
| Dashboard | 95% | 98% | 99% |
| Reports | 45% | 62% | 70% |
| Export | 20% | 35% | 45% |
| API | 8% | 12% | 15% |
Feature Health Dashboard
Create feature-level metrics:
// Weekly feature health update
zenovay('track','feature_health', {
feature_name: 'automation',
weekly_users: 450,
weekly_uses: 2340,
uses_per_user: 5.2,
adoption_rate: 45,
retention_rate: 78,
nps_score: 72
});
Feature Usage Patterns
Usage Frequency
Track how often features are used:
| Frequency | Definition | Users % |
|---|---|---|
| Daily | Every day | 15% |
| Weekly | 2-6x/week | 35% |
| Occasional | 1-4x/month | 30% |
| Rare | <1x/month | 15% |
| Never | 0 uses | 5% |
Usage Depth
Track complexity of usage:
// Track usage depth
zenovay('track','feature_depth', {
feature_name: 'reports',
depth_level: 'advanced', // basic, intermediate, advanced
actions: ['custom_filter', 'scheduled_report', 'export_api'],
user_id: 'user_123'
});
Feature Combinations
Track which features are used together:
| Feature Pair | Co-usage Rate | Insight |
|---|---|---|
| Reports + Export | 82% | Natural workflow |
| API + Automation | 75% | Power users |
| Dashboard + Filters | 68% | Core usage |
User Segmentation by Features
Power Users
Identify power users by feature usage:
// Power user detection
zenovay('track','user_segment', {
user_id: 'user_123',
segment: 'power_user',
features_used: 15,
features_available: 20,
feature_breadth: 75,
actions_this_week: 120
});
Feature-Based Segments
| Segment | Behavior | % of Users |
|---|---|---|
| Core Only | Basic features | 30% |
| Expanding | Trying new features | 25% |
| Steady | Regular feature set | 25% |
| Power | Most features heavily | 15% |
| Declining | Reducing usage | 5% |
Feature Impact on Retention
Correlation Analysis
Find features that correlate with retention:
| Feature | Adopters | Non-Adopters | Retention Lift |
|---|---|---|---|
| Team collab | 85% at 12mo | 52% at 12mo | +33% |
| API | 82% at 12mo | 58% at 12mo | +24% |
| Automation | 78% at 12mo | 60% at 12mo | +18% |
"Sticky" Features
Identify features that drive retention:
// Track feature stickiness
zenovay('track','feature_retention', {
feature_name: 'automation',
users_adopted: 450,
users_retained_30d: 420,
retention_rate: 93,
vs_baseline_retention: 75,
retention_lift: 18
});
Magic Number
Find the usage threshold that predicts retention:
| Feature | Magic Number | Description |
|---|---|---|
| Dashboard | 10 sessions/week | Daily user |
| Reports | 3 reports/month | Regular insight |
| Export | 1 export/week | Data dependency |
Feature Discovery Tracking
Discovery Methods
Track how users find features:
// Track discovery method
zenovay('track','feature_discovery', {
feature_name: 'automation',
method: 'onboarding_checklist',
time_since_signup_days: 3,
converted_to_use: true
});
| Method | Discovery Rate | Adoption Rate |
|---|---|---|
| Onboarding | 65% | 48% |
| In-app tooltip | 42% | 35% |
| Email campaign | 25% | 22% |
| Help center | 18% | 40% |
| Support ticket | 12% | 55% |
Improve Discovery
Track experiments:
// A/B test feature discovery
zenovay('track','discovery_experiment', {
feature_name: 'automation',
variant: 'video_walkthrough',
user_id: 'user_123',
shown: true,
clicked: true,
adopted: true
});
Feature Release Tracking
Launch Metrics
Track new feature launches:
// Feature launch tracking
zenovay('track','feature_launched', {
feature_name: 'new_dashboard_v2',
launch_date: '2025-01-15',
rollout_percentage: 10,
target_adoption: 50
});
// Daily launch metrics
zenovay('track','feature_launch_metrics', {
feature_name: 'new_dashboard_v2',
day: 3,
impressions: 1500,
trials: 450,
adoption: 280,
feedback_score: 4.2
});
Rollout Analysis
| Day | Exposed | Tried | Adopted | Feedback |
|---|---|---|---|---|
| 1 | 500 | 150 | 75 | 4.0 |
| 7 | 3500 | 1200 | 650 | 4.2 |
| 14 | 8000 | 3200 | 1800 | 4.3 |
| 30 | 15000 | 7500 | 4500 | 4.1 |
Reporting
Weekly Feature Report
Include:
- Top 10 used features
- Fastest growing features
- Declining features
- Feature adoption by segment
- New feature launch status
Feature Health Card
Per feature:
- Adoption rate trend
- Retention impact
- Usage frequency
- User feedback
- Support tickets
Executive Summary
| Category | Adoption | Trend | Action |
|---|---|---|---|
| Core | 92% | Stable | Maintain |
| Power | 45% | Growing | Promote |
| Team | 30% | Flat | Improve discovery |
| Enterprise | 65% | Growing | Expand |
Best Practices
What to Track
-
Every feature touch
- Views, clicks, uses
- Success and failure
-
Context matters
- User segment
- Account size
- Time since signup
-
Track the journey
- Discovery → Trial → Adoption → Retention
Feature Development Insights
-
Build what's used
- Double down on high-adoption features
- Improve medium-adoption features
- Sunset low-adoption features
-
Reduce friction
- Watch session replays
- See where users struggle
- Simplify complex features
-
Guide discovery
- Onboard to key features
- Progressive disclosure
- Contextual tips
Common Mistakes
-
Tracking too little
- Miss important signals
- Can't correlate with retention
-
Vanity metrics
- "Used once" isn't adoption
- Track sustained usage
-
Ignoring segments
- Power users ≠ new users
- Segment all analysis
Next Steps
Use this workflow in Zenovay
Review feature events in Open the dashboard and compare usage among eligible users, rather than all page visitors. Check the event properties that identify each feature.