Analytics for fitness apps
from goal quiz to subscription.
See where new users drop out of your goal quiz, which workouts they log on phone and watch, and how many reach and buy at the paywall. For Native Swift, Native Android, Flutter and React Native apps.
- Native Swift
- Native Android
- Flutter
- React Native
- RevenueCat
- Superwall
- Goal answers in the funnelSee which goal quiz step loses people and which answers they chose.
- Workouts from phone and watchSee workouts logged from the phone and from Apple Watch or Wear OS.
- Paywall, trial and revenueFollow users from paywall to trial, purchase and renewal with RevenueCat or Superwall.
The dashboard a fitness app fills, on demo data
Onboarding
Acquisition
Outcomes
16
started
cohort outcomes
50% churn by
7.0d
churn paths
- cancelled
- 0
- expired
- 1
Apple Ads
Devices
Events
How is Workout Tracker doing? Show me the numbers and where we’re losing users.
activationpal.list_apps()└ Workout Tracker id: "workout-tracker"
activationpal.get_stats( app: "workout-tracker", range: "30d" )└ Snapshot received · installs, revenue, onboarding, paywall
WORKOUT TRACKER · LAST 30 DAYS revenue $428.43 ↑80% installs 716 ↑52% conversion 6% 43 purchases installs ▃▅▆▄▅▆▇▆▅▅▄▅▆▅▄▅▆█▇▆▅▂ revenue ▁▆▃▁▁▂▄▂▂▂▂█▂▁▂▁▂▁▃▂▄▂ Oct 11 → Nov 9 ONBOARDING installed 716 100% █████████ your goal 682 95% █████████ experience lev 636 89% ████████░ weekly schedul 594 83% ███████░░ notifications 550 77% ███████░░ completed 526 73% ███████░░
Biggest leak: “experience level” loses 46 users (7% of arrivals). Installs are up 52%. Test a shorter version before increasing spend.
Which markets are actually making money?
MARKET INST REVENUE US United States 213 $223.80 GB United Kingdom 62 $67.95 DE Germany 56 $27.97 AU Australia 28 $23.98 organic 634 $371.99 apple ads 82 $56.44
Revenue is concentrated in United States. Scale only where revenue per install supports the acquisition cost.
Analytics for fitness apps FAQ
How do I track goal quiz answers in a fitness app?
Call ActivationPal.onboardingStep(0, id: "goal", answer: "lose_weight") once per onboarding screen, in order, with the index starting at 0, then ActivationPal.onboardingCompleted() at the end. Answers split under the question step in the funnel. More: onboarding funnel analytics.
How do I track workouts as custom events?
On iOS: ActivationPal.track("workout_logged", ["type": "run", "duration_min": 42]). On Android, pass mapOf("type" to "run", "duration_min" to 42) as the props. Use snake_case names with no registration; they appear in the Events card with counts and unique devices. See the event list.
Can I track events from an Apple Watch or Wear OS app?
Yes. Mark the relay point with ActivationPal.trackFromWatch("workout_started") on Apple Watch or ActivationPal.trackFromWear("workout_started") on Wear OS, and the Devices card files the event under that device. Platform pages: iOS analytics and Android analytics.
How do I see paywall and free trial conversion?
Call ActivationPal.paywallShown("onboarding"), ActivationPal.paywallPlanSelected("yearly") and ActivationPal.paywallPurchased("yearly"), and connect a RevenueCat or Superwall webhook for trial starts, conversions and renewals. One revenue source per app. Setup: free trial conversion tracking, subscription analytics, RevenueCat and Superwall.
Does it track heart rate, sets or other workout data?
No. It measures onboarding, paywall, events and subscription outcomes. Event props, as String, Bool, Int or Double values, are for slicing events, not for storing workout data.
Which platforms does it support?
Native Swift, Native Android, Flutter and React Native / Expo. Setup for each is in the Quickstart.
How do I get started?
Create a free account, add an app, and follow the setup guide. The first 10,000 events are free and no card is required. Plans are on the pricing page.