Browse documentation
Last reviewed

RevenueCat and Apple Ads profitability

Apple Ads measures spend and attributed acquisition. RevenueCat measures subscription and purchase outcomes. AdPilot combines mapped Apple spend with RevenueCat app-level proceeds so your assistant can discuss observed profitability—but the result is blended app-level context, not deterministic campaign, keyword, or search-term revenue attribution.

Why Apple Ads alone is incomplete

Apple Ads can answer:

  • how much was spent;
  • how many impressions, taps, and installs Apple attributed;
  • which campaigns, ad groups, keywords, and search terms produced that activity;
  • how CPI, CPT, TTR, and conversion changed.

It cannot by itself tell AdPilot which installers started a trial, became payers, renewed, refunded, or produced proceeds. Those outcomes usually live in the app’s monetization system.

Without RevenueCat, AdPilot can still analyze acquisition efficiency. Proceeds and observed ROAS remain unavailable rather than being treated as zero.

What RevenueCat contributes

AdPilot connects RevenueCat per AdPilot app. A synchronized connection contributes daily app-level proceeds and supporting subscription metrics when available.

RevenueCat distinguishes:

  • Revenue — transaction revenue minus refunds under RevenueCat’s chart definition.
  • Revenue net of taxes — revenue after estimated taxes.
  • Proceeds — revenue after estimated taxes and store commissions or fees.

AdPilot uses proceeds for observed ROAS because it is closer to the amount the developer retains than gross revenue. Proceeds remain an estimate and are not the same as an App Store payout statement.

Connect RevenueCat to an app

  1. Add or import the app in AdPilot.
  2. Open the app or Connections → RevenueCat.
  3. Enter a RevenueCat v2 secret API key with the read access required for project, app, and chart discovery.
  4. Let AdPilot match the RevenueCat app by bundle ID, App Store/Adam ID, exact or normalized name, or the only app exposed by the key.
  5. If multiple candidates remain, select the correct RevenueCat app.
  6. Run synchronization and confirm the connection is active and bound.

The key is encrypted at rest, hidden from serialization, and never returned over MCP. Use a read-only key; AdPilot does not need RevenueCat mutation permissions.

Connect every AdPilot app whose profitability should appear in portfolio results. One unmapped or unsynchronized app can make workspace proceeds incomplete.

Understand the blended attribution boundary

For one AdPilot app and date range, the profitability service combines:

  • Apple Ads spend from campaigns mapped to that app; and
  • RevenueCat proceeds for the connected RevenueCat application.

It calculates:

observed app-level ROAS = RevenueCat app proceeds / mapped Apple Ads spend

This is useful business context, but the numerator can include value from organic users, other paid channels, historical acquisitions, renewals, and transactions that RevenueCat does not attribute to an individual Apple campaign in AdPilot.

Therefore:

  • Do say: “The app recorded 1.4x observed proceeds ROAS against mapped Apple spend.”
  • Do say: “Campaign A had better install efficiency while the app’s blended proceeds improved.”
  • Do not say: “Campaign A generated exactly $4,200 in RevenueCat proceeds” unless an independent attribution source proves that relationship.

AdPilot includes this warning in profitability and data-quality responses.

Account for cohort maturity

Acquisition spend occurs now; subscription value arrives over time. A recent cohort may still be:

  • in a free trial;
  • waiting for a monthly or annual renewal;
  • inside a refund window;
  • too young to reach the workspace payback horizon;
  • affected by delayed receipt or attribution updates.

Compare cohorts at the same age. A seven-day-old cohort’s observed proceeds should not be judged against a 90-day-old cohort’s cumulative value.

Use separate labels for:

  • Observed ROAS — proceeds already synchronized for the selected transaction dates.
  • Projected ROAS or LTV — a forecast based on assumptions or historical cohorts.

AdPilot does not replace observed proceeds with a projection. Data quality describes maturity so the assistant can qualify early results.

Expect refunds and historical changes

RevenueCat charts are generated from the current receipt state. Historical values can change when refunds, billing events, receipt updates, tax estimates, commission estimates, or exchange rates change.

AdPilot refreshes recent RevenueCat complete days so later changes can replace previously synchronized values. This means a report rerun later can produce a legitimately different proceeds total for the same past dates.

Do not freeze a financial conclusion without recording when it was observed and which source definition was used.

Keep currency and time boundaries compatible

ROAS requires a compatible numerator and denominator.

  • Confirm the Apple organization currency and RevenueCat display currency.
  • Do not divide USD proceeds by EUR spend without a documented conversion.
  • Use complete days ending yesterday in the AdPilot workspace timezone.
  • Check whether the RevenueCat chart and Apple report cover the same dates.
  • Remember that RevenueCat’s calendar proceeds estimate is not an Apple fiscal-calendar payout statement.

If currency, mapping, or coverage is incomplete, report proceeds and spend separately rather than calculating a misleading ratio.

Worked example: interpret blended ROAS honestly

For the last 30 complete days, an app has:

  • $10,000 of Apple Ads spend across mapped campaigns;
  • $13,000 of RevenueCat app proceeds;
  • 2,000 Apple-attributed installs;
  • a RevenueCat connection that includes the whole app, not campaign attribution.

Observed app-level ROAS is:

$13,000 / $10,000 = 1.3x = 130%

CPI is:

$10,000 / 2,000 = $5.00

You can conclude that synchronized app proceeds were 1.3 times mapped Apple spend during the period and that Apple-attributed installs cost $5 on average. You cannot conclude that every dollar of the $13,000 came from those campaigns or allocate it among keywords.

Useful follow-up work includes comparing cohort maturity, checking post-install attribution in an MMP or first-party system, reviewing payer CAC, and testing whether changes in Apple acquisition align with changes in app proceeds over time.

How AdPilot reports profitability

AdPilot’s MCP tools can return:

  • Apple spend for the selected app and complete-day range;
  • RevenueCat proceeds when the app connection is active and synchronized;
  • observed app-level ROAS;
  • mapping, sync freshness, attribution, and cohort-maturity warnings;
  • workspace portfolio totals only when the required app coverage is available.

Profitability context can inform a review, but app-level blended proceeds do not control AdPilot’s keyword-level change evaluation. That separation prevents weak attribution from being presented as precise causal evidence.

Try: Compare mapped Apple spend with RevenueCat proceeds for the last 30 complete days. Show observed ROAS, explain cohort maturity, and do not assign proceeds to individual campaigns.

Profitability checklist

  • The Apple campaign is mapped to the correct AdPilot app.
  • The RevenueCat connection is active and bound to that same app.
  • Both sources cover the requested complete-day range.
  • Spend and proceeds use compatible currencies.
  • Proceeds, gross revenue, and payouts are not treated as synonyms.
  • Recent cohorts are labeled as developing where appropriate.
  • Refunds and historical revisions are expected.
  • Observed and projected value remain separate.
  • Campaign-level revenue is not claimed from blended app proceeds.

Next steps

Official sources

AdPilot is an independent service and is not affiliated with, endorsed by, sponsored by, or operated by Apple Inc. Apple and Apple Ads are trademarks of Apple Inc.