Mobile funnel tracking

Track onboarding flows, paywall conversion, and in-app purchase funnels using the Grometrics mobile SDK, custom events, and RevenueCat transaction data.

Last updated June 2026

A mobile funnel combines three types of steps: screen views (tracked automatically by the SDK), goal events (custom events you fire from your app code), and transaction events (synced from RevenueCat). You can mix all three in a single funnel. This page covers how to send the right events from your app so your funnels have data.

Prerequisites

  • Grometrics mobile SDK installed and verified for iOS, Android, React Native, or Flutter
  • RevenueCat setup completed if tracking in-app purchases or subscriptions
  • At least one recorded app session in Settings > Tracking

Steps

1

Confirm screen tracking is working

Open your app, navigate through several screens, then go to Pages/Screens in Grometrics and confirm your screen names appear. If screens show as generic names, update your navigation stack to use descriptive route names.

2

Add custom goal events

Fire goal events only after the user completes the action, not when a form or screen loads. Common onboarding events include account_created, profile_completed, notifications_enabled, onboarding_completed, paywall_viewed, and paywall_dismissed. See the [custom goal events docs](/docs/tracking/custom-events) for platform examples and naming rules.

React Native

1Grometrics.track('account_created');23Grometrics.track('profile_completed', {4  had_avatar: true,5  fields_filled: 4,6});
3

Link identity for RevenueCat attribution

After your auth session is saved, pass the same app user ID to RevenueCat and Grometrics so subscription revenue can link back to the same app user.

React Native

1await Purchases.logIn(user.id);23await Grometrics.track('account_identified', {4  user_id: user.id,5});67await Grometrics.identify(user.id);
4

Create the funnel in the dashboard

Go to Conversions > Funnels, create a funnel, then mix Screen, Goal, and Transaction steps in the same flow. Set a conversion window that matches your trial length and buying cycle.

Options / Configuration

Event nameWhen to fire
account_createdAfter successful signup, not when the form loads
profile_completedAfter the user submits their profile
notifications_enabledAfter the user grants push permission
onboarding_completedAfter the user reaches the main app experience
paywall_viewedWhen the paywall renders, especially if it is a modal overlay
paywall_dismissedWhen the user closes the paywall without starting a trial

Options / Configuration

Step labelRevenueCat event
Trial StartedTRIAL_STARTED
PurchaseINITIAL_PURCHASE
Trial ConvertedTRIAL_CONVERTED
RenewalRENEWAL
CancellationCANCELLATION

Event naming rules

Use lowercase letters, numbers, underscores, and hyphens only. Event names are limited to 64 characters. Send at most 10 properties per event, with keys up to 64 characters and values up to 255 characters.

What happens next

Open Conversions and build a paywall funnel such as Home, Paywall, Trial Started, and Purchase. Funnel Analysis guide

Troubleshooting

Screen names are not appearing

The screen name in your funnel step must exactly match what the SDK reports. Check Pages/Screens for the exact tracked names.

RevenueCat transaction steps show zero

Confirm RevenueCat is connected, identity linking uses the same user ID in both SDKs, and the conversion window is long enough for trial conversion.

Goal events are not registering

Confirm the event fires after at least one screen_view. Offline events are queued and sent when connectivity returns.

Some steps have data but later steps do not

This is usually a conversion-window issue. Increase the funnel window if users complete later steps after the current window expires.

Was this page helpful?