If you have ever sat in a budget review where paid search claimed full credit for a sale that paid social also claimed, and display retargeting claimed as well, you already understand the attribution problem. It is not a technical glitch. It is a structural feature of how most measurement systems are designed. Each channel has an incentive to show you a number that justifies its budget, and the default attribution models inside most platforms are built to do exactly that. The result is a reporting environment where the sum of your attributed revenue across channels routinely exceeds your actual revenue by a wide margin.

What each model is actually measuring

Understanding why attribution disagrees with itself starts with understanding what each model is designed to do.

Last-click attribution gives all credit for a conversion to the final touchpoint before the sale. It is simple, auditable, and almost always wrong. It systematically undercounts channels that operate high in the funnel, such as display prospecting and paid social, because those channels rarely appear at the moment of conversion even when they played a meaningful role earlier in the journey. Last-click attribution makes search look like a genius and makes awareness channels look useless, which is why so many teams that rely on it end up over-investing in bottom-of-funnel and watching their pipeline dry up a few quarters later.

View-through attribution assigns credit to an ad that was served but not clicked, based on the logic that seeing the ad influenced the eventual conversion. The problem is that view-through windows are often set very wide (seven days, fourteen days, sometimes thirty), and the model cannot distinguish between someone who genuinely saw your ad and was influenced by it, and someone who had already decided to buy and happened to have your ad served to them in the meantime. This inflates the apparent performance of display and video campaigns significantly. It is not useless, but it requires very careful interpretation.

Data-driven attribution (DDA) uses machine learning to distribute credit across touchpoints based on their actual contribution to conversion, relative to paths that did not convert. It is better than last-click in theory. In practice, it requires significant data volume to work reliably, it is a black box, and it still operates within the platform's own data, which means it cannot account for touchpoints that happened outside that platform.

Marketing mix modelling (MMM) takes a completely different approach. Rather than tracking individual user journeys, it uses statistical regression to estimate the contribution of each channel to overall business outcomes, controlling for external variables like seasonality, pricing changes, and competitive activity. It does not rely on cookies or user-level tracking, which makes it increasingly attractive in a privacy-constrained world. Its limitation is that it is retrospective, requires substantial historical data to be reliable, and cannot give you the granular campaign-level feedback that day-to-day optimisation requires.

Why they give you different numbers

Each of these models is answering a slightly different question. Last-click tells you who was in the room when the deal closed. View-through tells you who showed up somewhere along the way. DDA tells you (within one platform's view of the world) which touchpoints mattered most. MMM tells you what channels are driving your overall revenue trend.

None of them is wrong exactly. They are each incomplete. The disagreement you see in your reports is not a measurement failure. It is a consequence of asking different questions and expecting to get the same answer.

The practical problem is that most organisations use these models in parallel without a clear framework for how they relate to each other. The paid social team lives in view-through. The search team lives in last-click. Finance wants an MMM read for the quarterly review. Nobody has agreed on which number is authoritative for budget decisions, so each team advocates for whichever model makes their channel look best. This is rational behaviour at the team level and catastrophic for the organisation as a whole.

Getting to one honest number

There is no single model that is universally correct, but there is a practical framework that gets you to defensible decisions.

  1. Use MMM as your top-level budget allocation tool. It is the only model that can give you a channel-level view of incremental contribution that is not contaminated by cross-channel credit duplication. Run it quarterly at minimum. Use it to set channel budget ranges. Accept that it will not tell you which campaigns to pause next Tuesday.
  2. Use incrementality testing to validate channel-level decisions. Geo holdout tests, conversion lift studies, and ghost ad experiments all measure the same thing: what would have happened without the ad spend? This is the cleanest signal you can get for whether a channel is genuinely driving incremental revenue or just capturing demand that would have converted anyway. Build a rolling calendar of incrementality tests so you are not making permanent budget decisions based on correlational data.
  3. Use platform attribution for in-platform optimisation only. Last-click or DDA inside Google Ads is useful for telling the algorithm which campaigns to prioritise. It is not useful for deciding whether Google Ads deserves more budget than Meta. Keep those two use cases strictly separate.
  4. Agree on a primary metric for cross-channel budget decisions and enforce it consistently. This might be MMM-derived revenue contribution, or it might be cost per incrementally attributed conversion from your lift tests. What it should not be is the attributed ROAS from each platform's native reporting, added together.

The data infrastructure question

All of this requires clean, unified data. You cannot run a reliable MMM if your spend data is sitting in six different platform dashboards with inconsistent date ranges and different conversion definitions. You cannot run incrementality tests if you cannot clearly define your holdout groups and control for confounding variables. The measurement framework and the data infrastructure are not separate problems. They are the same problem.

Teams that have invested in a proper cross-channel data layer, one that pulls spend, impressions, clicks, and conversions into a single warehouse with consistent definitions and a shared attribution methodology, find that the attribution argument stops being an argument. When everyone is looking at the same data, defined the same way, it becomes much harder for any team to selectively cite the model that flatters their channel. That is not a comfortable shift for everyone, but it is the only path to measurement you can actually trust.