The Airship integration is available on the [Pro](🔗) plan.
Airship can be a helpful integration tool in understanding what stage a customer is in and reacting accordingly. You can design and trigger personalized Airship messages to customers based on purchase behavior.
Use your RevenueCat events to send Custom Events to trigger messages with Airship. This means you can design personalized Airship [Journeys](🔗) and [Automations](🔗) based on purchase behavior.
With our Airship Integration, you can:
Send a message to a user whose subscription experienced a billing issue.
Send reminders to your app's message center when a user's trial is about to expire.
With accurate and up-to-date subscription data in Airship, you'll be set to turbocharge your users' engagement ⚡️
The Airship integration tracks the following events:
|Event Type||Default Event Name||Description||App Store||Play Store||Amazon||Stripe||Promo|
|Initial Purchase||`||A new subscription has been purchased.||✅||✅||✅||✅||❌|
|Trial Started||`||The start of an auto-renewing subscription product free trial.||✅||✅||✅||✅||❌|
|Trial Converted||`||When an auto-renewing subscription product converts from a free trial to normal paid period.||✅||✅||✅||✅||❌|
|Trial Cancelled||`||When a user turns off renewals for an auto-renewing subscription product during a free trial period.||✅||✅||✅||✅||❌|
|Renewal||`||An existing subscription has been renewed or a lapsed user has resubscribed.||✅||✅||✅||✅||❌|
|Cancellation||`||A subscription or non-renewing purchase has been cancelled. See [cancellation reasons](🔗) for more details.||✅||✅||✅||✅||✅|
|Uncancellation||`||A non-expired cancelled subscription has been re-enabled.||✅||✅||✅||❌||❌|
|Non Subscription Purchase||`||A customer has made a purchase that will not auto-renew.||✅||✅||✅||✅||✅|
|Subscription Paused||`||A subscription has been paused.||❌||✅||❌||❌||❌|
|Expiration||`||A subscription has expired and access should be removed. If you have [Platform Server Notifications](🔗) configured, this event will occur as soon as we are notified (within seconds to minutes) of the expiration. If you do not have notifications configured, delays may be approximately 1 hour.||✅||✅||✅||✅||✅|
|Billing Issue||`||There has been a problem trying to charge the subscriber. This does not mean the subscription has expired. Can be safely ignored if listening to CANCELLATION event + cancel_reason=BILLING_ERROR.||✅||✅||✅||✅||❌|
|Product Change||`||A subscriber has changed the product of their subscription. This does not mean the new subscription is in effect immediately. See [Managing Subscriptions](🔗) for more details on updates, downgrades, and crossgrades.||✅||✅||❌||✅||❌|
For events that have revenue, such as trial conversions and renewals, RevenueCat will automatically record this amount along with the event in Airship.
## 1. Set Airship User Identity
If you're using the Airship SDK, you can either send the channel ID to RevenueCat or set an Airship Named User to match the RevenueCat app user ID. The preferred method is to send the channel ID to RevenueCat. Either method you use will allow events sent from the Airship SDK and events sent from RevenueCat to be synced to the same user.
### Set Airship User Identity Using Channel ID
Setting the Airship channel ID in RevenueCat is the preferred way for identifying users in Airship. Call `
setAirshipChannelID` on the Purchases SDK to have RevenueCat use the channel ID to send events to Airship.
### [Advanced Alternative] Set Airship User Identity Using Named Users
**Setting the Airship channel ID in RevenueCat is preferred over using Named Users, even if you have a user authentication system.** However, if you're already using Named Users in your Airship integration, you have the option to set the Named User in the Airship SDK as the same app user ID as RevenueCat. Ensure [Named Users is enabled in your Airship dashboard](🔗).
## 2. Send RevenueCat Events to Airship
After you've set up the _Purchase_ SDK and Airship SDK to have the same user identity, you can "turn on" the integration and configure the event names from the RevenueCat dashboard.
Navigate to your app in the RevenueCat dashboard and choose 'Airship' from the integrations menu
Add your [Airship app key and token](🔗)
Select the location of your Airship cloud site
Enter the event names that RevenueCat will send or choose the default event names
Select whether you want sales reported as gross revenue (before app store commission), or after store commission and/or estimated taxes.
# Sample Events
Below are sample JSONs that are delivered to Airship for each event type.