This sends product analytics to Amplitude: src/lib/analytics.ts initialises @amplitude/analytics-react-native 1.x on the first analytics consent (only when the key is set) and implements analytics.track/identify/screen, with a pass-through AnalyticsProvider (order 40, since the SDK has no React provider). screen maps to trackScreenView ([Amplitude] Screen Viewed) and identify maps to setUserId plus an Identify call for user properties, where null unsets a property. If you set up with --with-examples there's an example at /examples/analytics with a list of the last events sent. @/lib/analytics keeps the same API whichever option you pick - pick Amplitude when your team already lives in its funnels and cohorts.
When to pick Amplitude
Pick Amplitude if your team already lives in its funnels and cohorts, or you have an existing project to send to.
At a glance
- Runs in Expo Go
- Yes
- Files added
- 6
- npm packages
- 2
- Keys to paste
EXPO_PUBLIC_AMPLITUDE_KEY- Included in
- Pro
- Tests included
- 2
Set it up
bun run setup --analytics amplitudeSetup copies the module in, installs SDK-matched versions and removes the options you did not pick. Then bun run doctor lists every key still missing, with a link to where you get it. The step-by-step guide is in the Amplitude docs.
Amplitude vs other analytics options
| Option | Expo Go | npm packages | Keys to paste | Included in |
|---|---|---|---|---|
| Amplitude | Yes | 2 | 1 | Pro |
| PostHog | Yes | 5 | 2 | Pro |
Questions
Can I use Amplitude in Expo Go?
Yes. This module runs in Expo Go, so you can try it before you make a development build.
What do I need to set up Amplitude in an Expo app?
Run bun run setup --analytics amplitude, then paste one key into .env: EXPO_PUBLIC_AMPLITUDE_KEY. bun run doctor lists any that are missing, with a link to where you get each one.
Which other modules does Amplitude need?
It needs a Storage option (expo-sqlite/kv-store, MMKV or AsyncStorage). Pick those in the same setup run.
Does the ReadyNative free tier include Amplitude?
No. Analytics is a Pro category: the free tier and Starter ship it switched off. Pro is one payment with lifetime updates.
Can I build the app without Amplitude?
Yes. Pick none for analytics (bun run setup --analytics none) - analytics.track/identify/screen are no-ops, feature flags read undefined.
Amplitude or PostHog for Expo?
Pick Amplitude if your team already lives in its funnels and cohorts, or you have an existing project to send to. Pick PostHog if you want events and feature flags from one service with a generous free tier, and the option to self-host later; it's the default here.
What does Amplitude mean for the App Store and Google Play privacy forms?
It collects: App interactions (events, screens); Device or other ids (device id); User IDs (when you call analytics.identify); Approximate location (derived from the request IP). Shared with: Amplitude (processor). Setup adds its data types to the iOS privacy manifest; the docs page lists the answers for Play's Data safety form.
Which Amplitude version does it install?
For Expo SDK 57: @amplitude/analytics-react-native ^1.8.0, expo-tracking-transparency ~57.0.2. Setup installs Expo packages with expo install, so they match the SDK.
Get it
Amplitude ships in Pro: one payment, lifetime updates. See pricing or browse every module.