Get Started
API Reference


expo-analytics-amplitude provides access to Amplitude mobile analytics which allows you track and log various events and data. This module wraps Amplitude's iOS and Android SDKs. For a great example of usage, see the Expo app source code.
Please note: Session tracking may not work correctly when running Experiences in the main Expo app. It will work correctly if you create a standalone app. For example, the version logged when running experiences in the Expo app will be the Expo app version. Whereas in standalone apps, the version set in app.json is used. For more information see this issue on GitHub.

Platform Compatibility

Android DeviceAndroid EmulatoriOS DeviceiOS SimulatorWeb


→ expo install expo-analytics-amplitude

If you're installing this in a bare React Native app, you should also follow these additional installation instructions.

import * as Amplitude from 'expo-analytics-amplitude';

Initializes Amplitude with your Amplitude API key. If you're having trouble finding your API key, see step 4 of these instructions.

  • apiKey (string) -- Your Amplitude application's API key.

Assign a user ID to the current user. If you don't have a system for user IDs you don't need to call this. See this page for details.

  • userId (string) -- User ID for the current user.

Set properties for the current user. See here for details.

  • userProperties (object) -- A map of custom properties.

Clear properties set by Amplitude.setUserPropertiesAsync().

Log an event to Amplitude. For more information about what kind of events to track, see here.

  • eventName (string) -- The event name.

Log an event to Amplitude with custom properties. For more information about what kind of events to track, see here.

  • eventName (string) -- The event name.
  • properties (object) -- A map of custom properties.

Add the current user to a group. For more information, see here for iOS and see here for Android.

  • groupType (string) -- The group name, e.g. "sports".
  • groupNames (object) -- An array of group names, e.g. ["tennis", "soccer"]. Note: the iOS and Android Amplitude SDKs allow you to use a string or an array of strings. We only support an array of strings. Just use an array with one element if you only want one group name.

By default the Amplitude SDK will track several user properties such as carrier and city. You can use this method to customize and disable individual fields.
Note: These configurations will prevent default properties from being tracked on newly created projects, where data has not yet been sent. Please contact platform@amplitude.com if you would like default properties blocked (moving forward) on projects with existing data.

  • trackingOptions (object) -- Options object for what should not be tracked. The table below describes what properties the object may contain. All properties are expected to be booleans. For example, passing disableCarrier: true disables tracking the device's carrier.
disableCarrierDisable tracking of the device's carrier.
disableCityDisable tracking of the user's city.
disableCountryDisable tracking of the user's country.
disableDeviceManufacturerDisable tracking of the device manufacturer.
disableDeviceModelDisable tracking of the device model.
disableDMADisable tracking of the user's DMA.
disableIDFVDisable tracking of the user's IDFV.
disableIPAddressDisable tracking of the user's IP address.
disableLanguageDisable tracking of the device's language.
disableLatLngDisable tracking of the user's current latitude and longitude coordinates.
disableOSNameDisable tracking of the device's OS name.
disableOSVersionDisable tracking of the device's OS version.
disablePlatformDisable tracking of the device's platform.
disableRegionDisable tracking of the user's region.
disableVersionNameDisable tracking of the app version the user is on for your app.