SurfioBook a call
Surfio / Revenue Leak Audit

Revenue Leak Audit: 18 places app ad money is lost

Money leaks between the ad and the bank: in tracking the ad platform can't see, in paywalls, in failed payments and in refunds. The audit checks all 18 against your own accounts.

What you get

  • A written report within 7 business days of receiving read access to your ad, analytics and store accounts.
  • Each leak we find, with what it costs you and the order to fix it.
  • US$490 one-off, paid upfront. It comes off your first month if you sign up for a plan.
  • If we can't find three leaks worth fixing, we refund the US$490.

The audit is a diagnosis. We do not guarantee sales, CPA or ROAS, and any cost estimates come from your own data.

Measure

Can the ad platform see what pays?

#LeakWhat happensHow to fix it
01The ad platform is blindWithout server-side events, browser pixels and SDKs miss many conversions, especially on iOS.Send conversion events from your server through the platform's conversions API.
02Sales get counted twiceThe same purchase fires from the app, the server and an analytics tool, so reported return looks better than it is.Give each purchase one event ID and pick one system as the source of truth.
03Optimizing for installs, not payersThe platform finds people who install and never pay.Optimize for trial and purchase events, and map SKAN conversion values to revenue.
04You can't say which ad paidUTMs stop at the landing page and purchases never link back to a click.Carry UTMs to checkout, identify users at sign-up and reconcile with App Store and Stripe revenue.
09Every platform claims the same saleMeta, Google and TikTok each count the conversion, so their totals exceed real sales.Judge spend on bank and store revenue, and run holdout tests by region.
17No Consent Mode v2 in the UK and EUWithout consent signals, Google cannot model lost conversions for those users.Add Consent Mode v2 with a consent banner.

Convert

Do clicks become paying users?

#LeakWhat happensHow to fix it
05The funnel leaks and nobody measures itVisitors drop between landing page, sign-up and paywall without anyone knowing where.Measure each step, fix the biggest drop first and measure again.
10Deep links break after installNew users open the app on the home screen instead of the offer they clicked.Use deferred deep links.
11The ad and the store page disagreeThe ad promises one thing and the App Store page shows another.Match each ad set to its own Custom Product Page.
12The paywall is weakOne price, no trial and no tests.A/B test paywall layout, price packages and trial length.

Revenue

Do you keep the money once it's paid?

#LeakWhat happensHow to fix it
06The App Store takes 15% to 30%Every in-app purchase pays the store commission.Move checkout to the web where the rules in your market allow it.
13Failed card payments look like churnExpired cards end subscriptions that people meant to keep.Turn on Billing Grace Period in App Store Connect and Smart Retries in Stripe.
14Refunds are approved too easilyApple decides refund requests without your usage data.Answer Apple's consumption requests through App Store Server Notifications.
15Cancellations get no save offerPeople who cancel leave without an offer to stay.Use win-back offers on iOS and a cancel flow with a save offer on the web.
16One USD price for every countryThe price is too high in some markets and too low in others.Price each country by local purchasing power.

Spend

Is the budget going where it works?

#LeakWhat happensHow to fix it
07Bids and campaign structure are wrongBids below the auction floor never serve, and broad matching spends on the wrong searches.Split brand, generic, competitor and discovery campaigns, and bid above the floor.
08The same ad runs until it diesPerformance falls as the audience sees the same video again and again.Ship new ads every month, each with several hooks.
18Budget goes to junk placementsLow-quality placements bring accidental clicks, and daily edits keep resetting learning.Exclude weak placements and change budgets and bids on a set schedule.

Why we check these

We run our own iOS apps and built this tracking on them first. Five of our apps are live on the App Store under our founder's developer account. On those apps we have:

  • Sent Meta, TikTok and Reddit conversion events from our own server, with event IDs to stop double counting.
  • Configured 62 SKAdNetwork IDs with fine and coarse conversion values.
  • Connected 17 Firebase events to Google Ads app campaigns, from first open to subscription renewal.
  • Audited 70+ analytics events and found one purchase counted in four analytics tools at once.
  • Connected Stripe web checkout to RevenueCat and tested Superwall paywalls.

These are our own setups, not client results. Several checks on this list, such as deep links, Custom Product Pages and Consent Mode, are ones we review against platform documentation rather than ones we have run on our own apps.

Book the audit

Send your App Store or website link and tell us which ad platforms you use. We reply with the access we need and a start date.

Email Acesley about the audit