How to Track Shopify Sales by Marketing Channel (Beyond Last-Click)
Tag every link with consistent UTM parameters, compare channel credit under more than one model in Shopify (five available) and GA4 (three), and reconcile orders between the two tools. Neither tool runs an experiment, so credit is not the same as cause.
Three platforms, three answers, one budget to defend. Your GA4 export already holds the answer, and the first finding is free and never leaves your browser. Get your first finding free
By Joris van Huët, Founder & CEOUpdated 6 min read
Shopify's Analytics reports let you switch between five attribution models, and GA4's attribution reports offer three, so one store can show different channel totals for the same orders. To track sales by channel, tag every link with consistent UTM parameters, read channel credit under more than one model, and reconcile Shopify orders with GA4 purchases for the same dates. None of these reports is an experiment, and in a peer-reviewed comparison against 15 Facebook ad experiments, observational methods often did not reproduce the randomized results.
How does Shopify credit a sale to a channel?
Shopify Analytics supports five models: last non-direct click, last click, first click, any click and linear. Its documentation names two defaults: last click when a report pairs a sales metric with a marketing dimension, and last non-direct click for the Performance by marketing channel report, which opens on the last 30 days. Shopify suggests using more than one model, because that reduces bias in how you interpret the data.
- Marketing activities created in Shopify are credited to the source clicked most recently within the past 30 days.
- Any click gives full credit to every clicked channel, so it allocates more credit than the orders you received. Shopify says it suits analyzing a single channel and reconciling what each channel reports.
- Shopify states that all storefront data has included cross-device reporting since March 1, 2023. In its example, a customer clicks an Instagram ad on a phone, gives an email address, then buys on a laptop after a store email; without cross-device data the ad would receive no credit.
- For direct visits whose referrer cannot be determined, Shopify lists Do Not Track, referrer data blocked by a proxy or firewall, and shortened URLs among the causes.
- In September 2026 Shopify changed the Performance by marketing channel report to include all traffic that reaches the store, so its totals might be higher than before the change.
What does GA4 show for the same sales?
GA4's attribution reports offer three models: data-driven, paid and organic last click, and Google paid channels last click. Google says all three exclude direct visits from credit unless the whole path is direct, and that paid and organic last click is also called last non-direct click. First click, linear, time decay and position-based models were removed in November 2023, so GA4's attribution reports have no first-click view.
The windows differ too. GA4's default lookback is 90 days for key events other than first visits and first opens, against Shopify's 30 days for marketing activity reports, so the same purchase can be credited to different channels in the two tools. Changing GA4's reporting attribution model changes event-scoped dimensions such as Default channel group, but not session-scoped ones such as Session source.
Google describes data-driven attribution as a counterfactual approach that learns from converting and non-converting paths and, for Google ad exposures, trains on randomized controlled trial data. That is Google describing its own model; this post cites no independent test of it. To be fair to both tools, each publishes its attribution rules and lets you compare more than one model on the same orders.
Do credit reports show what a channel caused?
Neither tool's report is a randomized test. Two peer-reviewed studies, one at Facebook and one at eBay, compared non-experimental estimates with randomized experiments.
Gordon, Zettelmeyer, Bhargava and Chapsky (Marketing Science, 2019) compared 15 US advertising experiments at Facebook, with 500 million user-experiment observations and 1.6 billion ad impressions, against several observational models. The observational methods often failed to produce the same effects as the randomized experiments, even after conditioning on extensive demographic and behavioral variables.
Blake, Nosko and Tadelis (NBER working paper, published in Econometrica in 2015) ran large field experiments on paid search at eBay. They report that returns from paid search were a fraction of conventional non-experimental estimates, and that brand-keyword ads had no measurable short-term benefits.
Both studies are peer-reviewed, but they cover Facebook and eBay advertising, not Shopify stores or Shopify's reports. No source fetched for this post measures how far Shopify's or GA4's own channel credit differs from an experiment on a store.
How do I check my own store this week?
Use one calendar month and a spreadsheet.
- In Shopify, open Analytics, then Reports, then Performance by marketing channel. Record orders by channel with the Attribution menu set to Last click, then to First click.
- In GA4, open Advertising, then Attribution, then Attribution models. Select the purchase key event and record Data-driven beside Paid and organic channels last click for the same dates.
- Add up the orders across channels in Shopify and the purchase key events across channels in GA4. Expect a gap, and explain it with documented causes: blocked JavaScript and cookies, browser extensions that block Google Analytics, different time zones, and Shopify counting canceled, pending and unpaid orders in its marketing reports. Pass: each gap has a documented cause and is about the same next month. Fail: a gap you cannot explain, or one that jumps after a theme, consent or tag change.
- In GA4, open Reports, Acquisition, Traffic acquisition and list every session source and medium. Shopify counts traffic as marketing when the URL carries utm_campaign, and GA4 says to always set utm_source, utm_medium and utm_campaign when you tag a URL. Pass: one lowercase spelling per channel, with Unassigned and (not set) rows close to empty. Fail: paid or email traffic sits under Direct, Unassigned or (not set), or one channel appears under several spellings.
- Put the four readings side by side. Pass: each channel keeps about the same rank in all four. Fail: a channel's rank changes between readings, which means its budget case rests on the model you picked.
- To test one channel directly, lower its spend in one region for a window you set and compare orders there with a similar region that did not change. Write the regions and the window down before you start.
What comes after these checks?
Later, once the order counts reconcile and the UTM tagging is clean, a causal attribution tool like Causality Engine can show what each GA4 channel group caused next to last-click rebuilt from the same GA4 export, with Direct split back to the channels that sent those buyers. The €99 causal read is paid once, takes 1 to 2 minutes, is refundable within 30 days, no questions asked, and needs no pixel and no SDK. It works on GA4 channel groups, not campaigns, keywords or creatives, and prices exclude VAT.
Sources, 6 October 2026: Marketing reports (Shopify Help Center, 2026); Measuring marketing performance (Shopify Help Center, 2026); Analytics discrepancies (Shopify Help Center, 2026); Analytics data points reference (Shopify Help Center, 2026); Get started with attribution (Google Analytics Help, 2026); Select attribution settings (Google Analytics Help, 2026); URL builders (Google Analytics Help, 2026); Key event attribution models report (Google Analytics Help, 2026); Gordon et al. abstract (Marketing Science, 2019); Blake, Nosko and Tadelis (NBER, 2014; Econometrica, 2015)
Related answers
Frequently asked questions
Does Shopify use last-click attribution?
It depends on the report. Shopify Analytics supports five models: last click is selected by default in reports that pair a sales metric with a marketing dimension, and last non-direct click is the default in Performance by marketing channel. Marketing activities created in Shopify are credited to the most recent click within 30 days.Why do Shopify and GA4 show different sales by channel?
They apply different rules and windows. GA4's default lookback is 90 days for purchases, Shopify's marketing activity reports credit the most recent click within 30 days, and Shopify lists blocked JavaScript and cookies, browser extensions and time zones as other causes of differences.Is GA4 data-driven attribution causal?
It is a model, not a randomized test on your own spend. Google describes it as a counterfactual approach that, for Google ad exposures, trains on randomized controlled trial data; that is Google's description of its own model, and this post cites no independent test of it. A holdout test is the direct check.Can I track Shopify sales by channel without UTM tags?
Partly. Shopify detects the referrer source automatically and calls it more reliable than UTM for organic traffic, but its UTM fields require tagging, and GA4 shows (not set) where UTM parameters are missing. Tag every link you control.
Go deeper: Causal attribution, explained.
Sixty-second versions of these ideas: Causality Engine on YouTube Shorts.
Have an audience of ecommerce operators? Earn 20% recurring commission by recommending the €99 read.
Keep reading
Terms in this article
- Attribution ModelAn Attribution Model defines how credit for conversions is assigned to marketing touchpoints. It dictates how marketing channels receive credit for sales.
- Attribution ReportAttribution Report shows which touchpoints or channels receive credit for a conversion. It identifies which campaigns drive desired actions.
- Causal AttributionCausal Attribution uses causal inference to determine which marketing touchpoints genuinely cause conversions, not just correlate with them.
- CounterfactualA counterfactual is what would have happened under conditions that did not occur, such as a customer's outcome had they not received the campaign they did receive. It is never observed, so every effect estimate has to stand in for it with a control group, comparable units or a forecast.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- IncrementalityIncrementality is the part of an outcome, such as orders or revenue, that a marketing activity caused: the extra results compared with what would have happened without it. It is a causal effect, not the number of conversions credited to a channel.
- Incrementality TestingIncrementality Testing measures the additional impact of a marketing campaign. It compares exposed and control groups to determine causal effect.
- UTM ParametersUTM Parameters are URL tags marketers use to track campaign effectiveness across traffic sources. They provide data for accurate campaign tracking and attribution in analytics platforms.