Subscription app attribution: connect campaigns to paid conversions and renewals

Separate mobile trials, paying subscribers, renewals, and refunds while verifying the identity handoff through RevenueCat or Superwall.

By Mika Garcia · Published

In this article

Measure the subscription lifecycle, not just the install

A mobile subscription business can acquire many installers while producing few paying subscribers. Subscription app attribution connects acquisition context to later trial and payment events so those outcomes can be evaluated separately.

Keep install, trial start, trial conversion, renewal and refund distinct. A trial begins a relationship without necessarily collecting money. A renewal collects money from an existing subscriber rather than creating another acquired customer.

This guide covers the mobile subscription lifecycle and its revenue handoff. A browser-based SaaS signup funnel has different identity and checkout boundaries, even if both businesses use the word trial.

Use one revenue source for the same store transaction

DATALYR documents RevenueCat and Superwall integrations. When both describe the same underlying store transaction, choose one as its revenue source rather than assuming the reporting system will merge them.

The RevenueCat guide explicitly warns that connecting both sources can double mobile revenue because deduplication occurs within a source, not across them. This is a delivery-ownership decision: more connectors are not automatically more complete measurement.

Record which system owns purchases, refunds and lifecycle state, and reconcile that source before adding another path. If a source is changed, plan the overlap period and identifiers so the migration does not create two representations of the same revenue.

One store transaction, one revenue owner

Single source

One recorded payment path

RevenueCat or Superwall owns the transaction feed.

Overlapping sources

Double-counting risk

Both may describe the same store payment.

DATALYR’s RevenueCat documentation warns against overlapping RevenueCat and Superwall revenue feeds.

Verify the app-to-revenue identity handoff

Revenue arriving is not the same as revenue linked to an acquisition journey. The app and subscription provider must carry the supported identity information so the receiving payment can be connected to the right visitor or customer.

For RevenueCat, DATALYR documents setting its subscriber attributes from the initialized SDKs. Follow the current SDK version and ordering guidance, including updates after permission changes where applicable. Do not copy an obsolete attribute name from an old integration snippet.

Inspect the resulting payment record. A synthetic fallback identity may preserve the revenue while leaving acquisition unresolved. Fix the missing handoff rather than assigning the payment to an arbitrary campaign.

Separate payer count from recurring receipts

Imagine a hypothetical acquisition cohort with 100 trial starts. Twenty people convert to a $10 paid subscription, and fifteen of those renew once for another $10. There are 20 new payers and 35 successful payments, producing $350 gross receipts before any refunds, taxes or fees.

Trial-to-paid conversion is 20%. Renewal among the first paid group is 75% for this single renewal opportunity. It would be misleading to report 35% trial-to-paid conversion by dividing all 35 payments by the 100 trials.

Use a common observation window and allow time for the renewal opportunity. The youngest subscribers in a fresh cohort may not yet be eligible to renew.

Payments and paying subscribers differ

1. Trials

100 starts

No payment assumed at trial start.

2. First paid conversion

20 × $10 = $200

Twenty newly paying subscribers.

3. One renewal opportunity

15 × $10 = $150

Fifteen existing subscribers pay again.

Illustrative cohort: 20 new payers, 35 payments, $350 gross receipts; 20% trial-to-paid and 75% first renewal.

Compare the same revenue basis across systems

Store taxes, commissions, refunds and currency conversion can make gross revenue differ from proceeds. DATALYR’s RevenueCat documentation distinguishes the event’s gross value from a separate net calculation. Inspect the actual fields before comparing them with a store payout.

An event called cancellation also requires interpretation. Canceling future renewal need not reverse the previous charge. Use the provider’s documented event mapping and refund conditions rather than subtracting every cancellation from revenue.

For acquisition economics, keep original purchase, renewal and refund treatment explicit. A campaign cohort’s later revenue can be useful even when a short-window ad platform does not attribute those later payments to the same campaign.

Test receipt and attribution independently

Start with the source’s supported test workflow, checking what is expected to be ingested in each environment. DATALYR’s RevenueCat guide says TEST and SANDBOX events are ignored; a successful response to such an event therefore does not prove that a revenue record will appear.

For an appropriately authorized eligible transaction, verify the event type, timestamp, amount, currency, source identity and campaign link. Inspect a renewal and refund separately rather than assuming they follow the initial-purchase mapping.

Maintain a compact acceptance record and revisit it after SDK, paywall or subscription-provider changes. The goal is to know why a customer is attributed or unmatched, not simply to make an install chart and a revenue chart sit beside each other.