Skip to content

Why does direct get last-click credit?

Direct gets last-click credit when the report knows no earlier source for that buyer. Shopify's Last click model credits a typed final visit anyway. GA4 skips it whenever it remembers a non-direct source inside the lookback window, so in GA4 a Direct sale means it saw nothing else.

By , Founder & CEOUpdated 6 min read

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

Direct usually gets last-click credit because the report knows no earlier source for that buyer. GA4 passes a typed or bookmarked visit's credit to the last non-direct source it remembers, within 90 days by default. Direct keeps the sale only when GA4 saw nothing else. Shopify's Last click model simply credits the typed final visit.

What one store's data shows

The usual answer tells a tidy story. A buyer clicks an ad, wanders off, types your address a week later and buys, and Direct steals the close. One store's export does not show that story.

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 showsShare of revenueSource cell
Direct, in last click, first click and touched views57.7%Channels sheet, Direct row
Journeys with 1 touch (0.5 days to buy)79.5%Journeys sheet, 1 touch row
Journeys with 2 to 3 touches (12.5 days to buy)12.2%Journeys sheet, 2-3 touches row

On the Channels sheet, Direct holds 57.7% of revenue under last click, under first click and in the touched view. The touched view credits every channel a journey touched.

That match is the tell. Had Direct been closing journeys that ads opened, its touched share would sit above its first-click share. Within the sheet's rounding, Direct never took the last click from a journey another channel started.

So in this store, Direct's last-click credit came from journeys that began with Direct as well. No channel lost a close to it. The real question sits earlier: what happened before GA4 started counting?

Now look at how little GA4 saw. On the Journeys sheet, journeys with 1 touch hold 79.5% of revenue, with 0.5 days to buy. For most of the money, GA4 recorded a single visit, about half a day before the purchase.

Where GA4 did follow buyers across visits, they took their time. On the Journeys sheet, journeys with 2 to 3 touches hold 12.2% of revenue, with 12.5 days to buy. Either most buyers here decide within hours, or GA4 meets them late. The export cannot say which.

It cannot show the visits it never recorded. A shopper who met your ad on a work laptop and bought from a phone that evening looks like a stranger here. So does a regular who never needed an ad at all.

Why does the usual answer mislead?

Because it describes Shopify's default, not GA4. Shopify's Last click model gives all the credit to the last channel a customer interacted with, direct visits included. Shopify's help says reports select Last click by default once they pair a sales metric with a marketing dimension.

GA4 runs the opposite rule. Google's help says all GA4 attribution models exclude direct visits from credit, unless the path to the key event is entirely direct. In Google's own example, a path of display, social, paid search and then a direct visit sends all the credit to paid search.

GA4's session reports follow the same idea. Sessions use last non-direct click, so a bookmark visit inside the lookback window keeps the earlier source's name in Traffic acquisition. One order can be Direct in Shopify and Paid Search in GA4, and both tools are reading their own manuals correctly.

That changes what the number means. In Shopify, part of Direct's last-click share is a setting: choose Last non-direct click and the typed closes go back to the channel before them. In GA4, Direct's share is a memory gap. GA4 credits Direct when it has nothing earlier to credit.

Three things wipe that memory:

  • Time. Touches older than the lookback window drop out of the path. For purchases you can choose 30, 60 or 90 days, and a change only applies going forward.
  • Identity. GA4 recognises a web visitor by a device ID kept in its cookies. A new browser, a new device or a cleared cookie makes a new visitor. When someone declines analytics cookies, GA4 sets none, so their visits cannot join up.
  • Labels. A link with no UTM tags, from an email, a chat or a PDF, arrives with no source. GA4 has nothing to remember, so the visit is Direct from its first touch. The guide to direct traffic in GA4 lists the usual leaks.

What can the Direct number not tell you?

It cannot tell a regular from a lost lead. A loyal customer types your address. A prospect's ad click goes missing on another device. Both land in the same row, with the same credit.

It cannot tell you what any channel caused. Credit only divides sales that already happened. If your ads feed the visits GA4 cannot connect, pausing them would shrink Direct too, and no attribution report shows by how much.

It cannot be bought. There is no Direct campaign to scale and no Direct budget to cut. Moving money because Direct looks strong means moving it on the strength of a missing label.

What to do this week

  1. Check how long GA4 remembers. In Admin, under Data display, click Events, then Attribution settings, and read Key event lookback window. Pass: purchases use 90 days, the longest choice. Fail: they use 30 or 60, so more returning visits fall back to Direct; switch to 90 and write down the date.
  2. Measure the revenue GA4 only ever saw as Direct. Click Advertising, then Attribution models under Attribution, and pick purchase. GA4 fills the Direct row with all-direct paths, plus key events that carry no path data, such as imported ones. Pass: Direct is a minor row. Fail: it is your biggest row, so the trail starts off the record and tags and identity come first.
  3. See whether GA4 can follow signed-in buyers. Open Reports > Acquisition > Traffic acquisition, click + Create new in the top right and build a comparison on Signed in with user ID. Pass: signed-in users show up, so GA4 can join their devices. Fail: none do, so every new device starts a fresh journey; ask your developer to send a user ID at sign-in.

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: Get started with attribution (Google); Select attribution settings (Google); User acquisition report vs. Traffic acquisition report (Google); Identify unwanted referrals (Google); Key event attribution models report (Google); Reporting identity (Google); Consent mode on websites and mobile apps (Google); Measure activity across platforms with User-ID (Google); Apply comparisons to reports (Google); Traffic acquisition report (Google); Marketing reports (Shopify).

Frequently asked questions

  • Will switching GA4 to data-driven take credit away from Direct?
    No. Google says every GA4 attribution model excludes direct visits unless the path to the key event is entirely direct. An all-direct path has nothing else to share, so Direct keeps the same revenue under data-driven and last click. Only the other channels trade credit.
  • Does a longer lookback window take credit away from Direct?
    Somewhat, and only from the change onward. A longer window lets GA4 pass more returning typed visits to the source before them. For purchases, 90 days is both the default and the longest choice. No window helps a buyer whose earlier visit was on another device or untagged.
  • Can customer logins stop Direct taking last-click credit?
    Partly. If your site sends GA4 a user ID at sign-in, and your reporting identity is Blended or Observed, GA4 can join their devices. Shoppers who never sign in, or who decline cookies, still arrive as strangers.

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.