A mobile app growth audit finds three things: what is broken, what to fix first, and how much money the account leaves on the table at your current spend. It runs on read access only, takes days, and you leave with a written read whether or not we work together afterwards.
This page is for a team at any spend level that wants a senior read before spending more, and for a profitable team that suspects it is leaking. It says what gets read, why the gap is usually bigger than it looks, and what the audit says when paid UA turns out not to be the bottleneck.
Platform facts on this page were checked against Apple, Google, Meta, TikTok, AppsFlyer, Adjust and RevenueCat documentation on 23 and 24 September 2026.
- A written read of the paid funnel, the signal and the creative
- The order to fix things in, with the reason for the order
- The size of the gap at your current spend
- Whether paid UA is the bottleneck right now, said plainly
Read access to the ad accounts and the MMP, and your unit economics. The first minute of your onboarding I can read from the app itself.
What does a growth audit cover?
A mobile app growth audit covers the paid funnel, the signal, the creative and the product funnel, and ends with a written read. It runs on read access only. I read the ad accounts, the MMP and your unit economics, and change nothing. The read says what is broken, what to fix first and why, and how much money the account leaves on the table at your current spend. It also says when a comparison cannot settle a question, such as whether paid was incremental, and a test is needed first. It takes days from access and stands on its own.
| Area | What I read | The question it answers |
|---|---|---|
| The paid funnel | Where budget actually lands across campaigns and ad sets | Is the split starving the winners? |
| The signal | What the platforms receive, and what they are optimizing toward | Where do the platform, the subscription backend and the MMP disagree? |
| The creative | What has been tested, and what has shipped untested | Are spend or vanity metrics deciding the winners? |
| The product funnel | The first minute of the app | Is it ready for paid traffic at all? |
What does the growth audit need from me?
Read access to the ad accounts and the MMP, and your unit economics, are all it needs. RevenueCat, Adapty or your own subscription backend, App Store Connect, Google Play Console and product analytics sharpen the read if you have them, but the audit needs none. Attributed ROAS is not incremental ROAS, and only a holdout settles that: a lift study where the platform grants one, or a geo test. Which number to trust for which decision is that distinction, written up.
Should I audit before scaling spend?
Yes. A mobile app growth audit before scaling spend checks the three things that scale badly: the signal, the structure and the cohort read. Scaling on broken data only scales the problem.
- The signal. Does the purchase event fire once, carry a value and reach every platform? If not, more budget teaches the algorithm the wrong lesson faster.
- The structure. Does every campaign clear the learning threshold? If not, more budget spread the same way buys more campaigns that never learn.
- The cohort read. Are the cohorts behind the decision the same age? If not, the young one looks worse, and its number has not finished arriving.
How big is the gap at my current spend?
Profitable can still leak. When an account underperforms on its own, the gap between the ROAS it has and the ROAS it should reach is revenue the same spend could bring in, and nobody sends a receipt for opportunity cost. Sizing that gap is the first thing the audit does, and you can run the same sum on your own account.
| Step | How | Worked example |
|---|---|---|
| Monthly spend | Take your monthly paid spend | €100,000 |
| Current ROAS | Take your current blended ROAS | 107% |
| Reachable ROAS | Take the ROAS you believe the account should reach at this spend level | 132% |
| Monthly cost of the gap | Multiply the gap by the spend | 132% minus 107% is a gap of 25 points, and 25% of €100,000 is €25,000 a month |
When is a cohort ready to read?
On iOS the cohort read is slow by design, because Apple's AdAttributionKit can send postbacks across three conversion windows running to day 35, each after a delay. RevenueCat's realized LTV chart marks a cohort incomplete until it has had the selected lifetime to mature, and I apply the same rule: cohorts compared at equal age, in one currency, net of commission. How many purchases a ROAS needs sets the floor.
Do you audit Meta and TikTok accounts?
Yes. I audit Meta and TikTok accounts with read access only, and pause and edit nothing while I read. On Meta the read is optimization events per campaign per week, the country breakdown, the ads the algorithm keeps scaling below target, the day of week the budget lands on, and each campaign's attribution setting against the MMP. On TikTok I check whether its cost reaches the MMP, because a channel whose spend is missing has an estimated ROAS, and whether each ad group gets the learning volume TikTok recommends.
Meta's guidance is about 50 results per ad set in the week after its last significant edit. TikTok recommends at least 7 days of learning and calls 50 conversions the most significant indicator that value based optimization has passed it, so the first question is whether each ad set or ad group gets there. The channel comparison with real D28 ROAS puts four channels side by side, and the $383K audit is the country read on Meta.
How do you fix signal quality?
Signal quality is whether Meta, Google and TikTok receive the right events from a mobile app: each event once, with a value and a currency, reconcilable against real revenue. Fixing signal quality takes two steps, and only the first is inside the growth audit. The first is the read and the list: what every platform receives, what it optimizes toward, a four way comparison of platform, MMP, subscription backend and store payouts with the expected gaps written down, and the fixes in order with the engineering effort per item. The second is the build, by your team from the list or by me under a retainer.
Google's target ROAS bids on the conversion values your events carry, so a missing value changes what the bidder buys and a wrong currency changes what the read says it bought. Each MMP sets its own windows. AppsFlyer's default lookback for clicks is 7 days and its window for views runs 1 to 24 hours, and Adjust's are its own. So Meta, RevenueCat and Adjust will never agree, and Adjust's guidance is to align the windows before comparing. RevenueCat separates revenue from proceeds after commission and tax; the CPA ceiling starts from the second number, less refunds and variable costs. Which event to optimize for is the recommendation the read carries; signal engineering is the build.
Can you audit first, then implement?
Yes. The growth audit and the implementation are two separate bookings, and the audit comes first. It runs on read access only, costs a flat fee agreed on the intro call, and ends with a written read and a fix list in order. What happens next is your choice: your team implements from the list, your agency does, or I carry on under a retainer. Signal fixes come before media changes, because they start feeding the algorithms within weeks.
Google Ads' Read only access level cannot edit campaigns and TikTok's analyst permission cannot create or edit ads, so both cover the audit, and implementation is where the permission changes. What a fractional Head of UA does is the retainer that follows for some teams, and what sets its price is on its own page.
Why is my ROAS stuck?
A mobile app's ROAS is stuck in one of four places: intent, fit, funnel or cost. A growth audit finds which one. Each is a different fix, and the blended number hides which.
Sometimes paid UA is not your bottleneck. If cash flow cannot cover a payback period that waits on the app stores' payout schedule, if retention drops off in the first days, or if attribution cannot measure revenue yet, more spend scales the problem. The audit says so if that is what it finds, and the four places ROAS breaks is the frame it uses.
The read decomposes the number into four cuts, and each one has caught something on a real account. The last cut needs one caution. An ad that got little spend has not lost. Fiez and colleagues' 2024 paper on adaptive experimentation shows why low delivery under an optimizer is weak evidence, and the elimination round is the equal start I run.
| The cut | What it caught on a real account | Source |
|---|---|---|
| Country by country | A campaign on target had a country at 28% All ROAS for three months, against a 70% target, and no dashboard flagged it. Across $383K of tROAS spend, 7%, or $27.6K, was red on both D0 and All ROAS for three straight months. | source |
| Events per campaign per week | Four of eight campaigns never cleared 50 optimization events a week. They took 23% of budget and returned 54% ROAS at day 28, against 80% for the other four. Holding launch age constant, the split still holds at 75% against 54%. | source |
| Conversion, value per buyer and CPI | On a game, D0 ROAS fell from 22% to 11% while CPI barely moved. Value per buyer fell from £29 to £18 over four weeks. | source |
| Ads the algorithm keeps scaling below target | Five ads took 27% of a tROAS campaign's budget, and none reached the 30% D0 target. Over 30 days, a duplicate campaign without them had four of its top five ads at or above target. | source |
Who it is for
- Apps at any spend level that want a senior read before spending more
- Teams that are profitable and suspect they are leaving money on the table
- Growth teams deciding whether to hire, go fractional, or fix it in house
- Anyone about to raise on the strength of their UA numbers
What you get
- A written read of the paid funnel, the signal and the creative
- The order to fix things in, with the reason for the order
- The size of the gap at your current spend
- A straight answer on whether paid UA is the bottleneck right now
Questions people ask
What does a mobile app growth audit cover?
The paid funnel, the signal, the creative and the product funnel, read from the ad accounts, the MMP and your unit economics with read access only. The written read says what is broken, the order to fix it in, the size of the gap at your spend, and whether paid UA is the bottleneck.
Should I audit before scaling spend?
Yes. Scaling on broken data only scales the problem. The audit checks whether the purchase signal is right, whether each campaign clears the learning threshold, and whether the cohorts behind the decision are the same age. Sizing the gap comes first.
Do you audit Meta and TikTok accounts?
Yes, with read access only, along with Google App Campaigns and Apple Search Ads. On Meta the read is events per campaign per week, the country breakdown and the ads the algorithm scales below target. On TikTok it includes whether cost reaches the MMP, since a channel whose spend is missing has an estimated ROAS.
How does the audit fix signal quality?
It finds what is wrong and puts the fixes in order; the implementation is separate. The read covers what every platform receives, what it optimizes toward, and a four way comparison of platform, MMP, subscription backend and store payouts. The list carries the engineering effort per item, and signal engineering is the build.
Can you audit first and then implement?
Yes. You fix it yourself with the list, hand it to your team or agency, or we carry on. The audit is booked separately from the retainer that covers what a fractional Head of UA does, so the read stands on its own whichever way you go.
Why is my ROAS stuck?
Usually in one of four places: intent, fit, funnel or cost, and the blended number hides which. A country can sit at 28% All ROAS inside a campaign on target, campaigns can starve for events, or value per buyer can fall while CPI stays flat. The four places ROAS breaks is the frame the audit uses.
What does the growth audit need from me?
Read access to the ad accounts and the MMP, and your unit economics. The first minute of your onboarding I can read from the app itself.
Is the audit the same as the intro call?
No. The intro call is thirty minutes and covers fit and scope. The audit is paid work that reads the account and comes back with a written verdict.
What does the growth audit cost?
It is priced as a flat fee, agreed on the call, because it depends on the size of the account. It can be booked on its own at any spend level, separate from the retainer, and what sets the price of a fractional Head of UA is written out on its own page.
Sources
- Receiving postbacks in multiple conversion windows Apple Developer Documentation. Three conversion windows running to day 35, each followed by a delay; later postbacks depend on privacy conditions. Protocol parameters, not study statistics. Checked 23 September 2026.
- About access levels in your Google Ads account Google Ads Help. The Read only access level can view campaigns without editing them. Checked 23 September 2026.
- About bidding in App campaigns Google Ads Help. Target ROAS bids on the conversion values from in app events. Checked 23 September 2026.
- About the Learning Phase Meta Business Help Center. Ad sets usually leave the learning phase after about 50 results in the week after the last significant edit. Read in a browser on 24 September 2026.
- Lift Study Meta Marketing API. Randomized test and control groups, the design that answers whether ads caused conversions. Meta notes that access is limited, which is why a geo test is the alternative. Checked 23 September 2026.
- Tips for Value-based Optimization for app TikTok Business Help Center, updated May 2026. A minimum of 7 days for learning, with 50 conversions described as the most significant indicator of passing it. Platform guidance, not a study. URL confirmed directly, checked 23 September 2026.
- About account and asset level permissions TikTok Business Center. The analyst permission views ads, performance and reports without create or edit rights. Checked 23 September 2026.
- Set up lookback windows AppsFlyer Knowledge Base. A default lookback of 7 days for clicks, configurable 1 to 30, and a window of 1 to 24 hours for views. Checked 23 September 2026.
- Choose attribution settings for your link Adjust Help Center. Recommends aligning attribution windows across app platforms and ad networks to avoid discrepancies. Checked 23 September 2026.
- Reconciling with App Store Financial Reports RevenueCat Documentation. Revenue, revenue net of estimated taxes and proceeds after estimated commission are separate figures, and transaction date reporting differs from Apple's settlement and fiscal periods, the payout timing a payback period waits on. Product documentation, not a performance study. Checked 23 September 2026.
- Realized LTV per Customer Chart RevenueCat Documentation. Cohorts are marked incomplete until they have had the selected lifetime to mature, and comparisons use the same lifetime window. Checked 23 September 2026.
- Best of Three Worlds: Adaptive Experimentation for Digital Marketing in Practice Fiez, Nassif, Chen, Gamez and Jain, Proceedings of the ACM Web Conference 2024, peer reviewed. Adaptive allocation can leave inferior looking options with too little traffic to estimate. A production experimentation paper, not a study of mobile ad creative; authors affiliated with Amazon, Meta and the University of Washington, funding not stated; no retraction found in checks on 23 September 2026.