Skip to main content

Revenue events

Overview

The Pulse SDK allows monitoring of StoreKit and StoreKit2 transactions and subscription changes triggered by user actions within the application. The SDK can automatically convert these into predefined auto-events. All such events include detailed information derived from the original transactions, while excluding any private financial data. By default, all revenue-related events are disabled to ensure optimal app performance. To enable revenue event tracking, call the configSet(autoEventsConfig:) method and include .revenueTracking along with other desired auto-event types. Alternatively, you can enable revenue tracking by calling the public API method PAAnalytics.enableRevenueTracking().

auto-eventDescriptionContext parameters
revenue_payment_startUser initiates a payment process to buy given IAPprice + productId
revenue_payment_failPayment failed due to some reason(or status code or description of error) + productId
revenue_payment_deferredPayment was initiated and put in the queue, because external action (parent approval for children) is required. So payment final status is pending for a while. Later (inside 24 hours slot) one of the events “revenue_payment_fail” or “revenue_payment_success” might be fired anytime.price + productId
revenue_payment_successPayment is done and verified by App Storeprice + productId + transaction date + transaction identifier
revenue_purchase_restoredPurchases\subscriptions are restored on a new device or after app reinstallList of purchases (price + productId + original_transactionId)
revenue_payment_refundUser purchased some “ncp”, “nrs”, “ars”, but it doesn’t satisfy his need and he initiates a refund to get money backproductId
revenue_subscription_cancelAuto-renewable subscription is canceled (periodical charging is prohibited)productId
revenue_subscription_graceAuto-renewable subscription is in grace period due to billing issues. I.e AppStore or GoogleStore tries to retry money charging from the user’s credit card, but without success. The amount of such attempts is restricted.productId
revenue_subscription_renewalMoney is charged for next paid period of subscriptionproductId + expirationReason
Possible reasons: “autoRenewDisabled”, “billingError”, “didNotConsentToPriceIncrease”, “productUnavailable”, “productUnavailable”
revenue_subscription_expiredSubscription is expired. User doesn’t pay and uses paid functionality.productId