Different platforms show different install numbers because each platform counts installs in its own way, using its own attribution logic. Ad platforms like Meta, Google, and TikTok report every install they believe they drove, while your Mobile Measurement Partner (MMP) applies a single, unified attribution model across all sources to assign each install to one platform only. The result is that the numbers never match perfectly, and that is completely normal. Below, we break down exactly why this happens and what you can do about it.
Why do install counts differ between ad platforms and your MMP?
Install counts differ between ad platforms and your MMP because ad platforms use self-reported attribution, meaning each platform claims credit for every install where its ad was part of the user journey. Your MMP, on the other hand, uses a single-source attribution model that assigns each install to only one platform, eliminating double-counting across channels.
When a user sees an ad on Meta, then watches a TikTok ad, and then installs your app, both Meta and TikTok will count that as their install. Your MMP will attribute it to only one of them, based on rules like last-click or time-decay. This is the core reason why the total installs reported by your ad platforms will almost always exceed what your MMP reports. It is not a bug or an error. It is a structural difference in how these systems are designed.
MMPs like Adjust, AppsFlyer, and Branch exist precisely to give you one consistent source of truth across all your marketing channels. Without one, you would have no way to reconcile overlapping claims and no reliable basis for budget decisions.
What is attribution and how does it affect install numbers?
Attribution is the process of identifying which marketing touchpoint gets credit for an app install or in-app event. It directly affects install numbers because the attribution model you use determines how credit is distributed across platforms, which changes what each channel reports as its contribution to your growth.
Most MMPs default to last-click attribution, meaning the last ad a user clicked before installing the app receives full credit. Some platforms, particularly Meta, use view-through attribution, which gives credit even when a user only saw an ad without clicking. This difference alone can cause significant discrepancies between what Meta reports and what your MMP records.
Attribution windows also play a role. If Meta uses a 7-day click and 1-day view window, but your MMP is set to a 7-day click and no view window, installs that fall within that view window will appear in Meta’s dashboard but not in your MMP’s Meta channel. Understanding your attribution window settings across every platform is one of the first steps to diagnosing a data mismatch.
Which platform’s install number should you trust?
You should trust your MMP as the primary source of truth for install numbers and performance decisions. Your MMP provides a deduplicated, cross-channel view of installs that removes the overlap created when multiple platforms claim credit for the same user. Ad platform dashboards are useful for optimising within that platform, but not for comparing performance across channels.
That said, the raw install count from app stores (Apple App Store Connect and Google Play Console) gives you a useful sanity check. Store-reported installs represent actual downloads and are not influenced by attribution logic. If your MMP’s total install count is significantly lower than your store count, you may have unattributed installs, which is a separate issue worth investigating.
Use your MMP data to make budget allocation decisions. Use ad platform data to optimise creative, bidding, and audience targeting within each channel. Use store data to validate overall volume. Each source serves a different purpose, and treating them as interchangeable is where confusion starts.
What other factors cause install data to mismatch?
Beyond attribution model differences, several technical and structural factors cause install data to mismatch across platforms. The most common ones include privacy restrictions, SDK configuration issues, organic install blending, and time zone differences.
Privacy restrictions and IDFA
Since Apple introduced App Tracking Transparency (ATT) in iOS 14.5, users must opt in before their IDFA (Identifier for Advertisers) can be shared with ad platforms. When a user does not grant permission, the platform cannot match that install to its campaign, which results in modelled or probabilistic attribution rather than deterministic matching. This makes iOS install tracking inherently less accurate than Android tracking, and it is one of the main reasons iOS data often looks inconsistent across platforms.
SDK and tracking configuration issues
If your MMP SDK is not firing correctly at the right point in the user journey, installs may not be recorded at all, or they may be recorded with a delay that pushes them outside the attribution window. Misconfigured postbacks, incorrect event naming, or missing deep link parameters can all cause your MMP to undercount installs relative to what ad platforms report. Regularly auditing your SDK implementation and postback settings is important for keeping your data reliable.
Time zones, organic installs, and deduplication rules
Mismatched time zones between your MMP and ad platform accounts can shift installs across reporting days, making daily comparisons unreliable even when totals align. Organic installs that your MMP cannot attribute to any paid source will also appear in store data but not in any ad platform report. Additionally, some MMPs apply deduplication rules that remove reinstalls or installs from existing users, while ad platforms may count these as new installs.
How can you reduce the discrepancy between platforms?
You can reduce the discrepancy between platforms by aligning attribution windows, auditing your SDK setup, maximising ATT opt-in rates, and using your MMP as the single reference point for all performance reporting. Eliminating discrepancies entirely is not realistic, but you can get them to a manageable level where your data is actionable.
Start by checking that your attribution windows in your MMP match the windows set in each ad platform’s integration settings. A mismatch here is one of the most common and easily fixable causes of data gaps. Then review your SDK implementation to confirm that install events are firing at the correct moment and that all postbacks are configured properly for each channel.
For iOS specifically, work on improving your ATT opt-in prompt. The timing, context, and framing of the permission request have a measurable impact on how many users grant tracking consent. More consented users means more deterministic attribution data and less reliance on modelled estimates, which improves the accuracy of your iOS install tracking.
Finally, establish a consistent reporting cadence that uses MMP data as the baseline. When stakeholders compare numbers from different dashboards, discrepancies cause confusion and erode trust in your data. Agreeing on one source of truth internally removes that friction and makes performance conversations more productive.
If you are dealing with persistent attribution discrepancies and want a structured approach to resolving them, our app growth services cover the full measurement stack, from SDK setup and MMP configuration to campaign optimisation across all major platforms. At Wuzzon, we have been helping apps scale since 2007, and tracking accuracy is one of the first things we address with every new client. If your marketing numbers do not add up, talk to one of our specialists and we will help you figure out where the gaps are.
Frequently Asked Questions
How much of a discrepancy between my MMP and ad platform installs is considered normal?
A discrepancy of 10–30% between your MMP and ad platform totals is generally considered within a normal range and is expected given the structural differences in how each system attributes installs. If you are seeing gaps larger than 30%, that is a signal worth investigating — common culprits include misconfigured attribution windows, SDK firing issues, or a low ATT opt-in rate on iOS. Use the discrepancy percentage as a diagnostic benchmark rather than a pass/fail metric, and track it over time to spot sudden changes that might indicate a technical problem.
What is the difference between deterministic and probabilistic attribution, and why does it matter for my data?
Deterministic attribution uses a unique identifier — such as an IDFA or GAID — to match an ad click directly to an install with high confidence, while probabilistic attribution relies on statistical signals like IP address, device model, and timestamp to make an educated guess when no identifier is available. Since Apple’s ATT framework limits IDFA availability on iOS, a larger share of iOS installs now rely on probabilistic matching, which is inherently less precise and contributes to higher discrepancies on that platform. Understanding which method your MMP is using for a given install helps you gauge how much confidence to place in that attribution data.
Should I use last-click attribution or a different model, and how do I choose?
Last-click attribution is the most widely used default and works well as a starting point because it is straightforward, easy to compare across platforms, and supported by virtually every MMP and ad network. However, if your users typically engage with multiple ad touchpoints before installing — for example, seeing a Meta ad, clicking a Google ad, and then converting — last-click will systematically over-credit lower-funnel channels and under-credit upper-funnel ones. In that case, experimenting with a time-decay or data-driven model in your MMP can give you a more balanced view of each channel’s contribution, though it requires more data volume and stakeholder alignment to implement effectively.
How do I know if my MMP SDK is implemented correctly and actually firing install events at the right time?
The most reliable way to verify your SDK implementation is to use your MMP’s built-in testing tools — AppsFlyer has the SDK Integration Tester, Adjust has the Sandbox environment, and Branch offers a Live View — which let you trigger installs in a controlled setting and confirm that events are being recorded accurately and on time. You should also cross-check your MMP’s raw install logs against your app store install data over a consistent time period; a large gap between the two often points to events firing too late, being dropped, or being blocked by privacy settings. If you recently updated your app, re-testing your SDK after every major release is good practice since code changes can inadvertently break event triggers.
Can reinstalls and re-engagements inflate my ad platform install numbers?
Yes, reinstalls and re-engagements are a common and often overlooked source of inflation in ad platform reporting. Many ad platforms count a reinstall from an existing user as a new install if it falls within their attribution window, while most MMPs have deduplication rules that flag or exclude these events to avoid counting the same user twice as a new acquisition. This means campaigns targeting lapsed users or running broad retargeting can appear to perform better in the ad platform dashboard than they do in your MMP. Always check whether your MMP is configured to separate new installs from reinstalls in its reporting so you are measuring true new user acquisition accurately.
How does SKAdNetwork fit into all of this, and do I need to worry about it?
SKAdNetwork (SKAN) is Apple’s privacy-preserving attribution framework that allows ad networks to receive aggregated, delayed conversion data without accessing individual user identifiers, and it has become increasingly important since iOS 14.5. If you are running paid campaigns on iOS, you do need to understand it — SKAN data is reported separately from standard MMP attribution, operates on a different conversion value schema, and comes with reporting delays of up to 24–48 hours, all of which add another layer of complexity to your iOS install numbers. Work with your MMP to make sure your SKAN conversion values are mapped to meaningful in-app events, and treat SKAN reporting as a complementary data source alongside your standard MMP data rather than a direct replacement.
What internal process should I set up to stop stakeholders from comparing numbers across different dashboards?
The most effective approach is to establish a single, agreed-upon reporting source — your MMP — and build a shared dashboard or regular report that pulls exclusively from that source for all cross-channel performance discussions. Document clearly which platform each data source is best suited for: MMP data for budget allocation and channel comparison, ad platform data for in-platform optimisation, and store data for total volume validation. Running a short internal alignment session to explain why the numbers differ and why that is expected goes a long way toward reducing confusion; once stakeholders understand the structural reasons behind discrepancies, they are far less likely to treat every data gap as a crisis.
Related Articles
- 4 reasons companies stick with an outdated app attribution tool
- 6 questions to ask before renewing your app tracking contract
- How do I know if our app measurement setup is outdated?
- How do you advertise an app to reduce user churn?
- What are the legal requirements for app advertising in Europe?
- How do you conduct an app store optimization competitor analysis?
- The complete app store optimization checklist for iOS and Android
- What is app store metadata?
- What is app store keyword research?
- What is the difference between app store optimization and SEO?