RevenueCat

Build With RevenueCat

Build a customized mobile subscription business with RevenueCat. We do the heavy lifting of normalizing subscribers from any source and maintain a single source of truth for subscription status, so you can get back to building your app.

RevenueCat is a powerful, secure, reliable, and free to use in-app purchase server with global support. All you need to get started is an API key.

Get Started    API Reference

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 Help Center 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.

NameUser DescriptionWebhook Event
Made a purchasePurchased a non-renewing productNON_RENEWING_PURCHASE
Started a subscriptionStarted a subscription without any free trial period.INITIAL_PURCHASE
Started a trialStarted a subscription with a $0 introductory price.INITIAL_PURCHASE
Converted from a trialEntered a paid subscription period after previously starting a trial.RENEWAL
RenewedEntered a paid subscription period after previously being in a paid period.RENEWAL
Changed renewal preferenceChanged the product identifier of an existing subscription.PRODUCT_CHANGE
Opted out of renewalDisabled the auto-renew status for an active subscription.CANCELLATION
ResubscribedRe-enabled the auto-renew status for an active subscription after previously cancelling.UNCANCELLATION
Had a billing issueApple / Google received an error when attempting to charge the user's credit card.BILLING_ISSUE
Was issued a refundApple 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 increaseDid not agree to a price increase.CANCELLATION
Cancelled due to a billing errorApple / Google was not able to charge the user's credit card and their subscription failed to renew.CANCELLATION
Cancelled due to unknown reasonsApple cancelled the user's subscription and did not provide a cancellation reason.CANCELLATION
Created a new aliasWas 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 Subscriptions

Active Android subscriptions 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 15 days ago


Customer History


Suggested Edits are limited on API Reference Pages

You can only suggest edits to Markdown body content, but not to the API spec.