To audit your app’s tracking and attribution setup, start by verifying that your Mobile Measurement Partner (MMP), such as Adjust, AppsFlyer, or Branch, is correctly integrated, that all relevant in-app events are firing as expected, and that your attributed install numbers match what your ad platforms are reporting. A solid attribution audit covers your tooling, your event taxonomy, your data consistency, and how iOS privacy settings may be distorting your numbers. The sections below walk through each of those areas in practical detail.
What tools are used to track app attribution?
App attribution is tracked using Mobile Measurement Partners (MMPs), which are third-party platforms that sit between your app and your ad networks to record where each install came from. The three most widely used attribution tracking tools are Adjust, AppsFlyer, and Branch. Each integrates with your app via an SDK and communicates with ad platforms to match installs to campaigns, channels, and creatives.
Beyond the MMP itself, you will typically use a combination of supporting tools. Ad platform dashboards (Apple Search Ads, Google Ads, Meta, TikTok) provide their own install and conversion data, which you compare against your MMP to spot discrepancies. Analytics platforms such as Firebase or Amplitude help you track post-install behaviour. Together, these tools form your attribution stack, and each layer needs to be set up correctly for your mobile attribution data to be reliable.
When choosing an MMP, consider how well it supports both iOS and Android, how it handles privacy frameworks like Apple’s SKAdNetwork, and whether it integrates cleanly with the ad networks you actually use.
What in-app events should every app be tracking?
Every app should track a core set of in-app events that reflect meaningful user actions: registration or sign-up, onboarding completion, first key action (such as a first purchase, first booking, or first search), subscription or payment events, and session starts. These events give you the data you need to understand where users drop off and which acquisition channels deliver the highest-quality users.
Beyond this baseline, the right event taxonomy depends on your app category. An e-commerce app should track add-to-cart, checkout initiation, and purchase. A fintech app should track account verification, first transaction, and product activation. A mobility or parking app should track first booking and completed trip.
The goal is to map your events to the conversion milestones that matter commercially, not just to log everything that happens inside the app. Tracking too few events leaves you blind to funnel drop-off. Tracking too many without a clear naming convention creates noise that makes attribution data harder to interpret. A clean, intentional event structure makes your ROAS calculations more accurate and your optimisation decisions more confident.
How do you check if your attribution setup is working correctly?
To check whether your attribution setup is working correctly, compare install and event counts between your MMP and your ad platforms. If your app install numbers look wrong or you notice an attribution data mismatch between, say, Meta reporting 500 installs and Adjust reporting 320, that gap signals a configuration problem worth investigating.
Here is a practical checklist for verifying your setup:
- Confirm the MMP SDK is initialised before any ad network SDKs in your app code
- Test each tracked event using your MMP’s live event log or debug mode to confirm events fire correctly on both iOS and Android
- Check that postback URLs are correctly configured for each ad network inside your MMP dashboard
- Verify that your conversion window settings in the MMP align with the attribution windows set in each ad platform
- Review your unattributed installs: a high volume of unattributed installs can mean organic traffic is being miscategorised, or that certain channels are not passing attribution data correctly
- Cross-check your ROAS calculations using MMP revenue data against what ad platforms report to identify where ROAS does not match reality
Running this comparison monthly, not just at setup, helps you catch drift over time as SDK versions update or ad platform policies change.
What are the most common attribution tracking mistakes?
The most common attribution tracking mistakes are incorrect SDK initialisation order, missing or misconfigured postbacks, inconsistent event naming across platforms, and failing to account for attribution window differences between your MMP and your ad networks.
Other frequent issues include:
- Tracking installs but not quality events: Optimising campaigns toward installs without tracking downstream events means your ad platform is optimising for volume, not value
- Duplicate event firing: Events triggered multiple times per action inflate your conversion counts and distort your funnel data
- Ignoring re-engagement attribution: Many setups only track new installs and miss re-engagement campaigns entirely, leading to incomplete attribution data
- Not testing after updates: App updates, SDK updates, or changes to your ad network integrations can silently break attribution without any obvious error message
- Relying solely on ad platform data: Each platform applies its own attribution model and claims credit for installs, which leads to double-counting when you add up totals across channels
If your app installs dropped suddenly or your numbers simply do not add up, one of these configuration issues is usually the cause rather than a real drop in performance.
How does iOS privacy affect app attribution tracking?
iOS privacy changes, particularly Apple’s App Tracking Transparency (ATT) framework and SKAdNetwork, significantly limit the granularity of mobile attribution on iOS. When a user declines the ATT prompt, your MMP cannot use the device’s IDFA to match that install to a specific campaign. Instead, iOS routes attribution through SKAdNetwork, Apple’s privacy-preserving framework, which provides delayed, aggregated conversion data rather than user-level signals.
This means iOS install tracking is inherently less precise than Android tracking. You will typically see a higher proportion of unattributed installs on iOS, shorter effective attribution windows, and conversion values that are reported with a delay of up to 24 to 48 hours. The practical result is that your reported ROAS on iOS may look lower or less consistent than on Android, even when campaigns are performing well.
To work effectively within these constraints, make sure your MMP is fully configured for SKAdNetwork, that you have set up conversion value mapping to reflect your most important in-app events, and that you are using probabilistic attribution methods where your MMP supports them. Modelled conversions from Google and Meta can also help fill gaps in your iOS attribution data.
When should you bring in an expert to audit your tracking?
You should bring in an expert to audit your tracking when you notice persistent attribution data mismatches, when your ROAS does not match reality across channels, when app installs drop suddenly without a clear cause, or when you are about to significantly increase your ad spend and need confidence that your data is reliable before scaling.
Other clear signals that an audit is warranted:
- You are seeing a high volume of unattributed installs and cannot explain why
- Your ad platforms are reporting significantly more installs than your MMP
- You have recently launched on a new ad network and are not sure postbacks are configured correctly
- You have changed your MMP or migrated platforms and have not validated the new setup end to end
- Your in-app event data looks inconsistent between iOS and Android without a plausible reason
Attribution audits are also worth doing proactively, not just reactively. Running a structured audit once or twice a year helps you catch configuration issues before they distort your decision-making or waste budget on campaigns that appear to be performing but are not being measured accurately.
If any of the above situations apply to your app, working with specialists who have direct experience with Adjust, AppsFlyer, Branch, and the major ad platforms will save you significant time and prevent costly misinterpretations of your data. At Wuzzon, our app growth stack services include hands-on attribution setup and auditing as part of our broader mobile growth offering. If you want a specialist to review your current setup, you can request a free consultation and we will take a look at what is actually happening in your data.
Frequently Asked Questions
How long does a proper attribution audit typically take?
A basic attribution audit — covering SDK initialisation, event firing, and postback configuration — can typically be completed in one to three days if you have access to your MMP dashboard and ad platform accounts. A more thorough audit that includes cross-channel data reconciliation, iOS SKAdNetwork configuration, and ROAS validation across multiple networks may take one to two weeks. The timeline largely depends on how many ad networks you are running and how complex your event taxonomy is.
Can I run attribution tracking without an MMP, using only ad platform data?
Technically yes, but it is strongly inadvisable. Each ad platform applies its own attribution model and claims credit for every install it can, which means adding up totals across Meta, Google, TikTok, and Apple Search Ads will almost always result in significant double-counting. An MMP acts as a neutral third party that applies a single, consistent attribution model across all your channels, giving you a deduplicated, reliable view of where your installs are actually coming from. Without one, your budget allocation decisions are based on data that is almost certainly inflated.
What is the difference between last-click attribution and probabilistic attribution, and which should I use?
Last-click attribution assigns 100% of the credit for an install to the final ad a user clicked before downloading the app. It is straightforward to implement but tends to over-reward bottom-of-funnel channels like retargeting and under-value upper-funnel awareness campaigns. Probabilistic attribution, by contrast, uses statistical modelling to estimate the source of an install when a direct device match is not possible — which is increasingly common on iOS after ATT. For most apps, using last-click as your primary model while leveraging probabilistic methods to recover iOS attribution gaps is the most practical approach.
How do I set up SKAdNetwork conversion values if I am not sure which events matter most?
Start by mapping your conversion value schema to the two or three in-app events that most strongly predict long-term user value — typically registration, first purchase or first key action, and a revenue or subscription event. SKAdNetwork gives you 64 possible conversion values (0–63), so you need to be intentional about which event combinations each value represents. Most MMPs like Adjust and AppsFlyer provide a conversion value configuration interface that makes this mapping process more manageable. If you are unsure where to start, prioritise the events you already use for campaign optimisation and work outward from there.
My MMP and ad platform numbers never match exactly — is that normal?
Yes, some level of discrepancy between your MMP and ad platform reporting is completely normal and expected. Differences in attribution windows, the time it takes for postbacks to be processed, and platform-specific measurement methodologies all contribute to small gaps. A discrepancy of around 10–20% is generally considered within an acceptable range. However, if you are seeing gaps larger than 20–30%, or if the discrepancy is growing over time, that is a signal worth investigating — it usually points to a misconfigured postback, an attribution window mismatch, or an SDK initialisation issue.
How do I know if my re-engagement campaigns are being attributed correctly?
Re-engagement attribution requires specific configuration in your MMP that is separate from your install attribution setup. Check that your MMP has re-engagement tracking enabled and that your re-engagement postbacks are configured for each relevant ad network. You should then be able to see re-attributed sessions and events reported distinctly from new installs in your MMP dashboard. A common sign that re-engagement attribution is broken is seeing a spike in what appears to be new installs from retargeting campaigns — these are often lapsed users returning, not new users, and without proper re-engagement tracking they get miscategorised.
What should I do immediately after switching to a new MMP?
After migrating to a new MMP, your first priority should be end-to-end validation before you pause the old platform. Run both MMPs in parallel for at least one to two weeks so you can compare install counts, event data, and postback delivery side by side. Use the new MMP’s debug mode or live event log to confirm every tracked event is firing correctly on both iOS and Android. Reconfigure all postback URLs in your ad platform accounts to point to the new MMP, and verify that your SKAdNetwork conversion value mapping has been recreated accurately. Skipping this validation period is one of the most common causes of data gaps following an MMP migration.
Related Articles
- Why did my app installs drop suddenly?
- 5 reasons there's a gap between app clicks and installs
- How do I know which ad channel is actually driving app installs?
- How do I know if we're paying for app tracking features we don't use?
- Why did my numbers change without any changes made?
- Should you advertise your app before or after launch?
- How do you advertise an app across iOS and Android?
- How do you choose the right app store category?
- What is the difference between an app subtitle and short description?
- 5 app store description templates for brand apps