Purchasely
4.4
4.4
  • Welcome page
  • General
    • Presentation
    • Release notes
  • Quick start
    • Console Configuration
    • SDK Implementation
    • Testing
    • Sample
  • Basic configuration
    • Console Configuration
      • Creating a new application
      • Creating your Products
        • App Store
        • Play Store
        • Huawei App Gallery
        • Amazon App Store
        • Products & Plans
      • Design your Paywalls
      • Design your Paywalls-Latest
        • Carousel
        • Carousel Flow
        • Features List
        • Features List & Plan Picker with 2 & 3 columns
        • Feature list overlay
        • Plan picker horizontal
        • Plan picker with 2 and 3 Column
    • SDK installation
      • iOS SDK
      • Android SDK
      • React Native SDK
      • Cordova SDK
      • Flutter SDK
      • Unity SDK
    • SDK configurations
      • Paywall observer mode
      • Full mode
      • StoreKit 2
      • Appendices
        • Start the SDK
        • Set User Id
        • Notify when the app is ready
        • Present paywalls
        • Unlock content / service
        • Close SDK (Android only)
    • Stripe
    • Purchasely with RevenueCat
  • S2S notifications
    • Server-to-server notifications ?
    • Apple App Store
    • Google Play Store
    • Huawei App Gallery
  • Analytics
    • Dashboards
      • Introduction
      • Live
      • Subscriptions
      • Cohorts
      • Trials
      • Events
    • Events
      • Webhook events
        • Subscription events
        • Subscription events attributes
      • SDK events
        • UI events
        • UI attributes
  • Integrations
    • Webhook
      • Receiving and understanding messages
      • Managing entitlements
      • Detailed sequence diagrams
    • Airship
    • Amplitude
    • AppsFlyer
    • Adjust
    • Piano analytics(ex AT Internet)
    • Batch
    • Branch
    • Braze
    • Clevertap
    • Customer.io
    • Firebase
    • Iterable
    • Mixpanel
    • MoEngage
    • OneSignal
    • Segment
    • Brevo(ex Sendinblue)
  • Advanced Features
    • Asynchronous paywalls
    • NEW: Promotional offers
    • Anonymous user
    • Associating content
    • Audiences
    • Customising UI
      • Errors & alerts
      • Controllers (iOS) / Fragments (Android)
    • Deeplinks automations
    • Disable placements
    • Displaying users subscriptions
    • Localization
    • Lottie animations
    • Non-subscription products
    • Paywall action interceptor
    • Promoting your products
      • Self-promotion
      • Promoting In-App Purchases
    • Purchase manually
    • Subscription status
    • Use your own paywall
  • Others
    • Frequently Asked Questions
    • Migration guides
      • Migrate to Purchasely
      • Webhook
        • Migrate to Webhook v3.0
      • SDK
        • Migrate to SDK v3.0
          • v2.2.0
          • v2.1.3
        • Migrate to SDK v3.1
        • Migrate to SDK v3.2
        • Migrate to SDK v4.0.0
  • TESTING
    • Testing Cycle Durations
Powered by GitBook

© Purchasely 2020-2023

On this page
  • Attributes
  • Plan
  • Carousels
  • JSON samples

Was this helpful?

Edit on GitHub
  1. Analytics
  2. Events
  3. SDK events

UI attributes

Attributes

All our UI events are broadcast with attributes, you will find here the full list of those attributes and their specifics.

Attribute

Description

Mandatory

sdk_version

int

Contains the SDK version. That attribute will be filled for all events.

yes

event_name

string

yes

event_created_at_ms

int in milliseconds since the Epoch

Contains the date which the event was sent the first time. In case of retry that attribute will still be set with the time at the first try. That attribute will be filled for all events.

yes

event_created_at

string in ISO 8601

Contains the date which the event was sent the first time. In case of retry that attribute will still be set with the time at the first try. That attribute will be filled for all events.

yes

displayed_presentation

string

Contains the Presentation id that was displayed to the user. Reference to the Paywall vendor id you created in the Purchasely console. That attribute will be filled for every Paywall User Behavior events.

no

placement_id

string Contains the placement_id from where the presentation was triggerred. That attribute will be filled for every Paywall User Behavior events.

no

ab_test_id

string Contains the id ofthe AB test if there is an AB test currently running for that placement. That attribute will be filled for every Paywall User Behavior events.

no

variant_id

string Contains the variant_id in which the user is if an AB test is running. That attribute will be filled for every Paywall User Behavior events.

no

user_id

string

Contains the user_id that holds the purchase.

That attribute will be filled with the user_id you provided us through the SDK. That attribute will be filled for all events.

no

anonymous_user_id

string

Contains the anonymous_user_id that holds the purchase.

That attribute will be filled with a Purchasely generated anonymous_id if your app doesn't require the user to be logged in and/or you didn't specified to us a user_id. That attribute will be filled for all events.

no

purchasable_plans

Contains all attributes for all displayed plans in the presentation. That attribute will be filled for every Paywall User Behavior events.

yes

deeplink_identifier

string

Contains the deeplink used to display the paywall. That attribute will be filled for every Paywall User Behavior events.

no

selected_plan

string

yes

previous_selected_plan

string

no

link_identifier

string

Contains the url of the link the user just tapped on. That attribute will be filled for LINK_OPENED events.

no

carousels

Contains all attributes for all displayed carousels in the presentation. That attribute will be filled for every Paywall User Behavior events if the presentation contains at least one carousel.

no

language

string in ISO 639-1

Contains the language used in the displayed presentation. That attribute will be filled for every Paywall User Behavior events.

yes

device

string

Contains the device model used by the user. That attribute will be filled for all events.

yes

os_version

string

Contains the OS version running on the user's device. That attribute will be filled for all events.

yes

type

string

Contains the type of device used by the user.

Possible values:

  • PHONE

  • TABLET

  • TV

That attribute will be filled for all events.

yes

error_message

string

Contains the error message the store returned when trying the action. That attribute will be filled for IN_APP_PURCHASE_FAILED / IN_APP_NOT_AVAILABLE / RESTORE_FAILED / RECEIPT_FAILED events.

no

plan

string

no

selected_presentation

string

Contains the Presentation id of the selected presentaion. Reference to the Paywall vendor id you created in the Purchasely console. That attribute will be filled for every Paywall User Behavior events. That attribute will be filled for OPEN_PRESENTATION and SELECTED_PRESENTATION.

no

previous_selected_presentation

string

Contains the Presentation id that was previously selected. Reference to the Paywall vendor id you created in the Purchasely console. That attribute will be filled for SELECTED_PRESENTATION events.

no

selected_product

string

no

plan_change_type

string

Contains the type of plan change the user did.

Possible values:

  • CROSSGRADE

  • DOWNGRADE

  • UPGRADE

That attribute will be filled for SUBSCRIPTION_PLAN_TAPPED events.

no

running_subscriptions

Array of string

no

cancellation_reason_id

string

Contains the id of the reason the user answered through the cancellation survey triggered with Purchasely. That attribute will be filled for CANCELLATION_REASON_PUBLISHED events.

no

cancellation_reason

string

Contains the reason the user answered through the cancellation survey triggered with Purchasely. That attribute will be filled for CANCELLATION_REASON_PUBLISHED events.

no

Plan

Attribute

Description

type

string

Contains the string representation of the type of plan of one of the available plan.

Possible values:

  • CONSUMABLE

  • NON_CONSUMABLE

  • NON_CONSUMABLE

  • AUTO_RENEWING_SUBSCRIPTION

  • NON_RENEWING_SUBSCRIPTION

purchasely_plan_id

string

store

string

Contains the store on which is available one of the available plan.

store_country

string in ISO 3166

Contains the store country on which the user is logged in.

store_product_id

string

Contains the product_id you created in the store console of one of the available plan.

price_in_customer_currency

float

Contains the standard price in the customer currency for one the available plan.

customer_currency

string in ISO 4217

Contains the customer currency code.

period

string

Contains the string representation of the standard period of one of the available plan

Possible values:

  • DAY

  • WEEK

  • MONTH

  • YEAR

This attribute will be filled only if the "type" of the corresponding plan is AUTO_RENEWING_SUBSCRIPTION and NON_RENEWING_SUBSCRIPTION

duration

int

Contains the string representation of the number "period" of the standard periodicity of one of the available plan. To get the standard periodicity of the plan you have to concatenate "duration" and "period".

This attribute will be filled only if the "type" of the corresponding plan is AUTO_RENEWING_SUBSCRIPTION and NON_RENEWING_SUBSCRIPTION

intro_price_in_customer_currency

float

Contains the introductory offer price in the customer currency for one the available plan.

That attribute will be filled only if the plan has a introductory offer available.

intro_period

string

Contains the string representation of the introductory offer period of one of the available plan

Possible values:

  • DAY

  • WEEK

  • MONTH

  • YEAR

This attribute will be filled only if the "type" of the corresponding plan is AUTO_RENEWING_SUBSCRIPTION and NON_RENEWING_SUBSCRIPTION only if the plan has an introductory offer available.

intro_duration

int

Contains the string representation of the number "period" of the introductory offer periodicity of one of the available plan. To get the introductory offer periodicity of the plan you have to concatenate "duration" and "period".

This attribute will be filled only if the "type" of the corresponding plan is AUTO_RENEWING_SUBSCRIPTION and NON_RENEWING_SUBSCRIPTION" only if the plan has an introductory offer available.

has_free_trial

bool

True if a free trial is available for the plan.

free_trial_period

string

Contains the string representation of the free trial offer period of one of the available plan

Possible values:

  • DAY

  • WEEK

  • MONTH

  • YEAR

This attribute will be filled only if the "type" of the corresponding plan is AUTO_RENEWING_SUBSCRIPTION and NON_RENEWING_SUBSCRIPTION only if the plan has an free trial offer available.

free_trial_duration

int

Contains the string representation of the number "period" of the free trial offer periodicity of one of the available plan. To get the free trial periodicity of the plan you have to concatenate "duration" and "period".

This attribute will be filled only if the "type" of the corresponding plan is AUTO_RENEWING_SUBSCRIPTION and NON_RENEWING_SUBSCRIPTION" only if the plan has an free trial offer available.

discount_referent

string

Contains the Plan id of the plan that is used on the presentation to make a pricing comparison.

discount_percentage_comparison_to_referent

string

Contains the percentage of discount the plan offers in comparison to the referent.

discount_price_comparison_to_referent

float

Contains the price difference betwee, the plan and the referent.

is_default

bool

True if the plan is selected by default in the presentation.

Carousels

Attribute

Description

selected_slide

int

Contains the id of the current selected slide.

number_of_slides

int

Contains the total number of slides of the carousel.

is_carousel_auto_playing

bool

True if the carousel's slides switch automatically.

default_slide

int

Contains the id of the default selected slide.

previous_slide

int

Contains the id of the previously selected slide. That attribute will only be filled for CAROUSEL_SLIDE_SWIPED event.

JSON samples

{
  "language" : "en",
  "sdk_version" : "2.0.0",
  "anonymous_user_id" : "23DE2D20-7878-414C-B2EC-4B1E632995EB",
  "event_name" : "PRESENTATION_VIEWED",
  "displayed_presentation" : "YOUR_PAYWALL_ID",
  "carousels" : [
    {
      "default_slide" : 1,
      "is_carousel_auto_playing" : false,
      "number_of_slides" : 8,
      "selected_slide" : 1
    }
  ],
  "os_version" : "iOS 15.1.1",
  "device" : "iPhone13,4",
  "event_created_at" : "2021-12-08T16:49:20.343Z",
  "template" : "PRES_Y90FJV4M1ZZQF1C8PECVZC3WPMKYUP",
  "selected_plan" : "PURCHASELY_PLUS_MONTHLY",
  "type" : "PHONE",
  "purchasable_plans" : [
    {
      "store_country" : "FRA",
      "price_in_customer_currency" : 40.99,
      "duration" : 1,
      "period" : "YEAR",
      "has_free_trial" : true,
      "free_trial_duration" : 2,
      "free_trial_period" : "MONTH",
      "customer_currency" : "EUR",
      "is_default" : false,
      "type" : "AUTO_RENEWING_SUBSCRIPTION",
      "store" : "APPLE_APP_STORE",
      "purchasely_plan_id" : "PURCHASELY_PLUS_YEARLY",
      "store_product_id" : "com.purchasely.plus.yearly"
    },
    {
      "customer_currency" : "EUR",
      "has_free_trial" : false,
      "duration" : 6,
      "store" : "APPLE_APP_STORE",
      "purchasely_plan_id" : "PURCHASELY_PLUS_6MONTHS",
      "price_in_customer_currency" : 65.99,
      "type" : "AUTO_RENEWING_SUBSCRIPTION",
      "period" : "MONTH",
      "store_product_id" : "com.purchasely.plus.6months",
      "is_default" : false,
      "store_country" : "FRA"
    },
    {
      "is_default" : true,
      "intro_price_in_customer_currency" : 0.49,
      "price_in_customer_currency" : 9.49,
      "intro_period" : "MONTH",
      "type" : "AUTO_RENEWING_SUBSCRIPTION",
      "store_product_id" : "com.purchasely.plus.monthly",
      "intro_duration" : 3,
      "store_country" : "FRA",
      "customer_currency" : "EUR",
      "has_free_trial" : false,
      "period" : "MONTH",
      "purchasely_plan_id" : "PURCHASELY_PLUS_MONTHLY",
      "store" : "APPLE_APP_STORE",
      "duration" : 1
    }
  ],
  "event_created_at_ms" : 1638982160343
}
{
  "os_version" : "iOS 15.0",
  "language" : "en",
  "type" : "PHONE",
  "displayed_presentation" : "YOUR_PAYWALL_ID",
  "purchasable_plans" : [
    {
      "purchasely_plan_id" : "PURCHASELY_PLUS_YEARLY",
      "is_default" : false,
      "store" : "APPLE_APP_STORE",
      "period" : "YEAR",
      "has_free_trial" : true,
      "store_product_id" : "com.purchasely.plus.yearly",
      "price_in_customer_currency" : 43.99,
      "free_trial_period" : "MONTH",
      "customer_currency" : "USD",
      "store_country" : "USA",
      "free_trial_duration" : 2,
      "type" : "AUTO_RENEWING_SUBSCRIPTION",
      "duration" : 1
    },
    {
      "store_product_id" : "com.purchasely.plus.6months",
      "price_in_customer_currency" : 74.99,
      "store" : "APPLE_APP_STORE",
      "is_default" : false,
      "customer_currency" : "USD",
      "type" : "AUTO_RENEWING_SUBSCRIPTION",
      "duration" : 6,
      "purchasely_plan_id" : "PURCHASELY_PLUS_6MONTHS",
      "store_country" : "USA",
      "period" : "MONTH",
      "has_free_trial" : false
    },
    {
      "is_default" : true,
      "period" : "MONTH",
      "intro_price_in_customer_currency" : 0.49,
      "intro_duration" : 3,
      "duration" : 1,
      "store_product_id" : "com.purchasely.plus.monthly",
      "intro_period" : "MONTH",
      "store_country" : "USA",
      "has_free_trial" : false,
      "type" : "AUTO_RENEWING_SUBSCRIPTION",
      "store" : "APPLE_APP_STORE",
      "customer_currency" : "USD",
      "price_in_customer_currency" : 9.99,
      "purchasely_plan_id" : "PURCHASELY_PLUS_MONTHLY"
    }
  ],
  "carousels" : [
    {
      "previous_slide" : 2,
      "number_of_slides" : 8,
      "default_slide" : 1,
      "selected_slide" : 3,
      "is_carousel_auto_playing" : false
    }
  ],
  "event_created_at" : "2021-12-06T10:20:44.818Z",
  "event_created_at_ms" : 1638786044818,
  "device" : "arm64",
  "anonymous_user_id" : "67C77206-F279-4932-B322-69DC4319B517",
  "sdk_version" : "2.0.0",
  "selected_plan" : "PURCHASELY_PLUS_MONTHLY",
  "template" : "A6F9DC4D-6A90-42B6-BBE9-AA9BA3AFFEFC",
  "event_name" : "CAROUSEL_SLIDE_SWIPED"
}
{
  "device" : "iPhone13,4",
  "event_created_at_ms" : 1638787748990,
  "event_created_at" : "2021-12-06T10:49:08.990Z",
  "type" : "PHONE",
  "os_version" : "iOS 15.0.2",
  "event_name" : "SUBSCRIPTION_PLAN_TAPPED",
  "sdk_version" : "2.0.0",
  "plan" : "PURCHASELY_PLUS_YEARLY",
  "running_subscriptions" : [
    {
      "plan" : "PURCHASELY_PLUS_MONTHLY",
      "product" : "PURCHASELY_PLUS"
    }
  ],
  "plan_change_type" : "UPGRADE",
  "anonymous_user_id" : "23DE2D20-7878-414C-B2EC-4B1E632995EB"
}
PreviousUI eventsNextWebhook

Last updated 1 year ago

Was this helpful?

Contains the name of the event. That attribute will be filled for all events.

Array of plan (object described )

Contains the Plan id that is selected. Reference to the Plan vendor id you created in the Purchasely console (see ). That attribute will be filled for every Paywall User Behavior events.

Contains the Plan id that was previously selected. Reference to the Plan vendor id you created in the Purchasely console (see ). That attribute will be filled for PLAN_SELECTED events.

Array of carousels (object described )

Contains the Plan id of the targetted plan for the action. Reference to the Plan vendor id you created in the Purchasely console (see ). That attribute will be filled for Payment / Restore purchase / Receipts / Cancellation / IN_APP_RENEWED / SUBSCRIPTION_CANCELLED_TAPPED / SUBSCRIPTION_PLAN_TAPPED events.

Contains the Product id that is selected. Reference to the Product vendor id you created in the Purchasely console (see ). That attribute will be filled for SUBSCRIPTION_DETAILS_VIEWED events.

Contains pairs of Plan id and Product id for each active subscriptions the users has. Plan and Product ids are the ones you created in the Purchasely console (see ). That attribute will be filled for every Phone Settings events.

Contains the Plan id of one of the purchasable plans. Reference to the Plan vendor id you created in the Purchasely console (see ).

learn more
Configuring Products & Plans
Configuring Products & Plans
Configuring Products & Plans
Configuring Products & Plans
Configuring Products & Plans
Configuring Products & Plans
here
here