Close this search box.

Andre Kempe,


Admiral Media,

Apr 20, 2023

Your MMP doesn’t tell (the whole) truth – 5 reasons to know why

Certainly, if your department or someone close to you manages the UA / Acquisition campaigns in your company, you are more than used to relying on a lot of data to make daily decisions. Sometimes for tens of campaigns at the same time. You look at your Mobile Measurement Partner (a.k.a: MMP for friends) every day – if not multiple times a day – to understand how well everything is going. Campaign after campaign, Ad Group after Ad Group, Ad after Ad, and in some cases Keyword after Keyword. Mostly in order to understand what optimizations you need to make. It is then that you realize that in a specific Ad Group, there seem to be more installs in the Ad Network (Meta, TikTok, Twitter, Google Ads…) than in your own MMP. And it doesn’t matter if your MMP is AppsFlyer, Adjust, Branch, Singular, or Kochava. Or even if you have built it yourself in-house. You will see that the numbers don’t add up. That moment will be something like this:

MMP doesn't tell the truth

And on top of that, to make matters worse, your CPIs – and all the cost per in-app event later on – don’t match. And then you think, who do I listen to? Mom or dad? Phew, what a drama. I can see your resigned face from here, dear soulmate. While this may seem to have no solution, today we will give you five reasons why this happens and, hopefully, make your life a little better. But first things first, you need a brief introduction to how mobile attribution works. If you already know this part of the story, you can skip straight to the end.

TLDR: Attribution? Pardon?

To understand what attribution is, we can make a simple comparison to a soccer team (or basketball, volleyball, rugby…). Imagine that the ball goes into the goal and two players had touched it before that happened. Which of the two scored the goal? We would have to watch the replay to find out, right? MMP doesn't tell the truth Well, this process of knowing who scored the goal could be the very definition of attribution. Now replace the goal with a conversion in an app (install, registration, subscription) and a player with an Ad Network (Meta, TikTok, Google, or even organic) and you will have the result of what Attribution is in for every app. Nothing more and nothing less than the process of recognizing an action that occurred in/around an app and attributing it to a specific source. Every time a person clicks or views your ad, the attribution process begins. With mobile attribution, you will be able to measure the effectiveness of your campaigns beyond clicks and installs and understand in which ad networks to put your money. We won’t bore you with more theory, as if you want to learn more about mobile attribution, we have an entire article explaining how it works. But with many examples and in a simple way, we promise.

Five reasons why your MMP might not be telling you “the whole truth”

Different attribution windows 

The window, within the world of attribution, is the reasonable time we decide to allow between a user interacting with any acquisition component (an ad, a button, etc) and carrying out an action for us to assign that action to the interaction in question. These windows exist because, with 99% certainty, you wouldn’t want to think that if a user registers in your app today it’s because they clicked on an Instagram ad a year ago, right?. Way too long to give it the credit. To prevent this from happening, we need to set certain limits on the time that passes between the user doing something and that something turning into a valuable action for your app (install, registration, subscription…). And, how can this generate data discrepancies? Well, it’s quite possible that your Ad Network has a different attribution window than the one you have in your MMP. Imagine that you are running ads on Twitter, which has a 14-day window to attribute an installation since the user clicked on an app install ad… On the other hand, in your MMP, you have set a maximum of 7 days. If the user installs the app on the 8th day after clicking on an ad on Twitter, Twitter itself will understand that the install belongs to them (because they have a 14-day window), while your MMP will say that it does not come from Twitter and – almost certainly – will tell you that it is an organic download. Here you can see several examples depending on when the user installs the app. You’ll see that it’s called “First Launch,” but for now, just understand that it represents a download. We’ll explain that in more detail later: Source: AppsFlyer  But how does this affect the data discrepancies? Simply because the attribution windows that you have on your MMP and ad network can be different. MMPs allow you to choose the attribution windows for the ad networks when you’re integrating them. So how can you assure yourself that you don’t have discrepancies coming from the differences in the attributions that you define? Just make sure that you use the same attribution windows between your MMP and the ad network. Can this be fixed? Yes and no. But you can make the impact less painful with some technical knowledge about attribution and MMPs. If you’re interested in learning more, we invite you to a coffee via Zoom.

The weight you assign to each interaction with your ads

Continuing with the previous soccer/sports comparison – who is more important when counting a team’s victory, the one who scored the goals or the goalkeeper who saved two penalties against? It’s difficult to say, right? Well, here we have to play with some kind of rule that helps us decide how to distribute those credits. Without going into the technical part of attribution models, we can say that the most widespread model is the last-touch model. In this case, if a person sees 3 different ads from let’s say Google Ads then TikTok then Meta Ads, and clicks on Meta’s ad the install will be attributed to the last one, which is Meta. And what about Google and TikTok? They do count, but in a different way. But since we don’t want to make it too complex, if you’re interested in the topic, you can read more in this article about Assisted Installs. And where do discrepancies arise here? Basically, they occur if your traffic source and your MMP have a different attribution model (in addition to adding the attribution windows we’ve already seen). Because if the coach gave more importance to the goalkeeper for the victory and the club president to the striker who scored the goals, we would have a problem, wouldn’t we? Is this fixable? Well, to some extent, yes.

The concept of “install” doesn’t always mean the same thing

This is one of the less technical topics but often overlooked. The fact is, simply put, your MMP and Ad Networks (oh, and the Stores themselves) consider Installs to be different things. Like the US and UK pronunciation of tomato (/təˈmɑː.təʊ/ versus /təˈmeɪ.t̬oʊ/), but in reverse. When you understand that your MMP measures downloads through an SDK that you/your developers add to your app’s code, you might ask the question: “How do they know if a user installs the app and doesn’t just open it?” Well, there’s your answer:

  • App install for Stores/Ad Network: when the user downloads the app.
  • App Install for an MMP: when the user opens the app for the first time.

Booooom!. Did your mind just explode? Now you understand why MMPs always talk about “First Launch,” among other things, right?

MMP doesn't tell the truth .


Join +3.000 app marketers and beat your competitors