Skip to main content
Use the billing system that owns the subscription record: Stripe for most web subscriptions, or RevenueCat and Superwall for mobile purchases.

Connect the lifecycle

1

Track the acquisition journey

Install the Web or mobile SDK and identify the customer with a stable application user ID.
2

Connect the billing source

Open Sources, select Stripe, RevenueCat, Superwall, or Whop, and complete the requested authorization or credential setup.
3

Align identity

Use the same application user ID in Datalyr and the billing provider where supported. For mobile, use the RevenueCat or Superwall helper in the SDK reference.
4

Test the first purchase

Start a trial or paid subscription in the provider’s test environment and confirm the event appears.
5

Test a lifecycle change

Trigger a cancellation, renewal, or billing-failure test when the provider supports it.

Understand the events

A subscription is not one conversion repeated forever. It has a lifecycle:
  • Trial start: access begins without a completed paid conversion.
  • Trial conversion or initial purchase: the first successful paid period.
  • Renewal: another successful billing period for the existing subscription.
  • Cancellation: future renewal is stopped; access may remain until period end.
  • Expiration: access ends.
  • Billing failure: a charge failed and may be retried.
  • Refund: money from a completed payment is returned.
RevenueCat and Superwall reporting includes gross and net revenue, new subscriptions, renewals, cancellations, trials, billing failures, one-time purchases, platform revenue, and customer counts. Stripe reporting includes revenue, purchases, net revenue, refunds, disputes, new subscriptions, canceled subscriptions, and subscription payments.

Avoid common counting mistakes

Do not count trial starts as paid customers. Do not treat renewals as new-customer conversions. For acquisition reporting, separate initial paid conversions from recurring revenue; use both when evaluating lifetime value.

If revenue is not joined to a user

Compare the stable ID sent by your app with the identifier stored by the billing provider. Anonymous billing IDs, changed user IDs, and identifying only after purchase are the most common breaks. Test with a brand-new customer after correcting identity.
A complete test journey shows the acquisition visit, sign-in identity, trial or purchase, and later lifecycle events on the same customer.