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-event | Description | Context parameters |
|---|---|---|
revenue_payment_start | User initiates a payment process to buy given IAP | price + productId |
revenue_payment_fail | Payment failed due to some reason | (or status code or description of error) + productId |
revenue_payment_deferred | Payment 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_success | Payment is done and verified by App Store | price + productId + transaction date + transaction identifier |
revenue_purchase_restored | Purchases\subscriptions are restored on a new device or after app reinstall | List of purchases (price + productId + original_transactionId) |
revenue_payment_refund | User purchased some “ncp”, “nrs”, “ars”, but it doesn’t satisfy his need and he initiates a refund to get money back | productId |
revenue_subscription_cancel | Auto-renewable subscription is canceled (periodical charging is prohibited) | productId |
revenue_subscription_grace | Auto-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_renewal | Money is charged for next paid period of subscription | productId + expirationReason Possible reasons: “autoRenewDisabled”, “billingError”, “didNotConsentToPriceIncrease”, “productUnavailable”, “productUnavailable” |
revenue_subscription_expired | Subscription is expired. User doesn’t pay and uses paid functionality. | productId |