Skip to content

How to trace why attribution models disagree, step by step

Pick one common multi-touch path in GA4's paths report. Run it through every rule: GA4's models, Google paid channels last click, Shopify's five models and Meta's windows. Note each tool's window and scope. The channel whose credit swings most is your next test.

By , Founder & CEOUpdated 8 min read

Run the numbers for your store: the free attribution window calculator.

Usually by running one real path through every rule. Pick a common multi-touch path in GA4, then see what last click, data-driven, Google Ads, Shopify and Meta would each credit. Write down the window and scope each one uses. The gaps that remain point to the channel you need to test.

Step by step

You need GA4 with purchase marked as a key event and a few months of data. The Google Ads, Shopify and Meta steps apply if you use them. Allow an hour, with a spreadsheet open.

  1. Pick one path worth arguing about. Open the paths report, select purchase as the key event and set Path length to greater than 1. Note the path with the most purchase revenue. Google's help also lists this report as Key event attribution paths, under a Key events drop-down. Menu path: Advertising > Attribution > Attribution paths > Path length.
  2. Ask GA4's last click rule. Under paid and organic last click, the whole sale goes to the last touch that was not Direct. Google's own example sends Display > Social > Paid Search > Direct entirely to Paid Search. Write that winner in the first column. Menu path: Advertising > Attribution > Attribution models > Attribution model (non-direct) drop-down.
  3. Ask GA4's data-driven rule. Switch the same drop-down to Data-driven to see each channel's share. For your path itself, hover over each touchpoint in the paths table to see its credit, an average across the paths that row groups. Expect decimals: one sale, split several ways. Menu path: Advertising > Attribution > Attribution models; Advertising > Attribution > Attribution paths > hover over a touchpoint.
  4. Ask Google's paid-only rule. Google paid channels last click gives the sale to the last Google Ads click on the path. When the path holds no Google Ads click, it falls back to paid and organic last click. If a Meta click came after a Google ad, the Google ad still wins here. Menu path: Advertising > Attribution > Attribution models > Attribution model (non-direct) drop-down.
  5. Ask Shopify's five rules. Open Performance by referring channel and include Last click, Last non-direct click, First click, Linear and Any click in its Attribution menu. Last click counts a closing direct visit, Last non-direct click skips it, and Any click gives every clicked channel full credit. Menu path: Shopify admin > Analytics > Reports > Category: Marketing > Performance by referring channel > Attribution.
  6. Ask Meta, which only sees its own ads. Meta credits its ad with a purchase inside the ad set's window, usually 7 days after a click and 1 day after a view. Compare attribution settings to see how much of Meta's figure rests on views. Menu path: Ads Manager > Columns: Performance > Compare attribution settings.
  7. Check the clock on your path. Read Days to key event for the path, then set it against each tool's window. By default, GA4 keeps touches from the 90 days before a purchase. Google Ads counts click-through conversions for 30 days unless someone changed it. Shopify resets a visitor's first interaction after 30 days without a purchase. Menu path: Advertising > Attribution > Attribution paths; Google Ads > Goals > Conversions > Summary > Edit settings.
  8. Check the scope of every number you compare. Traffic acquisition credits sessions by paid and organic last click, whatever your model setting says. The Advertising reports use event-scoped dimensions and the model you chose. Two numbers from different scopes can disagree even under the same model. Menu path: Reports > Acquisition > Traffic acquisition, against Advertising > Attribution > Attribution models.
  9. Write every answer in one row. Put the path, each rule's winner, its window and its scope in one row of a sheet. The spread across that row is the disagreement. The channel whose credit swings most is your next test. Menu path: your spreadsheet; no platform menu.

A worked example

For illustration, say your top multi-touch path is Paid Social > Email > Paid Search > Direct. Say the path brought €10,000 of purchase revenue last quarter, and its buyers took 12 days to buy. For illustration, here is how each rule credits that one path.

RuleWho gets the €10,000Why
GA4 paid and organic last clickPaid SearchThe closing Direct visit is skipped
GA4 Google paid channels last clickPaid SearchIt is the last Google Ads click
GA4 data-drivenA split across Paid Social, Email and Paid SearchWeights learned from your own paths
Shopify Last clickDirectDirect visits count in this model
Shopify Last non-direct clickPaid SearchDirect is skipped
Shopify First clickPaid SocialThe path is shorter than the reset window
Shopify Linear€2,500 to each of the fourEqual shares, Direct included
Shopify Any click€10,000 to each of the fourEvery clicked channel gets full credit
Meta, usual 7-day click and 1-day viewNothing, unless a Meta ad view came within a day of the saleThe Meta click came 12 days before the sale

So nine rules give seven different answers for one €10,000 sale, in this worked example. Shopify's Any click column alone totals €40,000 for it, for illustration.

That is not a bug. It is the touched rule. It shows up at scale on one store's Channels sheet, where the touched view adds up to 110.4% of revenue.

The fix is not to pick the prettiest number. Say which rule made each number, and test the channel that swings most. Here that is Paid Social: everything under first click, nothing under last click, a share under data-driven.

What should you check when the numbers look wrong?

  • Paths longer than one touch barely exist. If Path length greater than 1 returns little revenue, the rules have little to fight over. Your gaps then come from scope, windows or dates, not models.
  • Direct wins everything in Shopify. Shopify's Last click counts direct visits, and GA4's models do not. Compare GA4's last click with Shopify's Last non-direct click instead.
  • A paid channel never appears on any path. Its clicks probably arrive untagged or under another label. No rule can credit a touch nobody recorded, so fix the tagging first.
  • GA4 and Google Ads disagree under the same model. GA4 uses last click for Google Ads conversions built on key events, so compare against paid and organic last click. Google also notes that different time zones in the two accounts can cause gaps.
  • Meta's figure beats everyone's. It may include purchases made within a day of a view. Compare its 7-day click column alone with GA4.
  • Last month's numbers keep changing. Data-driven can reattribute conversions for days after they happen. Trace closed months only, and give the latest week time to settle.

What to do this week

  1. Trace last quarter's top path. Run steps 1 to 6 for your biggest multi-touch path and fill one row. Pass: you can name every rule's winner. Fail: no path has more than one touch worth tracing, so start at step 8 and check scopes instead.
  2. Confirm GA4 keeps long paths. In Admin > Data display > Events > Attribution settings, read the Key event lookback window. Pass: it shows 90 days, the default and longest choice for purchases. Fail: it shows 30 or 60 days, so long journeys lose their opening touches; a change applies only going forward.
  3. Split Meta's figure into clicks and views. In Ads Manager, open Columns: Performance, select Compare attribution settings and pick 7-day click and 1-day view for last month. Pass: most purchases sit in 7-day click. Fail: views carry a big share, so Meta is crediting sales after ads GA4 never saw.

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: Key events attribution paths report (Google); Get started with attribution (Google); Key event attribution models report (Google); Select attribution settings (Google); Scopes of traffic-source dimensions (Google); About conversion windows (Google); Marketing reports (Shopify); Ad Account Insights reference (Meta); Compare attribution settings in Meta Ads Manager (Meta)

Frequently asked questions

  • Where can I see the credit for each touch on a path?
    In GA4's Attribution paths report, hover over a touchpoint in the table to see its credit and key events. The credit in each row is an average across the individual paths that row groups, so read it as a typical split, not one buyer's.
  • Do time zones change attribution numbers?
    They can move sales between days. GA4 reports in the property's time zone and Google Ads in the account's time zone, and Google says different settings can cause discrepancies. Sales near midnight land on different dates, which shifts daily and weekly totals.
  • Why does Shopify credit Direct when GA4 does not?
    Because their rules differ. Shopify's Last click counts direct visits, while GA4's models skip Direct unless the whole path was direct. Shopify's Last non-direct click is the closer match to GA4's paid and organic last click.

Go deeper: Incrementality testing, explained.

Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.

Keep reading

Terms in this article

Browse the full glossary

Your platforms guess.
We run the math.

Upload a GA4 export and see what each channel caused, next to last-click, in 1–2 minutes. The read is yours to keep.

Free, in your browser: your file is not uploaded. The full read is €99, refundable within 30 days. Prices exclude VAT.
Or book a 30-min call.