“Should we use AppsFlyer or just track it in a sheet?” It’s a fair question from a team with two channels and a small budget. It’s also the wrong question — the two tools answer different things, and teams that pick one end up with a hole where the other should be.
The mobile UA tracking guide splits the stack into tracking, attribution, budget planning, and a decision log. An MMP covers the first two. A tracker covers the last two. Here’s where the line sits.
What an MMP Does That a Spreadsheet Never Will
An MMP — AppsFlyer, Adjust, Kochava, Singular — lives inside your app as an SDK. That position lets it do things no sheet can:
- Attribute each install to a click or view across every network, and deduplicate when two networks claim the same user.
- Handle iOS privacy frameworks (SKAdNetwork, AdAttributionKit) and decode their aggregated postbacks.
- Send conversion events back to ad networks so their bidding algorithms can optimize.
- Flag fraud patterns like click flooding and install hijacking.
If you’re spending on more than one network, you need this layer. When it breaks, you get the problem covered in AppsFlyer showing zero attribution while events fire — and no spreadsheet will catch it for you.
Four Questions Your MMP Can’t Answer
The MMP records what happened. It has no field for intent, plan, or reasoning. So it can’t tell you:
1. Are we on budget?
Planned spend by channel for the month, against actual, against a forecast to month-end. The MMP may hold cost data; it doesn’t hold your plan.
2. Why did we change it?
The bid cap cut last Tuesday, the creative paused on Thursday, and the reason for each.
3. Did the change do what we expected?
The MMP shows CPI went down. It doesn’t know you expected it to — or by how much.
4. Is this good?
Your D7 retention is a number. Whether it’s healthy for your category needs a benchmark the MMP doesn’t carry.
These are the questions that come up in every Monday review — and the ones most teams answer from memory.
Who Does What
| Job | MMP | Tracker |
|---|---|---|
| Install and event attribution | Yes | — |
| Cross-network deduplication | Yes | — |
| SKAN / AdAttributionKit decoding | Yes | — |
| Postbacks to ad networks | Yes | — |
| Monthly budget plan by channel | — | Yes |
| Plan vs. actual vs. forecast | Cost data only | Yes |
| Channel benchmarks and scoring | — | Yes |
| Log of changes, expectations, results | — | Yes |
The MMP is the source of truth for what happened. The tracker is the source of truth for what we planned and decided. Neither should try to be the other.
The 30-Minute Monday Routine
Here’s how the two connect in practice, once a week:
Pull
Last week’s spend, installs and key events by channel from the MMP.
Reconcile
Spend vs. network dashboards. A gap above ~5% usually means missing cost data.
Update
Actuals vs. plan in the tracker, and pacing to month-end.
Log
Last week’s changes — and results for changes made 2–4 weeks ago.
That last step is the decision log, covered in depth in what a UA decision log is and why a BI dashboard isn’t enough. It’s the part that turns a weekly report into something you learn from.
Build It or Start From a Template?
The tracker side is the part you choose how to build. Three options, depending on time and scale:
Build your own sheet
Fully flexible. Plenty of teams do it — and plenty abandon it within a quarter for the reasons in these three Google Sheets mistakes.
Start from a template
The structure is already there: plan, actuals, benchmarks and a decision log. Sits next to your MMP, no SDK or integration.
A full BI stack
Worth it for multi-team reporting. Still a reporting layer, not a decision log — and it needs someone to maintain it.
If you’d rather start with the structure in place, the Mobile UA Budget Tracker is the one I use every Monday: a monthly budget plan, performance tracker, dashboard, experiment log and budget reallocation log in one Google Sheet.
FAQ
Can a spreadsheet tracker replace AppsFlyer or Adjust?
No. An MMP does SDK-level attribution, deduplication and privacy-framework decoding that a sheet can’t. The tracker’s job is the layer above: plan, benchmarks and decisions.
Do I need an MMP if I only run one channel?
Early on, one network’s own reporting can be enough. Once a second paid network goes live, you need deduplication — that’s the point an MMP starts paying for itself.
How often should the tracker be updated?
Weekly, on a fixed day, by one owner. Log each change when you make it; fill in results at the next review after its review date.
Where to Go Next
1. Get the UA Channel Scorecard below and add a benchmark column to your tracker — the “is this good?” your MMP can’t answer.
2. If attribution is the weak side, start with the AppsFlyer zero-attribution diagnostic.
3. For how all four layers fit together, read the complete mobile UA tracking guide.
Your MMP has the numbers. Get the benchmarks.
CPI, retention and ROAS by channel — the “is this good?” your MMP can’t answer. Free, straight to your inbox.
No spam. Unsubscribe anytime.