FAQ


What is OnRamp?

OnRamp is a funnel analytics tool built specifically for mobile app onboarding. You call OnRamp.step('milestone_name') at each meaningful moment in your onboarding flow - signup, profile setup, first action - and OnRamp shows you exactly where users drop off, how retention splits between users who finish versus those who don't, and a live session view of every user journey.

It is not a general-purpose analytics platform. It does one thing: help you understand and improve your onboarding.


How is OnRamp different from Mixpanel or Amplitude?

Mixpanel and Amplitude are general-purpose product analytics tools. Verify their current instrumentation, reporting, and delivery workflows in official documentation and a proof-of-concept; we do not publish uncited implementation-time comparisons here.

OnRamp is purpose-built for onboarding funnels. You track milestones with one function call, and the funnel, retention cohorts, live session view, and user flow graph are built from those events. Integration time varies by application; verify the resulting funnel in your own environment.

OnRamp includes a retention split by funnel completion. Check competing products' current reporting capabilities in their official documentation before making a feature comparison.

See also: OnRamp vs Mixpanel, OnRamp vs Amplitude.


How is OnRamp different from Firebase Analytics / Google Analytics?

Firebase is free and general-purpose but requires significant configuration to produce meaningful funnel views. It also routes data through Google's infrastructure and is subject to ad-blocker blocking.

OnRamp is opinionated about onboarding - the funnel view, retention, and session timeline are all first-class, not dashboards you have to build yourself. It stores data on EU servers, uses no cookies, and is not blocked by ad blockers that target Google.

See also: OnRamp vs Firebase Analytics.


Is OnRamp a session replay tool?

No. OnRamp does not record video, screenshots, or keystrokes. It captures event names, timestamps, screen names, and any properties you explicitly attach. The "journey map" is a node graph of the path the user took - screens and milestones as nodes, transitions as edges - not a video replay.

This makes it privacy-safe by default and much lighter on performance than video replay tools like FullStory or Hotjar.


Does OnRamp work with Expo managed workflow?

Yes. Use npx expo install @onramp-sdk/react-native @react-native-async-storage/async-storage and follow the Expo guide. No native code, no custom dev client, and no config plugin is required.


Can I use OnRamp alongside Mixpanel, Amplitude, or Firebase?

Yes. OnRamp is independent of other analytics tools. You can call OnRamp.step() and mixpanel.track() on the same event with no conflict.


Does OnRamp work with TypeScript?

Yes. All SDKs ship with full TypeScript types. No @types/ package needed.


Does OnRamp auto-track anything without me calling step()?

Yes, two things:

  1. Screen navigation - if you use the navigation adapter, screen changes are tracked automatically as screen_view events. These appear in session timelines but are not counted in funnel conversion.
  2. App lifecycle - foreground and background events are tracked automatically to detect session boundaries.

Everything else requires an explicit OnRamp.step() call.


What's the difference between step() and a screen view?

step() records a milestone - a meaningful business event like account_created. It counts toward funnel conversion and trend charts.

A screen view is purely navigational - it shows where the user went, but does not mean they achieved anything. Think of steps as your KPIs and screen views as the path between them.


Can I use OnRamp with React Native and Expo at the same time?

Yes. @onramp-sdk/react-native is the same package for both bare React Native and Expo. The Expo page just covers Expo-specific setup steps (like peer dependency installation via npx expo install).


Does OnRamp support offline event queuing?

The SDK batches events locally and retries on reconnect. Events fired while the device is offline are queued in AsyncStorage and flushed when a network connection is available.


Does OnRamp track crashes or errors?

No. OnRamp focuses on user journey analytics - steps, screens, sessions, and retention. It does not capture crashes, ANRs, or JavaScript errors. Use a dedicated crash reporter (Sentry, Bugsnag, Firebase Crashlytics) alongside OnRamp.


What React Native version does OnRamp support?

React Native 0.68 and above. The SDK uses the new architecture-compatible @react-native-async-storage/async-storage package as a peer dependency.


I called step() but nothing appeared in the dashboard. What should I do?

Check the following:

  1. SDK initialised - OnRamp.init() must be called before any OnRamp.step() calls.
  2. API key is correct - compare the key in your code to the one shown in Settings. Keys start with onr_.
  3. Network - open the device network monitor and confirm the events endpoint is returning 200.
  4. Give it a moment - events are batched and can take up to 15 seconds to appear.

Can I track events from my backend / server?

Yes. Use getIds() from the client SDK to read the current anonymousId and sessionId, pass them to your server, and fire a POST to the OnRamp ingestion endpoint from your server. This lets you associate purchases, trial starts, and subscription events with the same user journey captured in the app. See the Server-side events guide.


How do I test without polluting production data?

Create a separate app in the OnRamp dashboard (e.g. "My App - Dev") and use its API key in development builds. Events from that app stay completely separate.


What counts as a unique user?

A unique user is a distinct anonymous ID. If the same person uses the app on two devices, they count as two users. If they reinstall the app, they get a new anonymous ID and count as a new user.


A user completed steps 1 and 3 but skipped step 2. Are they counted?

For step 1: yes. For step 3: yes. For step 2: no.

Funnel steps are independent. A user is counted in a step the moment they fire that step event, regardless of what other steps they did or didn't complete.


How far back does "All time" go?

"All time" starts from the date your first event was received for that app. There will be no empty days before your first real data point.


Can I edit a funnel after creating it?

Yes. Go to the funnel and click Edit. Changing the step order or adding/removing steps recalculates conversion from the beginning of your data.


Can I delete a funnel?

Yes. Open the funnel, click the three-dot menu, then Delete funnel. This removes the funnel definition but does not delete any underlying event data.


Do I need a cookie consent banner?

OnRamp uses localStorage (web) and AsyncStorage (mobile) - not HTTP cookies - so browser cookie-blocking won't affect it. However, the EU ePrivacy Directive covers all client-side storage for analytics, not just cookies, so EU/UK users may still require consent. See the Privacy & data page for a full breakdown by jurisdiction.


What data does OnRamp collect?

By default: event names, timestamps, platform/OS/device metadata, IP-derived country and city (IP is not stored), and session identifiers. No email addresses, names, or any personally identifiable information unless you explicitly include it in properties.


Where is data stored?

Event data is stored in ClickHouse on EU-based servers. Session metadata and account data are stored in PostgreSQL. No data is shared with third parties.


Is there a self-hosted version?

Not currently. OnRamp is a managed cloud service. A self-hosted option is on the long-term roadmap.


What happens when my trial ends?

After 14 days, the dashboard requires an active subscription to view detail views (sessions, drop-off lists). Your event data continues to be ingested and stored regardless of subscription status - nothing is deleted. Upgrading restores full access immediately.


Can I export my data?

CSV export is on the roadmap. In the meantime, contact support and we can provide a one-time export.


Can I invite teammates?

Yes. Go to Team (from the header menu) and send an invite by email. Teammates can be given Member (read-only) or Admin (full access) roles.


Is there a free plan?

There is no ongoing free plan, but you get a 14-day free trial with full access to all features. Just cancel before day 15 and you won't be charged.

Still have questions?

Email us at support@getonramp.dev and we'll respond within one business day.