Nami Public Documentation
Sign In
Nami Documentation
Nami Documentation
  • Get Started
    • Overview
      • Key Concepts
      • Data Collection
      • Built for Privacy
    • Evaluating Nami
    • SDKs
      • Apple Native SDK
      • Android Native SDK
      • Amazon Native SDK
      • Roku Native SDK
      • React Native Cross-Platform SDK
      • Flutter Cross-Platform SDK
      • Unity Cross-Platform SDK
      • Release Notes
        • Find Nami SDK Version
    • Quickstart Guide
  • Subscription Management
    • Overview
    • Products
      • Archive Products
      • Sync Products
    • Entitlements
    • Customer Screen
    • Accounts and Login/Logout
    • Advanced Use Cases
      • Upgrades and Downgrades
      • Supported Purchase Change States by Platform
      • Restoring Purchases
      • Working with Consumable IAPs
  • No Code Paywalls
    • Overview
    • Paywall Creator
      • Using the Creator
      • Paywall Layout
      • Components
        • Editing, Deleting, Reordering
        • Hiding Components
        • Video
        • Collapse
      • Editable Properties
        • Focused Styling
        • Safe Area
      • Conditions
        • Notched Devices
        • Product Entitlements
      • Adding Products
      • Repeating Product Group
      • Product Fields
      • Capabilities
        • Featured Styling
        • Selected Styling
        • Custom Brand Fonts
        • Carousel
        • Trial Eligibility
        • Deeplink Button
        • Introductory Offer Eligibility
        • Login Check
        • Product Groups
        • Conditional Product Groups
        • Offer Eligibility and Purchasing
        • Screenreader Text
        • Personalization Tokens
        • Custom Variables
        • Multipage
        • Custom Data Source
        • Advanced Video Features
        • Product Error States
      • ❓FAQs
        • Designing Paywalls in Figma
        • Guide to Building a Paywall from Scratch
      • 🎁Releases
        • Roadmap
    • Paywall Templates
      • Pacific
      • Pacific Premium
      • Trident
      • Starfish
      • Mantis
      • Venice
      • Venice Premium
      • Honest
      • Catalina
      • Oyster
      • Puffin
      • Marina
      • Beluga
      • Driftwood
      • Lagoon
      • Pisces
      • Aquarius
      • Conch
      • Lionfish
      • Moray
      • Tetra
      • Lighthouse
      • Puffin Tablet
    • Managing Paywalls
      • Archiving a Paywall
      • Duplicate a Paywall
    • Paywall Smart Text
    • Pricing Eligibility States
    • Pricing Eligibility by Platform
    • Nami Paywalls in Different Languages
    • Legacy Paywalls
  • Campaigns
    • Placements
      • Create a Placement
      • Deeplink Placements
      • Archiving a Placement
      • Managing Lots of Placements
      • Export Placements
    • Campaigns
      • Campaign Filters
        • Campaign Use Cases
      • Archiving a Campaign
      • Scheduling a Campaign
      • Campaign Conversion Events
      • Managing Lots of Campaigns
      • Campaign Troubleshooting
    • A/B and Multivariate Testing
      • Selecting an A/B test winner
      • A/B Test Allocation
  • Integrations
    • All Integrations
    • Billing Platforms
      • Apple Integration
        • App Store Setup
          • Privacy Details
        • Platform Integration
        • App Store Server Notifications
        • Store Credentials
          • App Store Connect Shared Secret
          • Apple App Store Connect API
          • Apple In App Purchase
        • Add a Product
        • Platform Sync
        • SDK Integration
        • Troubleshooting
        • Testing and Development
          • Apple Testing Environments
          • Setting up Device Sandbox Test Environment
          • Setting up StoreKit config in Xcode
      • Google Integration
        • Google Play Store Setup
        • Platform Integration
        • Service Account
        • Real-time Developer Notifications
        • Add a Product
        • Platform Sync
        • SDK Setup
        • Troubleshooting
          • Supporting Android minSdkVersion 25 or lower
          • Requested product is not available for purchase
          • Unsupported Version of Play Billing
      • Amazon Appstore Integration
        • Create Amazon Android App
        • Platform Integration
        • Shared Key
        • Real-time Event Notifications
        • Add a Product
        • SDK Integration
        • Testing
      • Roku Integration
        • Platform Integration
        • API Key
        • Transaction Notifications
        • Add a Product
        • SDK Integration
      • Web Integration
    • Analytics Tools
      • Adobe Analytics
      • Amplitude
      • Google Analytics
      • mParticle
      • 3rd-Party Analytics
    • Subscription Management
      • Nami Subscription Management
      • Bring your Own Payment Code
    • CDP Integrations
      • Adobe CDP Integration
      • Amplitude CDP Integration
      • Custom CDP Integration
      • Generic CDP Integration
    • Other Integrations
      • Wicket Labs
      • Webhooks
        • Introduction to the Nami ML Event System
        • Event Types
          • Purchase Status Updates
          • Events for Upgrades, Downgrades, and Crossgrades
        • Event Subscriptions
        • Understanding Transferred Events and Accounts
      • API Access
    • Events Feed
  • Analytics
    • Using Charts
    • Paywall Analytics
      • Impressions
      • Paywall Conversion Rate
      • Sessions
      • Active Devices
    • Subscription Analytics
      • Revenue
      • MRR
      • Purchases
      • Trial Starts
  • Nami Account
    • Manage your Apps
      • Find your Nami App Platform ID
      • Setting up Legal Text for your Apps
    • Organization
      • Configuring Organization Security Policies
      • Billing
    • Invite your Team
      • Roles
    • Manage your Account
      • Two-Factor Authentication (2FA)
Powered by GitBook
On this page
  • Amplitude Setup
  • Configure Amplitude in the Nami Control Center
  • Overview of data available to send to Amplitude
  • Amplitude User ID
  • User Properties
  1. Integrations
  2. Analytics Tools

Amplitude

Last updated 2 months ago

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

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

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

Amplitude Setup

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

  1. 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. On the next screen toggle on Enable Integration.

    1. Enter a Name for the integration

    2. Enter your Amplitude Endpoint for the URL field

    3. Enter the API Key you located from the Amplitude dashboard.

    4. Select a value to use for the User ID in the dropdown.

  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.purchases.updated

  • user.subscription.account_hold

  • 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.resubscribed

  • user.subscription.resumed

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.

User Properties

Subscription Lifecycle Events

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

User Attribute
Description

namiml_active_entitlements

Array of entitlement_ref_id's for each active entitlement that the user currently has access to.

namiml_active_skus

Array of sku_ref_id's for the associated purchases with each active entitlement the user currently has access to.

namiml_device_ids

Array of UUIDs for each device that belongs to the user.

namiml_device_platforms

Array of app_platform_id's for each device.

namiml_former_subscriber

True if the user previously paid for a subscription and currently does not have an active subscription.

namiml_in_grace_period

True if the user is currently in grace period, false otherwise.

namiml_in_trial_period

True if the user is currently in a free trial, false otherwise.

namiml_in_intro_offer_period

True if the user is currently in an intro offer period, false otherwise.

Purchase Updates Event

We provide the following user attributes on the user.purchases.updated event sent to Amplitude.

User Attribute
Description

nami_active_entitlements

Array of entitlements the user currently has access to

nami_external_id

If the user is registered/signed in and their identifier is passed to the Nami SDK, this field will be populated.

nami_purchases

Array of all known purchases for this user

nami_subscriber_status

A roll-up of the user's subscriber status across all known purchases.

nami_user_id

Nami's internal identifier for this user

nami_user_type

Nami's internal user identifier type for this user

Here are the fields for nami_active_entitlements objects:

Field
Description

description

Description of the entitlement as specified in the Nami Control Center. String field.

entitlement_id

Nami's guid identifier for the entitlement String field

entitlement_ref_id

A slug-style identifier for the entitlement. String field

expires_at

Timestamp for when the entitlement expires. String or ISO 8601 Date

name

Name of the entitlement as specified in the Nami Control Center. String field.

type

The type of entitlement. String or Enum field. Possible values are:

  • binary_auth - you have it or you do not

  • quota_limit - you have it up to a limit

  • consumable - a bucket of resources you consume from until depleted

Here are the fields for nami_purchases objects:

Some fields may not be populated or may have an incorrect value (e.g. is_free_trial_conversion) if the original purchase happened before Nami had visibility into the purchase.

Field
Description

billing_cycles

The number of billing cycles, if a subscription. Number field.

billing_platform_type

The billing platform used to make the purchase. Stripe or Enum field. Possible values are:

  • amazon_iap - Amazon Appstore

  • apple - Apple App Store

  • google - Google Play

  • roku_pay - Roku Pay

  • web - Web

canceled_at

If a subscription, and canceled, the date and time when the cancelation occured . String or ISO 8601 Date

current_term_length

If a subscription, the current term length in ISO 8601 period format (e.g. P1Y)

entitlements

A list of entitlements this purchase unlocks. Array field.

expires_at

If a subscription, the date and time it expires. String or ISO 8601 Date

free_trial_length

If a subscription with a free trial, the length of the free trial in ISO 8601 period format (e.g. P7D).

in_account_hold

If a subscription, is it currently in account hold? Boolean field.

in_pause

If a subscription, is it currently paused? Boolean field.

in_payment_grace_period

If a subscription, is it currently in billing grace period? Boolean field.

is_active

If a subscription, is it currently active? Boolean field.

is_auto_renewable

If a subscription, is it auto-renewing? Boolean field.

is_free_trial_conversion

If a subscription, is it a free trial conversion? Boolean field.

is_in_intro_offer_period

If a subscription, is it currently in an introductory offer period? Boolean field.

is_in_trial_period

If a subscription, is it currently in an a free trial period? Boolean field.

is_production

Was this purchase made in production or a sandbox environment? Boolean field

is_subscription

Is this purchase a subscription? Boolean field

most_recent_event

The most recent event that updated this purchase record. String field

most_recent_transaction_id

Most recent transaction id from the billing provider for this purchase. String field

original_transaction_id

The original transaction id from the billing provider for this purchase. String field

price_in_usd

The price of the product being purchased, in US dollars. String field

product_ref_id

The purchased product identifier with the billing platform. String field

purchase_currency

The currency the purchase was made in. String field

purchase_price

The price of the purchase in the currency the purchase was made in. String field

revoked_at

If a subscription, the date and time it was revoked in the case of a refund or involuntary churn event. String or ISO 8601 Date

Here are the fields for nami_subscriber_status object, which rolls up subscriber status across all known purchases:

Field
Description

active_subscriber

Is this user an active subscriber? Boolean field.

former_subscriber

Is this user a former subscriber? Boolean field.

in_account_hold

Does this user have a subscription currently in account hold? Boolean field.

in_grace_period

Does this user have a subscription currently in a billing grace period? Boolean field.

in_intro_offer_period

Does this user currently have a subscription with an active introductory offer? Boolean field.

in_pause

Does this user have a subscription that is currently paused? Boolean field.

in_trial_period

Does this user currently have a subscription with an active trial offer? Boolean field.

is_canceled

Does this user have a subscription that is currently canceled? Boolean field.

To get started, you will need to locate the Amplitude project that you want to send Nami data to. Navigate to > **Organization Settings **> Projects

Log in to the Nami Control Center and Navigate to the . Then scroll down to All Integrations and click the Amplitude tile.

Standard Endpoint -

EU Residency Endpoint -

Most apps will use External ID for the User ID in this step. For more details on the User ID, see the

See our as well as more documentation on how to interpret each event.

External ID This is the identifier that you set in the SDK with a call to . We expect most customers to use the External ID for the Amplitude User ID.

For more information, see the .

Amplitude
Integrations screen
https://api2.amplitude.com/2/httpapi
https://api.eu.amplitude.com/2/httpapi
full list of Event Types here
login
documentation on Amplitude's website
Amplitude User ID section.
Amplitude
contact us
HTTP V2
User ID