Amplitude

Send data from Nami ML to Amplitude.

Integrate Nami with Amplitude so you can send data from Nami to other services that you use and build audiences based on Nami ML attributes.

📘

Paid Integration

Our Amplitude integration is available on our paid plans. Please contact us if you are interested in this feature.

Nami SDK Requirements

This is a server-side integration where Nami sends data directly to Amplitude. There is minimal SDK work required to enable it. See the User ID section below.

Amplitude Setup

Nami uses Amplitude HTTP V2 to send events. To prepare to setup the Nami to Amplitude integration, you need a few things from your Amplitude dashboard.

  1. To get started, you will need to locate the Amplitude project that you want to send Nami data to. Navigate to Amplitude > Organization Settings > Projects
  2. On this screen copy and save the API Key and the Secret Key. You'll need these to set up Amplitude in the Nami Control Center in the next section.

Configure Amplitude in the Nami Control Center

📘

In the Nami Control Center, you'll need to set up 1 Amplitude integration for each app. For example if you have a staging and production app on Nami, you may want to send data for each to Amplitude.

  1. Log in to the Nami Control Center and Navigate to the Integrations screen. Then scroll down to All Integrations and click the Amplitude tile.
  2. On the next screen toggle on Enable Integration.
    1. Enter a Name for the integration
    2. Enter your Amplitude Endpoint for the URL field
      1. Standard Endpoint - https://api2.amplitude.com/2/httpapi
      2. EU Residency Endpoint - https://api.eu.amplitude.com/2/httpapi
    3. Enter the API Key you located from the Amplitude dashboard.
    4. Select a value to use for the User ID in the dropdown.

👍

Most apps will use External ID for the User ID in this step. For more details on the User ID, jump ahead to the Customer ID section.

  1. Select the Nami events you wish to send to Amplitude in the last section of the screen by expanding and clicking the checkboxes. An overview of these data is provided in the next section. When complete click Add New Integration.
  2. Click 'Add New Integration' to save your changes

Overview of data available to send to Amplitude

The following events generated by the Nami ML platform are currently available to be sent to Amplitude. You may choose any subset of these events to be sent.

  • device.impression
  • device.transaction
  • user.journey.trial.converted
  • user.journey.trial.did_not_convert
  • user.journey.trial.started
  • user.subscription.cancelled
  • user.subscription.expired
  • user.subscription.in_grace_period
  • user.subscription.paused
  • user.subscription.purchased
  • user.subscription.renewal_in_grace_period
  • user.subscription.renewed
  • user.subscription.resumed

See our full list of Event Types here as well as more documentation on how to interpret each event.

Amplitude User ID

Amplitude uses a User ID field to define users in their platform. It is important that you properly set this ID in the Nami ML platform so that users in our platform are properly linked with users in Amplitude.

There are 2 different IDs that are available to be used as the Customer ID.

  • Nami User ID This is Nami's internal ID that tracks a user in our platform. If you have no other identifier you may use this.
  • External ID This is the identifier that you set in the SDK with a call to login. We expect most customers to use the External ID for the Amplitude User ID.

User Properties

We provide the following user attributes on all user.* events sent to Amplitude.

User AttributeDescription
namiml_active_entitlementsArray of entitlement_ref_id's for each active entitlement that the user currently has access to.
namiml_active_skusArray of sku_ref_id's for the associated purchases with each active entitlement the user currently has access to.
namiml_device_idsArray of UUIDs for each device that belongs to the user.
namiml_device_platformsArray of app_platform_id's for each device.
namiml_former_subscriberTrue if the user previously paid for a subscription and currently does not have an active subscription.
namiml_in_grace_periodTrue if the user is currently in grace period, false otherwise.
namiml_in_trial_periodTrue if the user is currently in a free trial, false otherwise.
namiml_in_intro_offer_periodTrue if the user is currently in an intro offer period, false otherwise.

For more information, see the documentation on Amplitude's website.