ATT only gates the IDFA. SKAN 4 and AdAttributionKit still attribute installs without consent, in aggregate and days late, with a fine value in the first postback only. What each platform does with that, and what to check when iOS looks broken.
Revenue to date tells you how old a cohort is, not how good it is. I read paid cohorts at the same age, on proceeds after the store, tax and refunds, in cells with 50 or more purchases, and I decide at day 28. A worked example where the naive read and the correct read point in opposite directions, and what no cohort table can tell you.
The most a paying user may cost you comes from what a payer pays, what reaches you after the store, tax and refunds, and how long you can wait. A worked example for a subscription app and one for a game, with store fees checked on 5 October 2026.
List every change from the last two to three weeks, find which CPI input moved, rebuild ROAS on cohorts of the same age and check measurement before any cut. CPI is CPM divided by installs per thousand impressions, and ROAS is value per install divided by CPI. A decision tree, a symptom table and cases from my own accounts.
An iOS App campaign can move from Search into YouTube even when Search looks better, and Google documents why. What better measurement does and does not change, tCPA against tROAS for subscription apps, and when web to app gives you the control App campaigns will not.
Subscription apps pick the wrong optimization event more than any other setting. What Meta, Google, TikTok and Apple Ads actually need to learn, and a rule that holds.
One Meta account, $1.2M over 22 weeks, 722 pairs of ad weeks. ROAS predicted the next week best once an ad had 50 or more purchases, at a correlation of 0.44, which is still only moderate. How to find the threshold in your own account.
A subscription app on Meta, more than $1.2M in spend, 917 localized ads in 10 languages. Language explained 4.8% of the variation in ROAS. The creative concept and its variant explained 25.2%, more than five times as much. Test in English, localize the winners, validate each market.
In one account with more than $1.2M in Meta spend, and in many others I have managed, ROAS bidding tends to win for weekly subscriptions, games with in app purchases and apps that sell credits. Purchase bidding can hold up for a single annual plan.
Two Google Ads tests on app campaigns, $73K across 6 campaign types and $27K across 6 bid strategies. Max Conversion Value beat tROAS on both platforms and every market. iOS led on Max Conversion Value while Android led on tD0ROAS and MaxAction. Search took 58% of budget and returned 25%, Display took 32% and returned 43%.
A tROAS campaign kept scaling five ads that never reached the 30% D0 target. I duplicated the campaign without them and ran both for 30 days at a comparable budget. In the original campaign, 0 of the top 5 ads by spend hit target, in the test campaign 4 of 5, and the algorithm surfaced six new creatives above target.
A casual game opened at £4 CPI and 27% D0 ROAS, then reached the same D0 again six weeks later with different users. When D0 halved from 22% to 11%, CPI barely moved and value per buyer did most of the damage. Split D0 ROAS into conversion, AOV, and CPI before you blame acquisition.
The case for keeping a trial and the case for cutting it, plus a channel question: should a high intent source like Apple Ads get the same treatment as a discovery source like Meta or TikTok? And the Meta constraint that often decides it, since you cannot cleanly optimize for trial starts and purchases at once.
Six criteria that separate a strong subscription app consultant from a weak one, and how I score against them. I run paid UA, signal engineering, creative and funnel audits as one lead strategist for apps spending $100K a month or more. Named results: EatBetter to $180K MRR, Videa AI past $200K monthly spend with a 43% D0 ROAS record week.
Two reports that point to iOS install misattribution: App Store Connect search installs moving with spend, and organic installs from the MMP plotted against paid. Over 103 days on one account, the iOS slope was 0.277, so on days with 100 more paid iOS installs, about 28 more organic iOS installs show up. The Android slope was 0.059, a small halo from paid.
A health app account, 209 days, 346,317 installs. Sunday and Monday installs convert best, Wednesday worst. Meta puts the biggest share of weekly spend on Wednesday, and Sunday and Monday get less. p < 0.00001, holds on both halves of the data and both platforms. The manual fix and what it is worth.
One US account, 8 campaigns. Four never cleared 50 optimization events a week, and produced 70 events between them, one campaign's worth of signal spread across four. Those four ran on $16,843, 23% of budget, and returned 54% ROAS at day 28. The other four ran on $58,012 and returned 80%. Holding launch age constant, the split is still 75% against 54%.
I ranked the same 38 Meta app campaigns, $606,462 of spend, two ways: by day 0 ROAS and by cost per purchase. Rank correlation with day 28 ROAS came out at +0.96 for day 0 value and -0.81 for CPA. Back the best 13 and you get 96.6% against 85.9%.
Real D28 ROAS from one subscription app across four paid UA channels: Meta 1.61x, Apple Ads 1.30x, Google Ads 1.09x, TikTok below parity. What each channel is good for, and why the effort spent chasing a new channel usually pays back more on Meta.
A subscription app removed its free trial for paid Meta traffic. Conversion went from 7.1% to 12% and cost per result fell from $58 to $40, and every result is now a purchase. The full test, week by week.
An audit of $383K in Meta tROAS spend, country by country. 7% of it had been failing the exact metric the algorithm optimizes, and no dashboard flagged it. The scoring framework that catches it in thirty minutes a month.
A fitness app with organic traction and positive unit economics, $1,500 a day, 40+ creatives, and a $30 cost per trial that would not move. Why we paused the spend, and the five lessons from the decision.
App Campaigns give you no keyword control or search term visibility, and standard Search loses the iOS click ID at the App Store. The five workarounds and their tradeoffs. Written with Burak Arslan.
Andromeda changed how Meta processes signals and finds audiences. The full playbook: channel order, Tier 1 West testing, IPM benchmarks, the campaign structure in three phases, signal choice, scaling, and subscription cash flow.