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:

bash
# 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.

tsx
// 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.

tsx
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:

tsx
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:

StepName to use
App openedapp_opened
Signup startedsignup_started
Account createdaccount_created
Profile set upprofile_setup
First action takenfirst_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