Skip to content

How do I see which marketing channel drives sales in GA4?

In GA4, Traffic acquisition (Reports, then Acquisition) shows revenue by each session's channel. The attribution reports under Advertising show how credit shifts between models. Both show credit, not cause, so read them before you move budget.

By , Founder & CEOUpdated 6 min read

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

Usually in two places. Reports, then Acquisition, then Traffic acquisition shows revenue by each session's channel. Advertising, then Attribution shows how credit moves between models and the paths buyers took. Both show which channel got the credit. Neither shows which channel caused the sale, and that is the part your budget needs.

The usual answer stops at the first report: sort Traffic acquisition by revenue and fund the top row. That tells you which channel GA4 credits for the last step before a sale. It is a fine place to start and a poor place to stop.

What one store's data shows

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 showsValueSource cell
Direct, in last click, first click and touched views57.7% of revenueChannels sheet, Direct row
Touched view, every channel added up110.4%Channels sheet, Touched column total
Journeys with one touch (0.5 days to buy)79.5% of revenueJourneys sheet, 1 touch row
Journeys with ten or more touches (16.0 days to buy)3.0% of revenueJourneys sheet, row for ten or more touches

Three views of the same revenue, and they agree on the biggest number. Direct holds 57.7% in last click, first click and touched alike (Channels sheet). When three views agree, the model is not your problem. The label is.

Google defines Direct as a visit that arrives through a saved link or a typed URL. Its help also lists traffic from social media and offline documents among the examples. So Direct is not a channel you bought. It is the bucket for visits GA4 could not trace.

The touched view adds up to 110.4% by design (Channels sheet). A journey that touched two channels counts once for each. That is how the view shows assists, and why its column will not add up neatly.

One-touch journeys account for 79.5% of revenue, with 0.5 days to buy (Journeys sheet). For those sales, every attribution model gives the same answer, because there is only one channel to credit. The models disagree only on multi-touch journeys, which hold 20.6% of revenue: 12.2% plus 5.4% plus 3.0% (Journeys sheet).

Those multi-touch journeys are 3,656 of the 3,670 distinct path sequences in the export. Many routes, little revenue on each. Journeys with the most touches, ten or more, held 3.0% of revenue and took 16.0 days (Journeys sheet).

What the export cannot show is cause. It holds shares of credit, with no spend and no test. A channel can hold a big share of credit and add little, or a small share and start many journeys.

Why does the usual answer mislead?

Because Traffic acquisition answers a narrower question than it seems to. Google says sessions follow the non-direct last click attribution model. So each session's channel is the last non-direct click in the lookback window, not the channel that introduced the buyer.

Google's own example shows the gap. A user arrives first from Google, then comes back ten times by typing the URL. User acquisition files all eleven sessions under Google. Traffic acquisition does the same only while those visits sit inside the lookback window; after that, they turn into Direct.

Switching models will not move it either. Google's help says session-scoped dimensions, such as Session source, are unaffected by changes to the reporting attribution model. Pick data-driven, reopen Traffic acquisition, and the rows stay put.

Then there is Direct. Google notes that its attribution models give direct visits credit only when the path consists entirely of direct visits. So Direct keeps revenue only where GA4 saw nothing else, which says more about tracking than about loyalty.

And credit is not cause. A buyer who would have bought anyway still hands credit to the channel they clicked last. Credit tells you who stood nearest the till.

What can these reports not tell you?

They cannot tell you what happens if you switch a channel off. That takes a test: pause a channel in some regions, keep it in others and compare total sales. GA4 reports which channels were present when people bought. A test reports which ones changed whether they bought.

They also miss ads nobody clicked. GA4's last-click model credits the last channel a buyer clicked through, or an engaged view on YouTube. An ad seen and never clicked leaves no touch to credit, so its sale lands on whatever was clicked, or on Direct.

And they forget. A touch older than the key event lookback window gets no credit, and for purchases that window is 90 days unless someone changed it. A slow buyer's first click can fall off the edge.

What to do this week

  1. Make sure revenue shows by channel. In GA4, go to Reports, then Acquisition, then Traffic acquisition, and read Total revenue. Pass: your paid and email rows show revenue. Fail: the column is blank, which Google says happens when the purchase event lacks a value and currency.
  2. Put two models side by side. Open Advertising, then Attribution, then Attribution models, and compare data-driven with paid and organic last click. Pass: your main channels hold steady across models. Fail: a channel's revenue swings hard, so its credit depends on the model, not on buyers.
  3. Find who introduces and who closes. Open Reports, then Acquisition, then User acquisition, and compare revenue by first user channel with Traffic acquisition. Pass: the same channel leads both, so it finds and closes buyers. Fail: a channel leads User acquisition but trails in Traffic acquisition, and it is on your cut list. It introduces buyers that last click hides.

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: Traffic acquisition report (Google Analytics Help); User acquisition report (Google Analytics Help). User acquisition report vs. Traffic acquisition report (Google Analytics Help); Select attribution settings (Google Analytics Help); Get started with attribution (Google Analytics Help). Default channel group (Google Analytics Help); Key event attribution models report (Google Analytics Help).

Frequently asked questions

  • Why is Direct my top channel in GA4?
    Because Direct collects visits GA4 cannot trace: saved links, typed addresses and, per Google, some social media and offline traffic. Buyers who saw an ad and later typed your address land there too. Tag your links before you read Direct as loyalty.
  • Does GA4 show which channel caused a sale?
    No. GA4 shows which channel received credit under the model you pick. Credit is not cause: a sale that would have happened anyway still goes to someone. A holdout test, with a channel switched off in some regions, measures what it adds.
  • Which attribution model should I pick in GA4?
    GA4 offers data-driven, paid and organic last click, and Google paid channels last click. Pick one for reporting, then use the attribution models report to compare them. If a channel's revenue swings between models, treat its credit as unsettled.

Go deeper: Causal attribution, 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.