Why do attribution models give different answers?
Because each model is a different rule for splitting one sale among the touches before it, and each tool sees different touches over different windows. If most sales follow a single visit, models mostly agree. The arguments sit in the longer journeys.
By Joris van Huët, Founder & CEOUpdated 6 min read
Because each model is a different rule for splitting one sale among the touches before it. Last click hands it all to the final touch; data-driven spreads it. Each tool also sees different touches over different windows. If most sales follow a single visit, the models mostly agree, and the arguments sit in longer journeys.
What one store's data shows
The usual answer blames the model and stops there: pick the clever one, end of argument. One store's export lets you watch three rules read the same journeys. It shows where the rules agree, where they cannot, and why their totals refuse to add up.
One store's anonymised GA4 export, 1 January 2024 to 21 August 2026. It holds shares of revenue only: no ad spend, no order counts.
| What the export shows | Share of revenue | Source cell |
|---|---|---|
| Direct, in last click, first click and touched views | 57.7% | Channels sheet, Direct row |
| All channels added up in the touched view | 110.4% | Channels sheet, Touched column total |
| Journeys with 1 touch (0.5 days to buy) | 79.5% | Journeys sheet, 1 touch row |
| Journeys with 4 to 9 touches (16.9 days to buy) | 5.4% | Journeys sheet, 4-9 touches row |
The Channels sheet reads every journey three ways: credit to the last touch, to the first touch, or in full to every channel touched. Direct gets 57.7% of revenue on the Channels sheet under all three. Three rules, one answer. That only happens when the journeys Direct touched give the rules nothing to choose between.
The Journeys sheet shows why. Journeys with 1 touch hold 79.5% of revenue on the Journeys sheet, with 0.5 days to buy. One touch means one place to put the credit, so every rule must agree on those sales.
Now the counting rule. The touched view on the Channels sheet adds up to 110.4% of revenue. That is by design: a journey that touched two channels counts in full for both. Any report that lets each channel claim every sale it touched totals more than your revenue once journeys mix channels.
Then the clock. On the Journeys sheet, journeys with 4 to 9 touches hold 5.4% of revenue and took 16.9 days to buy. A tool that stops counting a week after a click misses the opening touches of journeys like those. A tool that looks back three months keeps them. Same journey, two windows, two answers.
What the export cannot show is which rule is right. Every view here shares out credit for revenue that already happened, using touches GA4 recorded. None of them says what a channel caused.
Why does picking the smarter model miss the point?
Because the rule is only one of four things that change the answer, and often not the biggest.
The rule. Google's own help has a neat example. The path Display > Social > Paid Search > Organic Search gives 100% to Organic Search under paid and organic last click. Under Google paid channels last click, the same path gives 100% to Paid Search. Same clicks, two winners.
The eyes. Each tool credits only the touches it may see. GA4's models give Direct nothing unless the whole path was direct. Google Ads reports let only Google paid channels claim credit by default, while GA4 reports let paid and organic channels claim it. Meta's standard setting can count a purchase within 1 day of someone viewing its ad, a view that leaves GA4 nothing to record.
The clock. Windows differ by tool. GA4 looks back 90 days for purchases by default. Google Ads counts click-through conversions for 30 days unless you change it. Meta usually counts 7 days after a click and 1 day after a view. Meta's own pages disagree on whether engagement is part of the default Meta attribution setting, so read the Attribution setting column in Ads Manager.
The counting. Some reports split one sale; others let every channel claim all of it. Shopify's Any click model gives full credit to each channel a buyer clicked. Shopify itself warns that this allocates more credit than orders you've received.
And underneath all four sits the scope. GA4's Traffic acquisition report credits sessions by paid and organic last click, whatever model you set. Its Advertising reports credit key events by the model you chose. Two GA4 screens, one property, two answers.
What can the disagreement tell you?
Where it is small, the channel lives in short journeys or alone, and the model barely matters for it. Where it is large, the channel sits in the middle of long journeys, and every rule is guessing at its share.
That makes the gap a map, not a verdict. It shows you which channels deserve a test. It cannot tell you what any of them caused, because every rule here splits credit for sales that already happened. To learn what a channel adds, switch it off in some regions and compare total sales with the regions where it kept running.
What to do this week
- Switch GA4's reporting time and watch the totals. Open Advertising > Attribution > Attribution models, pick purchase and look at last month under Event time, the default. Then switch Reporting time to Ad interaction time, which credits touchpoints in your date range even when the sale came later. Pass: channel totals barely move. Fail: they move a lot, so only compare reports that use the same reporting time.
- Ask Shopify the any-click question. In Shopify admin, go to Analytics > Reports, filter the Category to Marketing and open Performance by referring channel. In the Attribution menu, include Any click next to Last non-direct click. Pass: your main paid channel scores about the same under both. Fail: Any click is far higher, so the channel mostly assists and last click undervalues it.
- Set session numbers against event numbers. For the same month, read Paid Social revenue in Reports > Acquisition > Traffic acquisition, then in the Attribution models report under data-driven. The first is always last click on sessions; the second is data-driven on key events. Pass: the two sit close. Fail: they sit far apart, so read that channel's paths before you move budget.
Check the homework. Your GA4 Attribution paths export already holds the evidence. Causality Engine reads that one file and shows what each channel caused next to what last-click gave it, in 1 to 2 minutes, for €99 once (excluding VAT), refundable within 30 days. Check the homework
Sources, 1 October 2026: Get started with attribution (Google); Select attribution settings (Google); Scopes of traffic-source dimensions (Google); Key event attribution models report (Google); About conversion windows (Google); About attribution models and attribution settings (Meta); Ad Account Insights reference (Meta); Results (Meta); About multiple attribution settings (Meta); Marketing reports (Shopify)
Related answers
Frequently asked questions
Why do my channel totals add up to more than my revenue?
Because some reports let every channel claim the whole sale. Shopify's Any click model gives full credit to each channel a buyer clicked, and Shopify warns it allocates more credit than orders you received. Ad platforms each count sales after their own ads, so their totals overlap the same way.Can two reports with the same model still disagree?
Yes. Scope, window, date basis and who may claim credit all change the answer. GA4's Traffic acquisition always uses last click on sessions, while its Advertising reports use your chosen model on key events. Check those four before you blame the model.Does a disagreement between models mean my tracking is broken?
Not by itself. Different rules give different answers on clean data. Broken tracking shows up as gaps every model shares. Think of a paid channel with no rows at all, or Direct swelling while you pay for clicks.
Go deeper: Incrementality testing, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Keep reading
Terms in this article
- AnalyticsAnalytics is the systematic computational analysis of data. It reveals customer behavior and measures campaign performance.
- AttributionAttribution identifies user actions that contribute to a desired outcome and assigns value to each. It reveals which marketing touchpoints drive conversions.
- Attribution DiscrepancyAttribution Discrepancy is the variance in conversion data reported between different marketing analytics platforms. It arises because platforms use different models to assign credit.
- Attribution ModelAn Attribution Model defines how credit for conversions is assigned to marketing touchpoints. It dictates how marketing channels receive credit for sales.
- ConversionConversion is a specific, desired action a user takes in response to a marketing message, such as a purchase or a sign-up.
- Google AdsGoogle Ads is an online advertising platform where advertisers bid to display ads, service offerings, and product listings.
- 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.
- TouchpointTouchpoint is any interaction a customer has with a brand throughout their journey. In marketing attribution, each touchpoint is a data signal to understand marketing impact.