Getting started
Install OnRamp, track onboarding milestones, and verify your funnel in the dashboard.
Prerequisites
- A React Native, Expo, Flutter, iOS (Swift), React, Next.js, or web project
- An OnRamp account - sign up free
- An API key from your app's Settings page in the dashboard
Step 1 - Install the SDK
Pick the package for your platform:
# React Native / Expo
npm install @onramp-sdk/react-native
# React / Next.js
npm install @onramp-sdk/react
# Web (Vue, Svelte, Angular, plain JS)
npm install @onramp-sdk/web@0.7.0
For Flutter see the Flutter SDK page. For native iOS see the iOS SDK page.
Step 2 - Initialise the SDK
Call OnRamp.init() once at app startup with your API key - find it in Dashboard → your app → Settings.
// App.tsx
import { useEffect } from 'react'
import { OnRamp } from '@onramp-sdk/react-native'
export default function App() {
useEffect(() => {
OnRamp.init({ apiKey: 'onr_xxxxxxxxxxxx' })
}, [])
return <YourApp />
}
Where to find your API key
In the OnRamp dashboard, open your app and go to Settings. Create an API key and copy it. Keys look like onr_a3f8d2e1b9c4.... Create a separate app in the dashboard for development so test events stay out of your production data.
Step 3 - Track your first milestone
Call OnRamp.step() at each meaningful moment in your onboarding flow. A step is any user action you want to measure - signing up, completing a profile, creating their first item.
import { OnRamp } from '@onramp-sdk/react-native'
function SignupScreen() {
async function handleSignup(email: string, password: string) {
await createAccount(email, password)
// Track the milestone - that's it
OnRamp.step('account_created')
}
}
You can attach custom properties to any step:
OnRamp.step('account_created', {
properties: {
plan: 'trial',
signup_method: 'email',
},
})
Step 4 - Define your funnel
Open the dashboard, go to Funnel, and click New funnel. Add the step names you're already tracking - in order - and save. The funnel populates with any historical events that match.
A minimal onboarding funnel might look like:
| Step | Name to use |
|---|---|
| App opened | app_opened |
| Signup started | signup_started |
| Account created | account_created |
| Profile set up | profile_setup |
| First action taken | first_action |
OnRamp matches events to funnel steps by the exact string name you pass to OnRamp.step(). Capitalisation and spaces matter - account_created and Account Created are different steps.
Step 5 - Open your dashboard
Navigate to your funnel. Within a few seconds of your first event arriving, you will see:
- Conversion funnel - percentage through each step
- Daily trend - visitors and conversion rate over time
- Drop-off - which step loses the most users
- Session timeline - individual user journeys
Next steps
- Core concepts - understand sessions, anonymous IDs, and how funnels work
- React Native SDK reference - all methods and options
- Custom metrics - add numeric properties to your funnel chart
