How to read GA4's attribution models report, step by step
Open Advertising, then Attribution models, pick purchase, and set data-driven against paid and organic last click. Read Revenue before % Change, turn each change into money and check that the totals match. Then filter to one campaign and save the table with its settings.
By Joris van Huët, Founder & CEOUpdated 7 min read
Usually in six moves. Open Advertising, then Attribution models, and pick purchase. Set data-driven against paid and organic last click. Read the Revenue columns, then turn each % Change into money. Check that the totals match before you trust any row, then filter to one campaign and save the table.
You need purchase marked as a key event and a few months of data. Reading the report needs access to the property. Changing the attribution settings behind it needs Marketer or above. Every menu path comes from Google's help pages as they read on 1 October 2026.
Step by step
- Open the report. Google's help calls it the key event attribution models report, and the menu calls it Attribution models. It sets two models side by side for each channel. Menu path: GA4 > Advertising > Attribution > Attribution models.
- Pick purchase alone. Open the key events drop-down at the top left and keep only purchase. By default every key event is selected and added together, so a sign-up would count like a sale. Menu path: Attribution models > key events drop-down, top left.
- Pick a date range that has settled. Google says data-driven attribution can reattribute conversions for up to 7 days after they happen. So end your range at least a week ago, or the newest rows will still move. Menu path: Attribution models > date range.
- Set the reporting time. The default, Event time, credits touches in the lookback window before the key events in your range. Ad interaction time credits touches inside your range, even if the purchase came after it. Use Event time to explain a month's sales and Ad interaction time to judge a month's ads. Menu path: Attribution models > Reporting time, which Google lists under Customize report.
- Pick the two models. Use the drop-downs in the Attribution model (non-direct) columns: paid and organic last click in one, data-driven in the other. Google says paid and organic last click is the one to use when you set GA4 against Google Ads. Menu path: Attribution models > Attribution model (non-direct) drop-downs.
- Choose the rows. The table starts on Primary channel group, which begins as a copy of the Default channel group unless someone changed it. Switch to Source/medium, Source, Medium or Campaign when one channel hides a mix. Menu path: Attribution models > Primary channel group drop-down in the table.
- Read Revenue before % Change. Each model gets a Key events column and a Revenue column. Google says Revenue here is calculated the same way as Purchase revenue. Read the money first, because a percentage hides how big a channel is. Menu path: Attribution models > Revenue columns.
- Turn each change into money. Subtract one Revenue column from the other for every row, and rank the rows by that amount. Check one row by hand to see which model the % Change column treats as its base. Menu path: none; do it on the table you download in the last step.
- Check that the totals match. Data-driven splits a sale into shares that add up to 1.0, so both models hand out the same total. Rows such as (not set), Unassigned, Unattributable and (Other) keep that total whole. Read them as credit GA4 could not label, not as channels. Menu path: Attribution models > top row of the table.
- Narrow to one campaign. Click Add filter at the top left, create an Include filter, choose User campaign under Acquisition and pick the campaign. Google also gives Region under User and Device category under Device as examples. Menu path: Attribution models > Add filter > Include > Acquisition > User campaign.
- Save the table with its settings. Click Share this report in the top right to download the data in the table. Put the date range, key event, models and reporting time in the file name. Menu path: Attribution models > Share this report.
A worked example
For illustration, here is one invented quarter of purchase revenue, read the way steps 7 to 9 describe.
| Channel (invented) | Paid and organic last click | Data-driven | % Change | Money moved |
|---|---|---|---|---|
| Paid Search | €40,000 | €34,000 | -15% | -€6,000 |
| €20,000 | €17,000 | -15% | -€3,000 | |
| Organic Search | €25,000 | €26,500 | +6% | +€1,500 |
| Paid Social | €10,000 | €17,500 | +75% | +€7,500 |
| Direct | €5,000 | €5,000 | 0% | €0 |
| Total | €100,000 | €100,000 | 0% | €0 |
In this worked example, Paid Social has the loudest percentage and the biggest gain, €7,500. Paid Search and Email show the same percentage, yet Paid Search gives up twice as much money. Organic Search's small percentage still moves €1,500, for illustration.
The totals match and the moves add up to nothing. Direct stays put, because both models give Direct credit only when the whole path was direct.
So the story, in this worked example, is a transfer of €9,000 from the closers to the openers. Paid Social and Organic Search sit earlier on paths that Paid Search and Email finish.
Now set that against real journeys. In one store's export, 1,568 distinct paths with 4 to 9 touches held 5.4% of revenue (Journeys sheet). Another 1,792 paths with 10 or more touches held 3.0% (Journeys sheet). Long paths are many, and they carry little money. A channel that lives on them can post a big % Change and move little revenue.
What should I check when the report looks wrong?
- Every row shows no change. Both drop-downs may be set to the same model. Or you set Google paid channels last click against paid and organic last click. On paths with no Google Ads click, Google says the first falls back to the second.
- Last week's rows keep moving. Data-driven can reattribute conversions for up to 7 days. Read ranges that ended at least a week ago.
- The numbers differ from Google Ads. Google says GA4 uses last click for Google Ads conversions built on key events. Compare against paid and organic last click, and check that both accounts share a time zone.
- A row says (not set), Unassigned or (Other). These hold credit GA4 could not label. The cause is a tag missing a parameter, no matching channel rule, or too many values for one table. Fix tags at the source, because the rows will not fix themselves.
- Direct is bigger than you expect. In this report, Direct also holds key events with no path data, such as imported ones. A data import can swell it.
What to do this week
- Run last quarter on purchase. Open Attribution models, keep only purchase, set data-driven against paid and organic last click and download the table. Pass: you have your three biggest moves in money written down. Fail: you ranked channels by % Change and missed where the money went.
- Filter to your biggest campaign. Add an Include filter on User campaign under Acquisition and rerun the same view. Pass: the campaign moves the same way as its channel. Fail: it moves the other way, so the channel total hides a campaign doing a different job.
- Keep the settings with the file. Name the download with the date range, key event, models and reporting time. Pass: next quarter you can rebuild exactly the same view. Fail: nobody can tell which model made last quarter's numbers.
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 event attribution models report (Google Analytics Help); Get started with attribution (Google Analytics Help); Select attribution settings (Google Analytics Help); Custom channel groups (Google Analytics Help)
Related answers
Frequently asked questions
Should I compare GA4 attribution models on key events or on revenue?
Read both, revenue first. Key events count purchases, while revenue weighs them by value. When a channel's revenue moves more than its key events, the purchases it gains or loses are bigger than its usual one.How long should I wait before reading recent rows in the attribution models report?
About a week. Google says data-driven attribution can reattribute conversions for up to 7 days after they happen, so the newest rows still move. Read date ranges that ended at least a week ago.Can I compare attribution models for one campaign in GA4?
Yes. Click Add filter at the top left, create an Include filter, select User campaign under Acquisition and pick your campaign. Google gives this example for seeing how the models value one media initiative.
Go deeper: Causal attribution, 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 ModelAn Attribution Model defines how credit for conversions is assigned to marketing touchpoints. It dictates how marketing channels receive credit for sales.
- CausalityCausality is the relationship where one event directly causes another, essential for identifying specific actions that drive desired outcomes in marketing.
- 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.
- Google AnalyticsGoogle Analytics is a web analytics service that tracks and reports website traffic.
- MatchingMatching is a statistical technique that reduces bias in observational studies. It pairs treated subjects with similar control subjects.