Event Types
A list of the current event types Nami generates.
Full JSON schemas for all events partners are available at:
https://app.namiml.com/api/v1/events/schema/
device
Events in this category are generated by a specific device using the Nami SDK.
Event Type | Description |
---|---|
device.impression | This event is produced each time the device presents a paywall screen to the user. |
device.session.start | Produced at the start of an app session. |
device.session.end | Produced at the end of an app session. |
device.transaction | Produced when a purchase is generated on the device. |
purchase
Events in this category are generated for a specific purchase.
Event Type | Description |
---|---|
purchase.updated | Triggered by any change to Purchase. |
user
User events are tied to a specific user in the Nami platform.
User event payloads include the following data on the user's current state
- A list of the current Entitlements that are active
- The current Customer Journey State
- A list of all the Devices that currently belong to the user
- A list of any External Identifiers associated with the user
Below is an example payload.
{
"active_entitlements": [
{
"description": "Radio Nami Premium",
"entitlement_ref_id": "premium",
"expiration": "2020-10-10T23:58:51Z",
"last_verified": "2020-09-10T00:00:00.356795Z",
"name": "Radio Nami Premium",
"purchase_platform": "apple",
"sku_ref_id": "radio_nami_monthly_subscription"
}
],
"customer_journey_state": {
"former_subscriber": false,
"in_account_hold": false,
"in_grace_period": false,
"in_trial_period": false,
"in_intro_offer_period": false,
"in_pause": false,
"is_cancelled": false
},
"devices": [
{
"id": "00000000-0000-0000-0000-000000000000",
"platform": {
"id": "00000000-0000-0000-0000-000000000000",
"name": "App Store",
"platform_type": "apple",
"marketplace_app_id": "com.namiml.RadioNami"
}
}
],
"event_type": "user.subscription.renewed",
"event_platform": "apple",
"external_ids": [
{
"key": "original_transaction_id",
"type": "original_transaction_id",
"value": "1000000500000000"
},
{
"key": "external_id",
"type": "uuid",
"value": "00000000-0000-0000-0000-000000000000"
}
],
"user_id": "00000000-0000-0000-0000-000000000000",
"id": "00000000-0000-0000-0000-000000000000",
"created_date": "2020-05-29T00:57:11.227760+00:00"
}
user.journey
User journey events describe the journey your app users go on as you try to nurture them towards being sustained paying customers.
trial
Free trials are an important tool in converting users of your app to loyal paying customers. We offer a few events to track this important stage of the customer journey.
Event Type | Description |
---|---|
user.journey.trial.converted | A user's free trial has ended and they are now paying for their subscription. |
user.journey.trial.did_not_convert | The user's subscription has expired and they did not continue as a paying subscriber. |
user.journey.trial.started | The user started a free trial. |
user.subscription
User subscription events are used to track any changes to a user's subscription status. Since Nami runs both cross-platform and cross-device, we can sync your users' subscription status across platforms.
These events can be used to manage changes to a user's entitlement state as well as provide analytics insights into your subscriber base.
Event Type | Description |
---|---|
user.subcription.cancelled | User cancelled their subscription. A cancellation is the point at which the user decided to cancel or shut off auto-renewal on a subscription. At this time the user still has access to their entitlement. |
user.subscription.expired | User's subscription expired, either because it does not auto-renew, they had previously cancelled, or the payment has not been received. The expired event occurs when the final subscription billing term ends and the entitlement is revoked. |
user.subscription.in_grace_period | User is currently in grace period with an expired subscription due to the payment failing. |
user.subscription.paused | User paused their subscription and it will automatically resume at a future time. Android only |
user.subscription.pending_sku_change | User has purchased a new SKU as part of an upgrade, downgrade, or crossgrade, but has not been billed yet for that change. The new SKU will go into effect at the next bill term. |
user.subscription.purchased | User made a new purchase |
user.subscription.renewal_in_grace_period | User was in grace period and the subscription was recovered. |
user.subscription.renewed | User's subscription was renewed. |
user.subscription.resumed | User re-enables auto-renew after previously turning auto-renew off. or User resumed a subscription that had previously been paused. Android only |
user.subscription.sku_change | User has purchased a different SKU that grants the same entitlement. |
user.subscription.transferred.from | This event informs you that a user's entitlement was revoked by an entitlement transfer. See Entitlement Transfers below. |
user.subscription.transferred.to | This event informs you that a user was granted an entitlement by an entitlement transfer. See Entitlement Transfers below. |
Entitlement Transfers
The Nami SDK manages the concept of a user account in your app through the NamiCustomerManager.login and NamiCustomerManager.logout calls.
If you call NamiCustomerManager.login with a external_id
, we will link that app install to the provided identifier.
Call loginwhen a user signs up, registers, or logs in to a previously created account.
If the user logs out in your app, be sure to also call logout
Please note, there may still be valid purchases on the device. When those entitlements get associated with this new user, we revoke the entitlement on the old user so the old account will no longer have access.
This is done via an entitlement transfer process and our event system will produce two events for you to understand this transfer
user.subscription.transferred.from
user.subscription.transferred.to
which describes which user we revoked the entitlement from, the from
user, and which user was granted the entitlement, the to
user.
Please see Accounts, Login, and Logout for more information about managing user accounts.
Updated about 1 year ago