Multi-touch attribution (MTA) is a way of splitting the credit for each conversion across the tracked touchpoints a customer had before buying, such as a Facebook ad view, a search click and an email. Marketing mix modeling (MMM) answers a different question: Using aggregate weekly data on spend and sales, it estimates how many of your total sales each channel caused, compared with the sales you would have made anyway. Attribution is a bookkeeping rule applied to the journeys you can see, while MMM is a statistical model of cause and effect, and most of the confusion in marketing measurement comes from treating one as if it were the other.
I spent years on the attribution side of this argument. My agency, Ladder, spent over $10 million a year on Facebook ads for hundreds of clients, and in performance marketing at that scale the attribution dashboard is where the day-to-day decisions get made. Having since built marketing mix models for companies like Monzo, Booking.com and Time Out, I’ve found it’s normal for a model to give a channel a very different number from the one the dashboard shows, and in my experience that is rarely because one of them is broken. They are measuring different things, and once you know what each is measuring you can use them together instead of arguing about which number is right.
I’ll show you how multi-touch attribution actually assigns credit, what broke it, and where an MMM (and experiments) fit alongside it.
How multi-touch attribution works
Every attribution model starts from the same raw material: a log of user-level journeys, where each journey is an ordered list of touchpoints (an impression, a click, an email open, a visit) tied to an identifier like a cookie, a device ID or a logged-in user. When a journey ends in a conversion, the model hands out that one conversion across the touchpoints in the journey. The models only differ in the rule they use to divide it, and that rule matters a lot more than people expect, because it can move a channel’s reported conversions by a factor of two or three without any change in what customers actually did.
It’s worth keeping in mind what is not in that log. Attribution only sees touchpoints that were tracked against the same identifier, so a TV ad, a podcast read, a billboard, a friend’s recommendation or an impression on a phone when the purchase happened on a laptop simply don’t exist as far as the model is concerned. Whatever weight those things carried gets redistributed to the touchpoints that were recorded, which is usually the last few clicks.
Rule-based attribution models
The classic attribution models are simple formulas that you could apply with a pencil:
- Last click: 100 percent of the credit goes to the final touchpoint before conversion. It’s the default in most ad platforms’ own reporting and the most biased towards bottom-of-funnel channels like branded search.
- First click: 100 percent goes to the first recorded touchpoint, which flatters prospecting and awareness channels.
- Linear: Every touchpoint in the path gets an equal share.
- Time decay: Touchpoints closer to the conversion get more credit, typically with a half-life, so a touch from a week ago counts for half as much as one from today.
- Position based (also called U-shaped): 40 percent to the first touch, 40 percent to the last, and the remaining 20 percent split across the middle.
These models are easy to explain and easy to audit, which is why they lasted so long. However, the weights are arbitrary: Nothing in the data tells you that the first touch deserves 40 percent rather than 30. Google removed first click, linear, time decay and position-based models from Google Ads in 2023 and from Google Analytics 4 in November 2023, leaving only last click and data-driven attribution (Google Ads Help, GA4 Help). You’ll still find all five in many third-party tools, and they remain a useful way to see how sensitive your channel numbers are to an assumption nobody can verify.
Data-driven attribution: Shapley values and Markov chains
Data-driven attribution tries to learn the weights from the data instead of choosing them, usually by comparing journeys that included a touchpoint with similar journeys that didn’t. The academic work goes back to Shao and Li’s 2011 KDD paper on data-driven multi-touch attribution, which used a bagged logistic regression to estimate how much each channel raised the probability of conversion. Dalessandro and colleagues followed in 2012 by framing attribution explicitly as a causal estimation problem and connecting it to the Shapley value from cooperative game theory, and that is the family of methods most vendors still draw on.
The Shapley value treats channels as players on a team and conversions as the team’s output. For every possible combination of channels, you estimate the conversion rate of journeys that had that combination, then you ask how much the conversion rate rises when you add one more channel, averaged over every order in which the channels could have joined. Universal Analytics 360’s data-driven model was described by Google as an algorithm based on the Shapley value (legacy UA help), and GA4’s current model describes itself as comparing exposed users with similar users who weren’t exposed. Markov chain attribution, popularised in marketing by Anderl and colleagues in a 2016 paper in the International Journal of Research in Marketing, models journeys as a sequence of transitions between channels and credits each channel with its “removal effect” (how much the overall conversion probability would drop if that channel were deleted from the graph).
Both are a real improvement on picking weights out of the air, but both still work only on the observed journeys and both still divide up 100 percent of the tracked conversions. A data-driven model can learn that people who saw a display ad convert more often than people who didn’t, but it can’t tell whether the ad caused that or whether the ad’s targeting found people who were going to buy anyway. That’s the gap Gordon, Zettelmeyer and colleagues measured at Facebook in 2019: Across 15 large lift studies, observational methods using rich user-level data often failed to reproduce the results of randomized experiments (I cover it in more depth in the guide to that paper).
Credit the same journeys six ways
The quickest way to feel how much the choice of model matters is to run one set of journeys through all of them. The example below has ten journey paths for an invented brand, with the number of people who took each path and how many of them converted. Switch between models and watch the same 456 conversions move between channels. Then edit the paths: Add an email touch before a direct visit, delete the search click from a journey, or raise the number of view-only paid social journeys from 1,500 to 4,000 without changing any conversions, and see what happens to the Shapley credit for paid social views.
A few things fall out of playing with it. Direct gets the most credit under last click, because so many journeys end with someone typing your URL, but “Direct” isn’t a channel you can buy more of; it’s mostly demand that something else created. First click hands paid social views more than twice what linear gives them and nearly ten times what last click does. The Shapley value is the only model that uses the non-converting journeys, which is why it reacts when you add a pile of view-only journeys that rarely convert: It concludes that paid social views are associated with lower conversion rates, and its credit drops to zero, even though nothing about the converters changed. That is a data-driven model doing exactly what it was built to do, and still giving you a correlational answer.
The incremental view is the one that changes the conversation. Every attribution model adds up to 456, because attribution’s job is to divide what happened. The incremental view asks how much would have happened without marketing, and the honest answer is that attribution can’t tell you. You have to bring that number from somewhere else (a holdout test, a geo experiment or the baseline in an MMM), and the moment you do, the total shrinks and Direct, which mostly captures demand created elsewhere, drops out.
What broke multi-touch attribution
Multi-touch attribution was always strongest in a world where one identifier followed a person across the web. That world has been shrinking for years, and the changes all push in the same direction: fewer observed touchpoints, shorter journeys, and more credit landing on whatever click happened last.
The biggest single blow was Apple’s App Tracking Transparency. From April 26, 2021, every iOS app had to ask permission before tracking users across other companies’ apps and sites, and without that permission the device’s advertising identifier is all zeros (Apple Developer News). Many users declined, which meant that a large share of mobile ad impressions and clicks could no longer be stitched to a later purchase. At the same time, Safari’s Intelligent Tracking Prevention deletes script-written storage after seven days without user interaction and cuts link-decorated cookies to 24 hours (WebKit), so a customer who clicks an ad and comes back to buy ten days later often looks like a brand-new direct visitor. Add consent banners in Europe and elsewhere, and the share of journeys you can follow end to end gets smaller every year.
Chrome is the interesting exception. Google spent years planning to phase out third-party cookies, then reversed course in 2025, and in October 2025 announced it was retiring most of the Privacy Sandbox technologies, including the Attribution Reporting API, citing low adoption (Privacy Sandbox blog). That doesn’t rescue MTA, though, because the cookie was never the whole problem. The walled gardens (Meta, Google, Amazon, TikTok) don’t share user-level impression data with outside attribution tools, so a third-party MTA sees the clicks that land on your site but not the views that happened inside the platforms. Each platform then reports its own attributed conversions using its own rules and windows, and the totals routinely add up to more conversions than you actually had.
View-through attribution is where this gets most slippery. Counting a conversion because someone was served an impression in the last few days sounds reasonable, until you remember that retargeting and broad prospecting campaigns serve impressions to huge numbers of people who were going to buy anyway. Platforms themselves have been narrowing these windows; Meta, for instance, stopped returning 7-day and 28-day view windows through its Ads Insights API from January 12, 2026 (PPC Land). In my experience the practical upshot is that whatever attribution model you choose, it now systematically under-credits channels that work through views and offline exposure, and over-credits the clicks closest to the purchase.
What marketing mix modeling does differently
Marketing mix modeling skips the journey entirely. Instead of following people, it looks at totals over time: weekly (sometimes daily) spend or impressions for each channel, alongside weekly sales, plus the other things that move sales, like price, promotions, seasonality and distribution. A regression model then estimates how much sales rise when each channel’s spend rises, after accounting for everything else, and the part of sales that the model can’t attribute to any marketing input becomes the baseline (the sales you would have had with no marketing at all).
Because it never needs a user identifier, an MMM isn’t affected by ATT, cookie loss or consent rates, and it can include TV, radio, out-of-home, podcasts and sponsorships on equal terms with digital channels. It also models the two things attribution can’t see at all. Adstock captures the carryover of advertising into later weeks, so a TV burst that keeps selling for a month gets credit for that month, and saturation curves capture diminishing returns, so the model can tell you that your next $10,000 on paid social is worth less than your last.
The trade-offs are real, and I don’t want to oversell this. An MMM needs a couple of years of reasonably clean weekly data (how much is enough is its own question), it can’t tell you which ad set or creative worked, and it is only as causal as its assumptions: If your search spend rises whenever demand rises, the model can mistake demand for search’s effect, which is why confounding variables and calibration with experiments get so much attention. It’s also slow. A model refreshed monthly or quarterly will not help you decide which campaign to pause this afternoon.
MMM vs MTA compared side by side
Here is how the two methods compare on the questions that usually come up when a team is deciding what to rely on:
| Multi-touch attribution | Marketing mix modeling | |
|---|---|---|
| Question it answers | Which tracked touchpoints preceded each conversion, and how should credit be split? | How much of total sales did each channel cause, compared with a baseline? |
| Data | User-level journeys (cookies, device IDs, logins) | Aggregate time series: spend, impressions, sales, price, promotions, seasonality |
| Granularity | Campaign, ad set, keyword, creative | Channel or sub-channel, sometimes region |
| Speed | Daily or real time | Typically refreshed monthly or quarterly |
| Offline channels (TV, radio, OOH, podcasts) | Not visible | Included |
| Affected by ATT, cookies, consent | Heavily | Not at all |
| Walled-garden views | Mostly invisible to third-party tools | Included through spend or impressions |
| Baseline (“would have happened anyway”) | None: divides 100 percent of tracked conversions | Estimated explicitly |
| Carryover and diminishing returns | No | Yes, through adstock and saturation |
| Causal? | No, even data-driven models are correlational | Model-based causal estimate; strongest when calibrated with experiments |
| Typical failure | Over-crediting the last click and retargeting | Confusing demand-driven spend for media effect; too little variation in spend |
Where each method is right
Attribution is the right tool when the decision is small, fast and inside one channel. Comparing two creatives in the same campaign, choosing between keywords, or pausing an ad set that has spent its budget without a single conversion are all decisions where the bias in the attribution model is roughly the same for every option, so the ranking is usable even if the absolute numbers are inflated. This is also how the platforms’ bidding algorithms work, and fighting them on that ground rarely pays off.
MMM is the right tool when the decision is about allocating budget across channels, including channels that attribution can’t see, and when you care about the shape of the response (where is the next dollar best spent?) rather than the average. It’s also the right tool for questions like “what would happen to sales if we cut TV by 30 percent?”, which are about budget allocation and scenario planning rather than credit.
Experiments sit above both. A randomized holdout, a conversion lift study or a geo test is the closest thing marketing has to ground truth, because it compares a group that saw the marketing with a comparable group that didn’t. Experiments are expensive and narrow (one channel, one period, one market), so you can’t run them for everything, but they are what you use to check whether the attribution numbers and the model estimates are anywhere near reality.
How to use MMM, attribution and experiments together
The setup that works best in my experience is to give each method its own job and connect them with a simple translation layer, rather than trying to crown one of them. The MMM sets the cross-channel budget each quarter. Experiments check the model’s biggest and most uncertain channel estimates and feed back into it as calibration. Attribution runs day to day inside each channel, but its numbers get scaled by how much the MMM or experiments say each channel really drives.
That scaling step is what the old Vexpower simulator “Compare our attribution to MMM” was built around, and it’s still the most practical idea I know for living with both. For each channel, divide the incremental conversions from the MMM (or an experiment) by the conversions attribution reported over the same period, and you get a channel multiplier. If paid social’s attributed conversions were 1,000 last quarter and the model says it drove 1,400, the multiplier is 1.4, and when the dashboard reports a campaign at a $50 cost per acquisition, you read it as roughly $36 of incremental cost per acquisition. Branded search often goes the other way, with a multiplier well below one, because many of those clicks would have converted anyway. Multipliers drift as the mix and the tracking change, so recompute them every time the model is refreshed.
Disagreements between the methods are where the learning is, so don’t average them away. If the MMM gives a channel far less than attribution does, ask whether attribution is crediting conversions that would have happened anyway (retargeting and branded search are the usual suspects) or whether the model lacks the variation in spend to see the effect. If the MMM gives a channel far more, ask whether that channel works through views or offline exposure that attribution can’t see. Either way, the next step is usually an incrementality test designed to settle that specific disagreement, which is the core idea behind a marketing measurement framework.
If you want to practise this end to end, the Vexpower marketing mix modeling course works through an invented brand, Northstar, whose team has a platform dashboard, web analytics and an MMM proposal that all disagree, and asks you to decide what each piece of evidence is good for before you decide what to do with the budget. Attribution isn’t going away, and it shouldn’t, but it was never designed to tell you what your marketing caused, and the sooner a team stops asking it to, the sooner the arguments about whose number is right turn into better tests.
