Case files · a GCC fintech app · MMP-verified

Three case files from one engagement

The engine build, the objective switch, and the scaling ceiling. Each one names what went wrong or what it cost, because that is what makes the wins believable. Numbers are MMP-verified and traceable; the client's name stays private out of professional discretion.

~6× paid installs YoY +70% onboards YoY ~40% cheaper real users MMP-verified numbers
CASE FILE 01 · THE ENGINE Meta · Google · TikTok · MMP rebuild

Building a paid acquisition engine: ~6× paid volume at a held cost per user

~6×
Paid installs, year on year (+490%)
+70%
Completed onboards, same window
Held
Cost per onboard on performance media, in line YoY
Situation

A GCC fintech app had strong organic traction and thin paid acquisition: roughly 8 in 10 installs arrived with no paid media behind them, from store search, word of mouth and referral. The mandate was to build a genuine paid engine, in a small market, without letting the cost of a real user run away.

There was a harder problem underneath the brief: the measurement layer could not support the mandate. iOS conversion mapping was not aligned to the funnel, ad networks were feeding the platforms noisy or irrelevant events, live campaigns showed zero ad spend inside the MMP, and influencer and offline activity was estimated from reach rather than measured.

Where most teams go wrong

They scale spend first and fix measurement "later." Budget goes into channels whose true cost per real user nobody can compute, the platforms optimise toward whatever miswired event they are being fed, and six months later the blended dashboard cannot answer the only question that matters: which channel brings users worth keeping.

The other classic: judging the new paid operation against the old organic-heavy blend. A low blended cost built on free volume is not a benchmark for a scaled paid engine. It is a different product.

What I did

Measurement first, roughly two to three months of foundational work in parallel with early spend:

  • Rebuilt the iOS SKAN conversion architecture around the funnel that matters (registration, onboarding, the bottom-of-funnel value event), restoring usable iPhone measurement under Apple's privacy rules.
  • Cleaned and re-mapped every ad network's event signal. One major platform was being fed a large volume of irrelevant technical events that actively degraded its optimisation; each partner was rebuilt to optimise toward real business outcomes.
  • Reconnected the cost pipelines so spend, CPA and ROI became computable cross-channel inside the MMP, and set explicit source-of-truth rules per channel to end unlike-for-like comparisons.
  • Built the funnel-stage audience framework and unique tracking links for every influencer and offline activation, converting reach-estimated activity into measured install-to-activation funnels.

Then the engine: a multi-channel build across Meta, Google and TikTok with objective discipline (buy the event, not the install), language-split creative (Arabic and English read separately), a weekly kill-or-keep cadence with pre-committed criteria, and channel expansion once the core was measurable.

The result
  • Paid installs scaled roughly 6× (+490%), comparing the same six-month window year on year, MMP-verified.
  • Total installs more than doubled (+116%); users starting onboarding grew +161%.
  • Completed onboards grew +70%, with install-to-onboard conversion holding around 34% at the new scale.
  • Cost per onboarded user on performance media stayed in line with the prior year's benchmark, while paid volume scaled ~6× in a finite market where marginal costs structurally rise.
  • Monthly onboard volume grew roughly 40% from the start of the half to mid-year.
Trade-offs, stated plainly: blended cost including ring-fenced brand spend sits above the performance-only figure, deliberately; and the half absorbed a regional geopolitical shock plus a two-month platform-side iOS delivery bug (diagnosed, escalated, patched by the platform) that the account rode out without a rebuild.
If your paid growth mandate is real, the measurement rebuild is not a competing priority. It is the mandate's first deliverable. Volume you cannot attribute is volume you cannot repeat.
CASE FILE 02 · THE OBJECTIVE SWITCH Objective discipline · creative routing

The objective switch: same audience, ~40% cheaper real users

~40%
Cheaper cost per real user, objective alone
Cheapest
Registration source in the account, via the bridge campaign
Worse on install buying, one channel. Killed.
Situation

The same GCC fintech needed more registered, onboarded users, not more downloads. Yet significant budget sat in install-optimised campaigns across channels, because installs are the metric everyone can see and the volume the platforms most happily deliver.

Where most teams go wrong

Two things. They optimise to installs long after they have the event volume to optimise to what actually matters. And when they do switch, they keep judging the new campaigns on cost per install, see a "worse" number, and switch back. The metric has to change with the objective or the test is rigged against itself.

What I did
  • Named the true KPI per channel: a completed registration or onboard, not an install.
  • Re-pointed campaigns at the event wherever weekly event volume could feed the algorithm (roughly 50 per week as the working threshold), keeping install-optimised campaigns only where they belong: new channels and signal-starved surfaces, as seed capital.
  • Used the bridge campaign type where it exists (starts on installs, hands optimisation to the in-app event once signal accumulates).
  • Enforced one reporting rule everywhere: judge each campaign only on the cost-per-result column that matches its objective.
  • Re-tested creative per objective rather than assuming winners travel.
The result
  • On the same audience, event-optimised campaigns delivered registrations roughly 40% cheaper than install-optimised equivalents. The objective alone moved cost per real user by roughly 40%, with the best event-optimised creative going cheaper still.
  • On one social channel, install-optimised delivery ran about 2× worse on cost per registration than the event-optimised version. The install campaign was killed outright.
  • The bridge campaign type became the account's cheapest source of registrations, comfortably below the account average.
  • On the iOS side of that channel, event-optimised delivery reached subscription costs that install buying had never approached.
  • A side finding that keeps paying: creative is objective-dependent. Influencer-led content performed at target in intent-aligned campaigns and failed repeatedly in install-optimised ones (five consecutive tests). The routing rule now saves both media and creative budget.
The platforms deliver exactly what you ask for. Asking for installs when you need customers is the single most common, most expensive default in app marketing, and reversing it is often the cheapest 40% improvement available.
CASE FILE 03 · THE CEILING Scaling discipline · marginal cost

Finding the ceiling: scaling 20% a week until the market said stop

~50
Ad frequency at the saturation point
−30%
Budget pullback to the last efficient level
2–3 wks
To full cost recovery, no rebuild
Situation

A winning conversion campaign for the same GCC fintech justified aggressive scaling, and got it: budget increased roughly 20% per week, compounding, for three consecutive weeks. The market it runs in is small, with a finite pool of high-intent users.

Where most teams go wrong

They treat a scaling rule as a perpetual lever. "It worked three times" becomes "it always works." And because campaign dashboards do not alarm on audience saturation, the first warning most teams get is a cost chart that has already doubled.

What I did
  • Recognised the signature in the data: ad frequency had climbed to around 50 while cost per onboarded user roughly doubled. Past saturation, incremental budget buys repeat impressions and self-inflated auction prices, not new users.
  • Pulled budget back roughly 30% to the last efficient level, then held it deliberately still for two to three weeks. No structural rebuild, no learning resets.
  • Refreshed creative to reset attention, and moved incremental growth to surfaces with frequency headroom instead.
  • Made the frequency check a standing pre-condition for every scale decision, and paired it with marginal-cost reads: on another channel, the bid simulator priced the next users at roughly 3× the account average. Averages describe the past; margins price the next dollar.
The result
  • Cost per onboarded user recovered to its pre-saturation level within the hold period, on the reduced budget.
  • The account now scales where frequency has headroom and grows through audience and creative expansion where it does not.
  • One discipline, two numbers on every scale decision: current frequency, and marginal (not average) cost.
In a small market, the question is never "can we spend more." It is "what does the next dollar buy." Check frequency before scaling, read marginal cost before raising targets, and treat pullback as an optimisation, not a defeat.

How to read these case files: all three come from the same live engagement. Installs and onboards are MMP-verified against identical year-on-year windows; dollar figures come from the ad platforms' own reporting. The client's name stays private out of professional discretion. On a call, I'll happily walk you through how each figure is measured.

Your app next

Want this level of discipline on your app's growth? Start free.

A short, no-pitch App Growth Review of your live user acquisition. Three fixes from one 20-minute call.

Get a free App Growth Review Free · yours to keep
Get a free App Growth Review