Skip to main content

Documentation Index

Fetch the complete documentation index at: https://mintlify.com/Eronred/aso-skills/llms.txt

Use this file to discover all available pages before exploring further.

Firebase Analytics (Google Analytics for Firebase) is the most widely used free analytics SDK for mobile apps. It provides in-depth event tracking, user segmentation, and A/B testing capabilities. Website: firebase.google.com Docs: firebase.google.com/docs/analytics

What It Provides

Key Features for ASO Skills

FeatureDescriptionUsed By
Event trackingCustom events with parametersapp-analytics
User propertiesSegment users by attributesretention-optimization
FunnelsMulti-step conversion analysisapp-analytics, monetization-strategy
Cohort analysisRetention by install dateretention-optimization
AudiencesDynamic user segmentsua-campaign
AttributionInstall source trackingua-campaign, app-analytics
A/B testingRemote Config experimentsab-test-store-listing
CrashlyticsCrash reportingapp-analytics

Key Metrics

MetricDescription
Active UsersDAU, WAU, MAU
SessionsApp opens with duration
RetentionDay 1, 2, 3, 7, 14, 21, 28, 30
EngagementSession duration, screens per session
RevenueIn-app purchases and ad revenue
ConversionsCustom conversion events
User PropertiesCustom segmentation

Setup

// 1. Add Firebase iOS SDK package
// https://github.com/firebase/firebase-ios-sdk

// 2. Initialize in AppDelegate
import Firebase

func application(_ application: UIApplication,
                 didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey: Any]?) -> Bool {
  FirebaseApp.configure()
  return true
}

Core Events to Track

Analytics.logEvent("onboarding_started", parameters: nil)
Analytics.logEvent("onboarding_completed", parameters: [
  "steps_completed": 5
])

User Properties

Analytics.setUserProperty("free", forName: "subscription_status")
Analytics.setUserProperty("true", forName: "onboarding_completed")
User property values:
  • subscription_status: free, trial, premium
  • onboarding_completed: true, false
  • sessions_count: Number of sessions
  • feature_tier: new, casual, regular, power_user

Integration with ASO Skills

app-analytics

Uses Firebase for:
  • Setting up the event tracking plan
  • Creating funnels (onboarding → activation → purchase)
  • Monitoring DAU/MAU and stickiness ratio
  • Identifying drop-off points

retention-optimization

Uses Firebase for:
  • Cohort retention curves
  • Comparing retained vs churned user behavior
  • Identifying activation events that predict retention
  • Measuring push notification impact

monetization-strategy

Uses Firebase for:
  • Purchase funnel analysis
  • Paywall view → trial → purchase conversion
  • Revenue per user segment
  • A/B testing paywall variants (via Remote Config)

ua-campaign

Uses Firebase for:
  • Install attribution by source
  • Post-install event tracking by campaign
  • Audience creation for remarketing
  • ROAS measurement

Usage Examples

Track Onboarding Funnel

1

Define funnel events

Analytics.logEvent("onboarding_started", parameters: nil)
Analytics.logEvent("permission_granted", parameters: ["type": "notifications"])
Analytics.logEvent("profile_created", parameters: nil)
Analytics.logEvent("onboarding_completed", parameters: nil)
2

Create funnel in Firebase Console

Go to Analytics → Funnels → Create Funnel → Add steps in order
3

Analyze drop-off

View conversion rate at each step and identify where users drop off

Measure Retention by Cohort

  1. Go to Firebase Console → Analytics → Retention
  2. Select cohort type: “First Open” or “Custom Event”
  3. View Day 1, 7, 14, 28 retention curves
  4. Compare cohorts by acquisition source or user property

Create Audiences for Remarketing

1

Define audience criteria

Go to Analytics → Audiences → Create Audience
2

Example: Churned Users

  • Last engagement: > 7 days ago
  • Previous sessions: > 3
  • Subscription status: free
3

Export to ad networks

Link audience to Google Ads or Facebook Ads for remarketing campaigns

A/B Test Paywall

Using Firebase Remote Config:
import FirebaseRemoteConfig

let remoteConfig = RemoteConfig.remoteConfig()
let settings = RemoteConfigSettings()
settings.minimumFetchInterval = 3600 // 1 hour
remoteConfig.configSettings = settings

remoteConfig.fetch { status, error in
  if status == .success {
    remoteConfig.activate()
  }
}
Then in Firebase Console → Remote Config → Create Experiment.

When to Use Firebase vs Other Tools

NeedFirebaseApp Store ConnectRevenueCatAppeeky
In-app event tracking
Custom funnels
Retention cohortsBasicBy revenue
Crash reportingBasic
A/B testing (in-app)Paywalls
Download attributionBy source typeBy source
Keyword rankings
ASO data
CostFreeFreeFree tierCredit-based

Best Practices

Event Naming

  • Use snake_case: feature_used, not featureUsed
  • Be specific: paywall_viewed not screen_viewed
  • Include context: purchase_completed not completed

Parameters

  • Keep parameter names consistent across events
  • Use strings for categories, numbers for metrics
  • Max 100 unique event names, 25 parameters per event

User Properties

  • Use for segmentation: subscription status, user tier, country
  • Update when values change (sessions count, feature usage)
  • Max 25 user properties per app

Funnels

  • Keep funnels short (3-5 steps)
  • Focus on critical flows: onboarding, purchase, core feature usage
  • Set up at least: Install → Onboarding → Activation → Purchase

Resources

Build docs developers (and LLMs) love