Events notify you in near real-time to any changes that occur to a customer's subscription and can automatically be sent into a variety of [third-party tools](πŸ”—ο»Ώ) and [attribution networks](πŸ”—ο»Ώ) to get clean, consistent, and trustworthy data in all of your systems.

RevenueCat events work by connecting directly to the app stores to detect changes to the customer's subscription. This means events are not dependent on any in-app usage or activity and are always sent from RevenueCat's servers. Server-side event detection is crucial for subscription apps since most interesting events occur when your app is inactive (e.g. trial conversions, renewals, cancellations, etc.).

ο»Ώ

# Setting up Events and Integrations

In order for events to properly work, information about the purchase along with the App User ID must be sent to RevenueCat and the integration configured in the RevenueCat dashboard. Integrations are configured on a per-Project basis, meaning all apps under the same project share the same integration configurations.

## 1. Send purchase information into RevenueCat

Purchase information, along with an App User ID, need to be sent to RevenueCat. This can be done 1 of 3 ways:

  1. Making purchases through any of the RevenueCat SDKs will automatically collect this information.

  2. Running any of the RevenueCat SDKs in [Observer Mode](πŸ”—ο»Ώ) will automatically collect this information.

  3. Create a subscription through the [POST /receipts](πŸ”—ο»Ώ) REST API. This is typically done server-side and only if you're **not** using the RevenueCat SDK.

ο»Ώ

Purchase information only needs to be sent to RevenueCat once to initially create the subscription, and all future events will be automatically detected.

### Collect integration specific data

Some integrations require certain device specific data to properly function. Be sure to review each integration specific guide here to ensure all required data is captured. Any device specific data is sent to RevenueCat as a [Subscriber Attribute](πŸ”—ο»Ώ), which can be set via the RevenueCat SDK or REST API.

## 2. Configure integration in the RevenueCat dashboard

Integrations are configured from the RevenueCat dashboard by navigating to your project, and tapping '**+ New**' under the Integrations menu in the side bar. Be sure to read each integration specific guide for complete setup details.

ο»Ώ

# Historical Events

Although RevenueCat can parse historical subscription data for charts and data exports, **historical subscription changes do not generate events into any integrations**. If a historical subscription is sent to RevenueCat, an event will be generated for the latest event that occurred only. This way, any downstream systems can have the latest subscription state synced even if the complete subscription event history is not present.

# Debugging Integrations

Each integration configuration page in the RevenueCat dashboard will display a realtime feed of the most recently dispatched events. Expanding an event here will display the request body sent by RevenueCat along with the response code and message received from the destination.

If you're receiving errors, inspect the response message to troubleshoot.

If you don't see any events dispatched, ensure that you're capturing any device specific information required by that integration and that you've recorded a recent purchase to RevenueCat.