Free Trial Events

Trial Started

This event is created when the user purchases a subscription with a free trial period.

The event is sent to analytics under the trial_started name.

Trial Active

This event is created if trial is still active 1 hour after purchase.

The event is sent to analytics under the trial_active name.

Trial Converted

This event is created after the trial period is finished and the user has been charged for the first time with the regular subscription price.

The event is sent to analytics under the trial_converted name.

Trial Canceled

This event is created when auto-renew is turned off for any free trial subscription. Note that the current subscription period may not yet be over.

The event is sent to analytics under the trial_canceled name.

Trial Expired

This event is created after the free trial period is over without conversion.

The event is sent to analytics under the trial_expired name.

Has the following expiration reasons (iOS only):

  • User canceled subscription manually – user_canceled;
  • There was a billing error – billing_issue;
  • User did not agree to a recent price increase – declined_price_increase;
  • Product was not available for purchase at the time of renewal – unavailable_product;
  • Unknown error occurred – unknown_error.

Regular Subscriptions

These are events that are created for a subscription at a regular price.

Subscription Started

This event is created when a user has purchased a subscription at a regular price.

The event is sent to analytics under the subscription_started name.

Subscription Renewed

This event is created when the subscription has been renewed and the user has been charged a regular price.

The event is sent to analytics under the subscription_renewed name.

Subscription Canceled

This event is created when auto-renew is turned off for any paid subscription.

The event is sent to analytics under the subscription_canceled name.

Subscription Expired

This event is created when the subscription period is over without renewal.

The event is sent to analytics under the subscription_expired name.

📘

Note

This event has the same set of expiration reasons as the trial expired event.

Subscription Refunded

This event is created when the user has refunded the subscription.

The event is sent to analytics under the subscription_refunded name.

📘

Note

This event has the same set of refund reasons as a refund during an introductory offer.

Paid Introductory Offers

An introductory offer is a discount that can be applied to new subscribers.

👍

Note

You can read more about iOS introductory offer types in our blog.

Intro Started

This event is created when the user purchases a subscription with an introductory offer.

The event is sent to analytics under the intro_started name.

Intro Renewed

This event is created when the subscription renews during the introductory offer.

The event is sent to analytics under the intro_renewed name.

Intro Converted

This event is created when an introductory offer is finished and the user has been charged for the first time with the regular subscription price.

The event is sent to analytics under the intro_converted name.

Intro Expired

This event is created when the subscription period is over without renewal.

The event is sent to analytics under the intro_expired name.

📘

Note

This event has the same set of expiration reasons as the trial period.

Intro Refunded

This event is created when the user has refunded the subscription with an introductory offer.

The event is sent to analytics under the intro_refunded name.

Has the following refund reasons (iOS only):

  • User canceled his subscription due to an actual or perceived issue within your app – app_issue;
  • Subscription was canceled for another reason, for example, if the user made the purchase accidentally – another_reason.

Promotional Offers

In iOS Apps, these are purchases made by using promotional offers.

In Android, these are purchases made by using promo codes.

Promo Started

This event is created when the user activates a promotional offer (iOS) or activates a promo code (Android).

The event is sent to analytics under the promo_started name.

Promo Renewed (iOS only)

This event is created when a subscription renews during a promotional offer with a "pay as you go" type.

The event is sent to analytics under the promo_renewed name.

Promo Converted

This event is created when the promotional offer is finished and the user has been charged a regular subscription price.

The event is sent to analytics under the promo_converted name.

Promo Expired

This event is created when subscription lapses during a promotional offer.

The event is sent to analytics under the promo_expired name.

📘

This event has the same set of expiration reasons as the trial period.

Promo Refunded (iOS only)

This event is created when the user has refunded the subscription with a promotional offer through Apple Care support.

The event is sent to analytics under the promo_refunded name.

Has the following refund reasons:

  • User canceled his subscription due to an actual or perceived issue within your app – app_issue;
  • Subscription was canceled for another reason, for example, if the user made the purchase accidentally – another_reason.

Paywall Events

Paywall Shown

This event is created when the paywall has been viewed by a user.

The event is sent to analytics under the paywall_shown name.

📘

Note

This event is sent manually with paywallShown() method.

Paywall Closed

This event is created when the user has closed the paywall with a cross icon or any other cancellation link.

The event is sent to analytics under the paywall_closed name.

📘

Note

This event is sent manually with paywallClosed() method.

Paywall Checkout Initiated

This event is created when the user tap on the selected product (or Continue button) on the paywall and the system checkout popup appears.

The event is sent to analytics under the paywall_checkout_initiated name.

Paywall Checkout Cancelled

This event is created when the user cancels a purchase on a system checkout popup.

The event is sent to analytics under the paywall_checkout_cancelled name.

Other Events

Autorenew Enabled (iOS only)

This event is created when the subscription auto-renew is turned back on.

The event is sent to analytics under the autorenew_enabled name.

Autorenew Disabled (Deprecated, iOS only)

This event is created when the subscription auto-renew is turned off. Includes both trial and paid subscriptions.

This event is marked for removal. Please use Trial Canceled and Subscription Canceled Events.

The event is sent to analytics under the autorenew_disabled name.

Billing Issue

This event is created when subscription renewal failed because of a billing issue.

The event is sent to analytics under the billing_issue name.

Billing Issue Resolved

This event is created when subscription recovers from a billing issue.

The event is sent to analytics under the billing_issue_resolved name.

Non-Renewing Purchase

This event is created when a user purchased a non-renewable product.

The event is sent to analytics under the non_renewing_purchase name.

Non-Renewing Purchase Refunded

This event is created when the user has refunded a non-renewable product.

The event is sent to analytics under the non_renewing_purchase_refunded name.

User Created

This event is created when the user is created in Apphud.

The event is sent to analytics under the user_created name.

Revenue

This event duplicates all the revenue events under revenue name, including refunds. Enable this event at your own risk.

App Reinstalled

This event is created when SDK detects a reinstall. iOS only. The event is sent to analytics under the app_reinstalled name.

Subscription Changed

This event is created whenever a product of a subscription changes. iOS only. The event is sent to analytics under the subscription_changed name.

❗️

Important Note

This event is not created by default. You should first enable it in integration settings, then it will start appearing.

When Events are Created?

Apphud regularly sends requests to App Store or Google Play to update subscriptions state and to create new events if necessary.