Manage subscription data

Warning:
Adjust no longer offers this version of subscription recording for new customers. If you are already set up with subscription recording, reach out to your dedicated Technical Account Manager or support@adjust.com for support.

You can view your aggregated subscription data in Datascape. To analyze your user-level data, you can set up raw data exports.

Here, you’ll learn how to manage your subscription events, and set up callbacks and cloud storage uploads.

Subscription events

In Adjust you can measure seven main subscription events. For each subscription event, you can use a subtype to get more insight into your user data.

Subscription eventDescription
ActivationUser activates 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 retryWhen 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. 
CancellationTransaction is not renewed at the end of the subscription period, because the user unsubscribes or the billing retry renewal fails.
Renewal from billing retryUser successfully renews the transaction after a billing issue is resolved. 
ReactivationA user who subscribed through a trial, offer, or subscription, then cancelled it, then reactivated it.  

Subscription event subtypes

Set up subscription callbacks

Using callbacks, you can send user-level data directly to your servers—seconds after Adjust records the event.

Adjust automatically records the following subscription events.

  • Subscription activation
  • Subscription first conversion
  • Subscription entered billing retry
  • Subscription renewal
  • Subscription cancellation
  • Subscription renewal from billing retry
  • Subscription reactivation

When you include the {subscription_event_subtype} placeholder in your callbacks, you can receive subtypes for each subscription event. These offer greater insight into your user data.

Subscription placeholders

For a more granular look at your users’ behavior, you can add the following placeholders to your callbacks.

Global callbacks

Global callbacks provide a full list of data points from all activities that Adjust records.

If you already have global callbacks set up in AppView, add our subscription event placeholders to your existing callback URL.

For a full overview of how to create global callback URLs, follow our guide here. Or, edit your callback URL using our template and example below.

Example

http://callbackserver.com/adjust_global?app_id={app_id}&app_name={app_name}&app_name_dashboard={app_name_dashboard}&app_version={app_version}&app_version_raw={app_version_raw}&app_version_short={app_version_short}&store={store}&tracker={tracker_token}&tracker_name={tracker_name}&first_tracker={first_tracker}&last_tracker={last_tracker}&last_tracker_name={last_tracker_name}&outdated_tracker={outdated_tracker}&network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&impression_based={impression_based}&is_organic={is_organic}&rejection_reason={rejection_reason}&click_referer={click_referer}&click_time={click_time}&click_time_hour={click_time_hour}&impression_time={impression_time}&impression_time_hour={impression_time_hour}&conversion_duration={conversion_duration}&engagement_time={engagement_time}&engagement_time_hour={engagement_time_hour}&installed_at={installed_at}&installed_at_hour={installed_at_hour}&install_finish_time={install_finish_time}&install_begin_time={install_begin_time}&referral_time={referral_time}&created_at={created_at}&created_at_milli={created_at_milli}&created_at_hour={created_at_hour}&reattributed_at={reattributed_at}&reattributed_at_hour={reattributed_at_hour}&attribution_updated_at={attribution_updated_at}&time_to_uninstall={time_to_uninstall}&idfa={idfa}&idfv={idfv}&gps_adid={gps_adid}&android_id={android_id}&adid={adid}&activity_kind={activity_kind}&revenue={revenue}&currency={currency}&subscription_event={subscription_event_type}&subscription_event_subtype={subscription_event_subtype}&product_id={subscription_product_id}&sales_region={subscription_sales_region}&transaction_id={subscription_transaction_id}&expired_transaction_id={subscription_expired_transaction_id}&original_transaction_id={subscription_original_transaction_id}&subscription_store={subscription_store}&subscription_start={subscription_purchased_at}&subscription_end={subscription_expiration_time}&subscription_cancelled={subscription_cancelled_at}&environment={subscription_environment}&callback_parameter={publisher_parameters}

Subscription callback

Subscription callbacks send a single callback for all seven subscription-based events.

Example subscription callback URL

http://callbackserver.com/adjust_subscription?app_id={app_id}&app_name={app_name}&app_name_dashboard={app_name_dashboard}&app_version={app_version}&app_version_raw={app_version_raw}&app_version_short={app_version_short}&store={store}&tracker={tracker_token}&tracker_name={tracker_name}&first_tracker={first_tracker}&last_tracker={last_tracker}&last_tracker_name={last_tracker_name}&outdated_tracker={outdated_tracker}&network_name={network_name}&campaign_name={campaign_name}&adgroup_name={adgroup_name}&creative_name={creative_name}&impression_based={impression_based}&is_organic={is_organic}&rejection_reason={rejection_reason}&click_referer={click_referer}&click_time={click_time}&click_time_hour={click_time_hour}&impression_time={impression_time}&impression_time_hour={impression_time_hour}&conversion_duration={conversion_duration}&engagement_time={engagement_time}&engagement_time_hour={engagement_time_hour}&installed_at={installed_at}&installed_at_hour={installed_at_hour}&install_finish_time={install_finish_time}&install_begin_time={install_begin_time}&referral_time={referral_time}&created_at={created_at}&created_at_milli={created_at_milli}&created_at_hour={created_at_hour}&reattributed_at={reattributed_at}&reattributed_at_hour={reattributed_at_hour}&attribution_updated_at={attribution_updated_at}&time_to_uninstall={time_to_uninstall}&idfa={idfa}&idfv={idfv}&gps_adid={gps_adid}&android_id={android_id}&adid={adid}&revenue={revenue}&currency={currency}&subscription_event={subscription_event_type}&subscription_event_subtype={subscription_event_subtype}&subscription_product_id={subscription_product_id}&subscription_sales_region={subscription_sales_region}&subscription_transaction_id={subscription_transaction_id}&subscription_original_transaction_id={subscription_original_transaction_id}&subscription_store={subscription_store}&subscription_purchased_at={subscription_purchased_at}&subscription_expiration_time={subscription_expiration_time}&subscription_environment={subscription_environment}&callback_parameter={publisher_parameters}

Set up cloud storage uploads

With cloud storage uploads, you can automatically export your subscription event raw user data to cloud storage on an hourly basis.

Note:
If you already have Amazon S3 or Google Cloud Storage set up in AppView, when you record subscriptions with Adjust 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.

To get set up, add the subscription placeholders you want to include to your CSV definition. Read more about formatting your CSV definition.