Skip to content

How to see which channel drives sales in GA4, step by step

Confirm purchase is a key event, check the attribution settings, then read Total revenue in Traffic acquisition and compare models and paths under Advertising. Each step below gives the exact GA4 menu path and what to check when a number looks wrong.

By , Founder & CEOUpdated 8 min read

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

In GA4, first confirm purchase is a key event and check your attribution settings. Then open Reports, Acquisition, Traffic acquisition for revenue by each session's channel, and Advertising, Attribution for models and paths. If a number looks odd, check tagging before you blame the channel.

Seven screens, in order. The menu paths below come from Google's help pages as they read on 1 October 2026. You need the Viewer role to export a report, and Marketer or above to change attribution settings.

Step by step

  1. Confirm purchase is a key event. Google marks purchase as a key event by default on web and app. Someone may have switched it off since. Look for the star next to purchase on the Key events tab. Menu path: Admin > Data display > Events.
  2. Check your attribution settings. They set the reporting attribution model, the channels that can receive credit and the key event lookback window. For purchases, the default lookback window is 90 days, and you can also choose 30 or 60. Menu path: Admin > Data display > Events > Attribution settings.
  3. Open Traffic acquisition. It shows each session's channel, and its revenue needs a purchase event with a value and a currency. In the Key events column, open the All events menu and choose purchase, then read Total revenue by Session default channel group. Menu path: Reports > Acquisition > Traffic acquisition.
  4. Open User acquisition for the first touch. It groups users by the channel that first brought them, so it shows who introduces buyers. Read Total revenue by First user default channel group. If Direct tops this report too, GA4 never saw where those buyers first came from. Menu path: Reports > Acquisition > User acquisition.
  5. Compare attribution models. The attribution models report puts models side by side for each channel. Use the drop-downs in the Attribution model (non-direct) columns to pick data-driven and paid and organic last click. Menu path: Advertising > Attribution > Attribution models.
  6. Read the attribution paths. This report lists the routes people took, with Key events, Purchase revenue, Days to key event and Touchpoints to key event. It shows paths up to 20 touchpoints long. The chart at the top uses paid and organic last click until you change its model drop-down. Menu path: Advertising > Attribution > Attribution paths; Google's paths page files it under a Key events drop-down instead.
  7. Export what you see. Click Share this report in the top right, then Download File, then Download CSV. Google says a CSV export holds up to 100,000 rows. Menu path: (report) > Share this report > Download File > Download CSV.

A worked example

Here is how the output reads, using one store's anonymised export, 1 January 2024 to 21 August 2026. It holds shares of revenue, with no spend and no order counts.

What the export showsValueSource cell
Direct, in last click, first click and touched views57.7% of revenueChannels sheet, Direct row
Journeys with one touch (0.5 days to buy)79.5% of revenueJourneys sheet, 1 touch row
Journeys with two to three touches (12.5 days to buy)12.2% of revenueJourneys sheet, row for two to three touches
Journeys with ten or more touches (16.0 days to buy)3.0% of revenueJourneys sheet, row for ten or more touches

The export's last-click view is the closest match to step 3. Direct takes 57.7% of revenue there, and in the first-click and touched views too (Channels sheet). The first-click view is the closest match to step 4, so that report would not rescue the picture. When first click, last click and touched agree, there is little else in those journeys to credit.

Step 6 shows why. Journeys with one touch carry 79.5% of revenue and take 0.5 days to buy (Journeys sheet). Models cannot disagree about a journey with one touch, so step 5 will barely move most of this revenue.

The slow journeys are where step 5 earns its keep. Two to three touches carry 12.2% of revenue and take 12.5 days (Journeys sheet). Ten or more touches carry 3.0% and take 16.0 days (Journeys sheet). If your slowest journeys look like these, even the shortest purchase lookback GA4 offers, 30 days, covers them.

Then run step 7 and keep the file. It records who got the credit, which is where the question of what worked starts, not where it ends. Date it and note the settings from step 2, so the next export compares like for like.

Which report answers which question?

Each screen answers one question. Read the wrong one and you move budget on an answer to a different question.

  • Traffic acquisition: which channel brought the session that ended in a sale, by the non-direct last click rule.
  • User acquisition: which channel first brought the people who bought.
  • Attribution models: how much a channel's credit depends on the model you pick.
  • Attribution paths: the routes, how many touches they took and how many days.
  • None of them: what a channel caused. That takes a test that switches the channel off for some buyers and compares sales.

What should I check when the report looks wrong?

  • Total revenue is blank. The purchase event needs a value and a currency, or the column stays empty. Google's troubleshooting page also asks for transaction_id and items on the purchase event.
  • Unassigned is a big row. Unassigned means no channel rule matched. Sessions whose source and medium arrive as (not set) end up there, often from links with UTM parameters missing.
  • Direct looks too big. By Google's definition, Direct is a saved link or a typed address, plus some social and offline traffic. If you see mostly Direct, Google suggests linking your ad accounts or tagging your destination URLs.
  • Revenue shows decimals. That is data-driven attribution splitting the credit for one sale across several channels. Each sale's shares still add up to one; single rows just stop being whole numbers.
  • You changed the model and nothing moved. Traffic acquisition uses session-scoped dimensions, which the reporting attribution model does not touch. The reports in step 5 are the ones that move.
  • GA4 and Google Ads disagree. Each reports in its own time zone: GA4 in the property's, Google Ads in the account's. Match them before you compare totals.

What to do this week

  1. Export a year of paths. In Advertising, open Attribution paths, set the last twelve months and pick purchase as the key event. Download it from Share this report. Pass: every channel you pay for appears in the paths. Fail: a paid channel is missing, so its clicks reach GA4 without a source it can read.
  2. Clear the (not set) rows. In Traffic acquisition, add Session source / medium as a secondary dimension and search for (not set). Rebuild those links with utm_source, utm_medium and utm_campaign. Pass: the row stops growing. Fail: it keeps growing, so another link source is still untagged.
  3. Write down your settings. In Admin, under Data display, open Events, then Attribution settings, and note the model and the lookback window. A new lookback window applies going forward, while a new model rewrites history too. Pass: everyone who reads GA4 knows both. Fail: someone compares reports made under different settings.

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: Mark events as key events (Google Analytics Help); Select attribution settings (Google Analytics Help); Traffic acquisition report (Google Analytics Help). About key events (Google Analytics Help); User acquisition report (Google Analytics Help); Get started with attribution (Google Analytics Help). Key event attribution models report (Google Analytics Help); Key events attribution paths report (Google Analytics Help); Share & export reports (Google Analytics Help). What the value (not set) means in your reports (Google Analytics Help); Fix missing revenue data (Google Analytics Help).

Frequently asked questions

  • How do I export attribution paths from GA4?
    Open Advertising, then Attribution, then Attribution paths, and click Share this report in the top right. Choose the download option to save the data the report shows. Set the date range and key event first, because the file holds only what is on screen.
  • Why does GA4 show Unassigned revenue?
    Unassigned means no channel rule matched the event data. Sessions whose source and medium came through as (not set) end up there, often from links with UTM parameters missing. Tag every link with source, medium and campaign to shrink it.
  • How long does GA4 look back to credit a channel?
    For purchases, the default lookback window is 90 days, and you can also choose 30 or 60. Change it in Admin, under Data display, Events, then Attribution settings. The new window applies going forward, not to past data.

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.