Customer History
The 'Customer History' card shows a timeline of transactions and activity for the selected customer. These can be useful for debugging and triaging support issues by understanding when critical events happened for the customer.
The timeline events are generated from changes to the user's purchase receipt. This is the raw purchase data from Apple/Google presented in a more readable form and enhanced with RevenueCat price estimates. If there's no purchase history present, then the user either never sent RevenueCat a receipt or the receipt is empty.
If the Customer History is empty, it means we haven't received a purchase receipt for the user. If you think this may be a mistake, check out our community article on re-syncing a user's purchases.

Event Types
Below is a table with all the event types you can expect in the customer history and a description of what they mean.
Name | User Description | Webhook Event |
---|---|---|
Made a purchase | Purchased a non-renewing product | NON_RENEWING_PURCHASE |
Started a subscription | Started a subscription without any free trial period. | INITIAL_PURCHASE |
Started a trial | Started a subscription with a $0 introductory price. | INITIAL_PURCHASE |
Converted from a trial | Entered a paid subscription period after previously starting a trial. | RENEWAL |
Renewed | Entered a paid subscription period after previously being in a paid period. | RENEWAL |
Changed renewal preference | Changed the product identifier of an existing subscription. | PRODUCT_CHANGE |
Opted out of renewal | Disabled the auto-renew status for an active subscription. | CANCELLATION |
Resubscribed | Re-enabled the auto-renew status for an active subscription after previously cancelling. | UNCANCELLATION |
Had a billing issue | Apple / Google received an error when attempting to charge the user's credit card. | BILLING_ISSUE |
Was issued a refund | Apple customer support cancelled and refunded a user's subscription, or a Google subscription was refunded through RevenueCat. | CANCELLATION |
Cancelled due to not agreeing to a price increase | Did not agree to a price increase. | CANCELLATION |
Cancelled due to a billing error | Apple / Google was not able to charge the user's credit card and their subscription failed to renew. | CANCELLATION |
Cancelled due to unknown reasons | Apple cancelled the user's subscription and did not provide a cancellation reason. | CANCELLATION |
Created a new alias | Was aliased with another App User Id. | SUBSCRIBER_ALIAS (deprecated) |
Missing or incorrect prices
It is possible for prices to be missing or incorrect, especially for apps that have migrated from a different system to RevenueCat. The stores provide very minimal pricing information for developers, so RevenueCat estimates the transaction price based off the data that is available - if you have old products that are no longer available for sale or changed the price of your products before using RevenueCat, you can expect some prices to be missing or incorrect. We do our best to backfill prices over time if more up-to-date information becomes available.
Event Details
You can click into events in the Customer History to view additional details about the event, including any integrations that may have been triggered as a result of the event.

Refunding Purchases
Android purchases can be refunded directly through the RevenueCat dashboard. Granting a refund will immediately expire the subscription and remove any entitlement access. By refunding directly through RevenueCat you can ensure that refunds are accounted for in all charts and integrations.
Apple doesn’t allow developers to grant refunds themselves, only through Apple customer support. However, Apple refunds are tracked with RevenueCat and accounted for in all charts and integrations.

Next Steps
Updated over 1 year ago