Measuring marketing ROI with multi-touch attribution
Not by itself. It splits credit for orders; return also needs margin, returns and the share of those orders the ads caused. A holdout gives that share, and one line of arithmetic turns it into profit.
By Joris van Huët, Founder & CEOPublished 4 min read
Run the numbers for your store: the free customer journey credit calculator, or the free contribution margin calculator.
Multi-touch attribution tells you how credit for orders is split across touchpoints. It does not tell you return, because three things sit between attributed revenue and profit: margin, returns, and whether the orders would have happened anyway. The third is the only one you cannot read off your own orders. In 663 Facebook experiments, the median lift on lower-funnel outcomes such as purchases was 5%, where one statistical method estimated 24% (Gordon, Moakler and Zettelmeyer, arXiv preprint, 2022), so a credited order is not the same as a caused order.
Which three gaps sit between attributed revenue and return?
Multi-touch attribution reports attributed revenue: order value, split among the touchpoints on converted paths by a rule or a model. Credit is not profit, and three gaps separate the two.
Margin. Revenue pays for product, shipping and fees before any of it is profit. Return needs contribution margin, not order value.
Returns. Shopify's Admin API separates an order's total "at the time of order creation" from its total "after returns", and computes net payment as "the total amount received minus the total amount refunded". GA4's documentation treats a refund as its own event, sent with the order's transaction ID. A tool that credits revenue at purchase and never updates it reports revenue before returns.
Caused or not. Attribution credits orders; it does not say which would have happened without the ads. In the 2022 preprint, the experiments' median lifts were 29%, 18% and 5% for upper, middle and lower funnel outcomes, against 83%, 58% and 24% from double/debiased machine learning, and the authors call the remaining bias "substantial". In field experiments at eBay (Blake, Nosko and Tadelis, Econometrica, 2015), "returns from paid search are a fraction of" the non-experimental estimates. Neither tested a named attribution product, so this is the size of the question, not a score for any tool.
What does the arithmetic look like?
Put the three gaps in one line:
profit = attributed revenue × (1 − return rate) × contribution margin × caused share − ad spend
For illustration: a channel shows €10,000 of attributed revenue on €2,500 of spend, a ROAS of 4.0, and with 10% returns and a 40% contribution margin before ad spend it keeps €3,600 of contribution (10,000 × 0.9 × 0.4). In the same worked example, profit is 3,600 − 2,500 = €1,100 if every credited order was caused, and 1,800 − 2,500 = −€700 if half were.
In the same worked example, break-even ROAS is 1 ÷ (0.9 × 0.4) = 2.8 if every credited order was caused, and 1 ÷ (0.9 × 0.4 × 0.5) = 5.6 if half were. On these illustrative numbers, a platform ROAS of 4.0 clears the first bar and misses the second.
How do you find the caused share for your own channel?
Measure it with a holdout, then do the sum:
- Run a holdout on one channel, as in the paired-region check.
- Count incremental orders. Google defines it for its own lift tests as "Incremental conversions = Treatment conversions - Control conversions": orders with the channel running minus orders without it.
- Divide by the credit. Take incremental orders over the orders your tool credited to that channel, for the same regions and weeks. That ratio is the caused share.
- Finish the line above with your own return rate and margin. Google's lift documentation does the spend step too: "Incremental cost per action = Total ad spend / Incremental conversions".
Pass: the caused share holds in a second test in a different period, and the return you compute still clears break-even. Fail: the share swings between tests, or the test could not see an effect. Then the channel's return is unknown, not zero: move budget in small steps and keep total revenue over total ad spend in view as the cross-check.
Sources, 30 September 2026: Close Enough? A Large-Scale Exploration of Non-Experimental Approaches to Advertising Measurement (Gordon, Moakler and Zettelmeyer, arXiv preprint, 2022; full text); Consumer Heterogeneity and Paid Search Effectiveness (Blake, Nosko and Tadelis, Econometrica, 2015; abstract via IDEAS/RePEc); Order object (Shopify GraphQL Admin API documentation, version 2026-07); Measure ecommerce (Google Analytics developer documentation, 2026); Understand your Conversion Lift based on users measurement data (Google Ads Help, 2026).
Related answers
Frequently asked questions
Can multi-touch attribution measure marketing ROI?
Not on its own. It splits credit for orders among touchpoints; return also needs margin, returns and the share of orders the ads caused. In 663 Facebook experiments, one method's median lift for lower-funnel outcomes such as purchases was 24% where the experiments measured 5%, so check a channel's caused share with a holdout.What is the difference between attributed revenue and profit?
Attributed revenue is order value assigned to a channel. Profit is that revenue after returns, times contribution margin, times the share of orders the ads caused, minus ad spend. Only the last step needs an experiment; the rest comes from your own order data.How do I find the caused share of a channel's attributed orders?
Run a holdout on the channel, count orders with it running minus orders without it, and divide by the orders your tool credited for the same regions and weeks. Google defines incremental conversions as treatment conversions minus control conversions in its own lift tests.
Go deeper: Incrementality testing, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Attribution ReportAttribution Report shows which touchpoints or channels receive credit for a conversion. It identifies which campaigns drive desired actions.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- ExperimentsExperiments are scientific procedures that test hypotheses or demonstrate facts. In marketing, experiments like A/B tests determine the causal effect of campaign changes, enabling data-driven decisions.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- Machine LearningMachine Learning involves computer algorithms that improve automatically through experience and data. It applies to tasks like customer segmentation and churn prediction.
- MER vs ROASMER (marketing efficiency ratio) is total revenue divided by total ad spend; ROAS is revenue credited to a specific channel divided by that channel's spend. MER cannot be gamed by attribution but is blind to channels; ROAS is channel-level but only as honest as the attribution behind it.
- Multi-Touch AttributionMulti-Touch Attribution assigns credit to multiple marketing touchpoints across the customer journey. It provides a comprehensive view of channel impact on conversions.