We constantly publish updates to our documentation, which may not yet be available in your language. For the most current information, use the English version.
Subscriptions is a powerful tool for subscription-based app marketers. Use the data to better understand the value of your marketing spend and optimize future campaigns. Here are some of the key uses of subscription data:
Measure subscription revenue
Measure new subscriptions, trials, cancellations, and subscription events
Measure conversions from one event to another. Example: Trials to paying subscribers
Subscriptions data is platform-specific. If a user switches from an iOS to an Android device, they are considered as a new user.
You can view your aggregated subscription data in Datascape. To analyze your user-level data, you can set up raw data exports.
You can measure the following subscription events in Adjust.
Event
Event name in callbacks
Description
Activations
activation
User activates the subscription product for the first time.
(iOS only) Billing retry
billing_retry
Subscription is in billing retry period.
Cancellations
cancellation
Transaction is not renewed at the end of the subscription period, because the user unsubscribes or the billing retry renewal fails.
Discounted offers
discounted_offer
A new subscription was purchased at a reduced price.
Expirations
expiration
A subscription has expired.
Grace periods
grace_period
A subscription has entered grace period (if enabled).
(Android only) On Hold
on_hold
A subscription has entered account hold.
(Android only) Paused
paused
A subscription has been paused.
Price accepted
price_accepted
User successfully confirms subscription price change.
(iOS only) Price declined
price_declined
User declines subscription price change.
Reactivations
reactivation
A user who subscribed through a trial, offer, or subscription, then cancelled it, then reactivated it.
(Google Android apps only) When a user unsubscribes and then resubscribes to the same product, Google responds by assigning a new transaction ID. As a result, although we can tell if the event is from the same user or device, we cannot tell if it’s a reactivation event. For this reason, Adjust does not support reactivation events for Google Android apps.
(iOS only) Refunds
refund
The transaction for a subscription has been refunded.
Renewals
renewal
User successfully renews the subscription.
Renewals from Billing Retry
renewal_from_billing_retry
User successfully renews the transaction during a billing retry period.
Revoked
revoked
User revokes a subscription before expiration date.
Trial started
trial_started
A new free trial has started for a subscription.
Subscription events
Previous version of subscriptions
Subscription event
Description
Activation
User activates/pays for the subscription product for the first time.
First conversion
User does not cancel the subscription when the free trial or the free paid offer ends; converting them into a subscribed user.
Entered billing retry
When a trial has expired and is not cancelled (user did not unsubscribe the product) and if no billing issue happens, the subscription event becomes one of the following: converted_trial, converted_offer, or renewed_subscription.
Renewal
User successfully renews the subscription.
Cancellation
Transaction is not renewed at the end of the subscription period, because the user unsubscribes or the billing retry renewal fails.
Renewal from billing retry
User successfully renews the transaction after a billing issue is resolved.
Reactivation
A user who subscribed through a trial, offer, or subscription, then cancelled it, then reactivated it.
(Google Android apps only) When a user unsubscribes and then resubscribes to the same product, Google responds by assigning a new transaction ID. As a result, although we can tell if the event is from the same user or device, we cannot tell if it’s a reactivation event. For this reason, Adjust does not support reactivation events for Google Android apps.
Subscription event subtypes
Previous version of subscriptions
Subscription event
Subscription event subtypes
Description
activation
initial_subscription
User triggers first (paid) subscription in app
initial_trial
User triggers the first free trial in app
initial_offer
User triggers first (paid) offer in app with a discounted price
first_conversion
converted_trial
User did not cancel the subscription when the free trial ended, converting them into a subscribed user
converted_offer
User did not cancel the subscription when the first paid offer ended, converting them to a full-paying subscribed user
entered_billing_retry
trial_in_retry
Trial expired but renewal wasn't successful due to a billing issue.
For instance: the user did not cancel when the free trial period ended, however due to an issue with the payment source they could not be charged
offer_in_retry
Offer expired but renewal wasn't successful due to a billing issue.
For instance: the user did not cancel when the offer period ended, however due to an issue with the payment source they could not be charged
subscription_in_retry
Subscription expired but renewal wasn't successful due to a billing issue.
For instance: the user did not cancel when the free subscription period ended, however due to an issue with the payment source they could not be charged
renewal
renewed_subscription
Successful subscription renewal
cancellation
failed_trial
Trial not renewed at the end of the trial period
failed_offer
The first paid offer was not renewed at the end of the offer period.
failed_subscription
Subscription not renewed at the end of its time period
failed_trial_from_retry
Trial is not converted after the billing retry fails
failed_offer_from_retry
Offer is not converted after the billing retry fails
failed_subscription_from_retry
Subscription not renewed after the billing retry fails
renewal_from_billing_retry
converted_trial_from_retry
When the billing retry on a trial is successful and the trial is converted
converted_offer_from_retry
When the billing retry on an offer is successful and the offer is converted
renewed_subscription_from_retry
When the billing retry on subscription is successful and the subscription is renewed
reactivation
reactivated_subscription
A user who subscribed through a trial, offer, or subscription, then cancelled it, then reactivated it.
You can view your aggregated subscription data in Datascape.
Tip:
Use the Product ID dimension to break down your data by subscription product. For example, if you have multiple subscription products, such as a free trial, monthly subscription, or yearly subscription, add the Product ID dimension, and other relevant subscription metrics, and analyze your subscription data.
To ensure you have efficient troubleshooting and deep insights into your data, you can have subscription recording data sent straight to your servers.
Server callbacks - You can send user-level data directly to your servers—seconds after Adjust records the event. If you already have global callbacks set up in AppView, add our subscription placeholders to your existing callback URL. Or, you can set up a single subscription callback for all subscription events.
Cloud storage uploads - You can automatically export your subscription event's raw user data to your cloud storage on an hourly basis. To get set up, add the relevant subscription placeholders to your CSV definition.
Note:
If you already have Amazon S3 or Google Cloud Storage set up in AppView, you automatically receive cloud storage uploads for your subscription events. You still need to add subscription-related placeholders to your CSV definition to see these specific data points.
Unix timestamp of the expiration of a valid subscription. The data can be in the past or future.
1571608922
{subscription_cancelled_at}
Unix timestamp from when the subscription stops being valid. Cannot be later than the expiration_time.
If the subscription transaction fails and cannot be resolved, the value returned will be the expiration_time of the failed transaction. No value shows in the expiration_time placeholder.
1571608922
{subscription_transaction_id}
The value of a valid transaction. Failed transactions return no value.
If there is a billing problem, the current transaction ID is returned.
230000687036600
{subscription_original_transaction_id}
The first transaction ID of the product subscription chain.
230000687036600
{subscription_expired_transaction_id}
The previous valid transaction ID - if it's the first transaction, this returns an empty value. If it’s a failed transaction, this returns the previous valid transaction ID.
230000687036600
{subscription_environment}
Which environment the subscription purchase happened in.
sandbox production
{subscription_product_id}
The subscription product type within the app.
com.product.id
{subscription_sales_region}
The region code of the Apple store account's registered location; Google’s region code is based on the device's physical location.
us
{subscription_store}
Which store the subscription purchase was triggered from.