Skip to content

Is direct traffic returning customers?

Usually only in part. Direct mixes loyal buyers with newcomers whose link lost its source. GA4 also credits many regulars' typed-in visits to the ad or email they clicked in recent months. Check Shopify's order history before you call Direct your loyal base.

By , Founder & CEOUpdated 6 min read

Run the numbers for your store: the free UTM coverage calculator.

Usually only in part. Direct holds visits that arrived with no readable source: some loyal buyers typing your address, plus newcomers whose link lost its tracking tags. If a past customer clicked your ad or email in recent months, GA4 usually credits their typed-in visit to that click. So many regulars never show as Direct at all.

What one store's data shows

The popular answer pictures your regulars typing your address from memory. If that were the whole story, a GA4 export would carry a telltale pattern. One store's file lets you check.

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 to 3 touches row

On the Channels sheet, Direct takes 57.7% of revenue in all three views. It does not budge between last click, first click and touched. So the journeys that touched Direct also started and ended with it, to the nearest tenth of a percent.

That matches a rule in Google's help: GA4 attribution models give direct visits credit only when the whole path is direct. Read that way, the Channels sheet says 57.7% of this store's revenue came from paths with no other channel on them. No ad click, no email click, no search click.

Now hold the regulars theory up to that. Picture a customer you first won with an ad, who comes back weeks later by typing your address. GA4 files a direct entrance under the campaign it already holds for that person, as long as that click sits inside the lookback window. The sale lands on the ad's row, not on Direct's.

So this store's Direct money comes from three kinds of buyer. Regulars whose last campaign click is older than the window. Regulars GA4 no longer recognises, because they switched phones or their cookie ran out. And newcomers whose source got lost on the way in. The export cannot say which kind is biggest: it carries no order history at all.

The Journeys sheet adds a clue, not a verdict. On the Journeys sheet, single-touch journeys hold 79.5% of revenue and took 0.5 days to buy. The Journeys sheet puts journeys of 2 to 3 touches at 12.5 days. Buying within half a day looks like someone who already knew what they wanted. A returning customer fits that. So does a stranger who got a link from a friend.

Why does the loyal-customer answer mislead?

Because GA4 and your shop mean different things by "returning".

GA4 counts Returning users as people with at least one earlier session, whether those visits were engaged or not. Nothing in that definition needs a purchase. A shopper who browsed twice and never bought is a returning user.

And GA4 recognises a browser, not a person. Google's help says its tags use first-party cookies to tell users apart. Browsers cap how long such a cookie lives without a return visit: 7 days for Safari, 400 days for Chrome. A regular who reorders monthly from Safari can look brand new every time. Unless you send GA4 a user ID for signed-in buyers, a new phone means a new person too.

Shopify keeps a different ledger. Its New vs returning customers report calls a customer returning when their order history already includes an order. That follows the customer record, not the browser.

Put together, Direct is a poor stand-in for loyalty. It loses regulars GA4 can tie to a recent click. It keeps strangers whose link lost its source. And it can count a loyal buyer on a fresh cookie as somebody new. Three errors, pointing three ways, in one row.

What can Direct never tell you about your regulars?

Whether a buyer had ordered before. Attribution reports carry no order history, so that answer lives in Shopify, not in GA4's paths.

Whether your marketing brought them back. A regular who read your newsletter and then typed your address lands in Direct. The email did the work and got none of the credit. A holdout, where some customers skip the email for a while, is the cleanest way to see what the email caused. Incrementality testing covers how.

Whether loyalty is growing. A jump in Direct can be a tagging slip, a viral post or a press mention. None of those is a repeat customer.

What to do this week

  1. Split Direct's buyers into first-time and repeat. In GA4, click Explore and pick the Free form template. Put Session default channel group in Rows, and Total purchasers and First time purchasers in Values. Pass: first-time purchasers are a minority of the Direct row, so Direct leans on repeat buyers. Fail: they are the majority, so Direct is mostly new buyers with a lost source; fix your tags first.
  2. See how many of your buyers use Safari. In GA4, open Reports > Tech > Tech details and read key events by Browser. Pass: Safari carries a small share, so cookie expiry hides fewer of your regulars. Fail: Safari carries a big share, so many monthly regulars can look new; trust Shopify's customer counts over GA4's.
  3. Check how GA4 tells people apart. In GA4, go to Admin > Data display > Reporting identity. Pass: Blended or Observed is selected, so any user ID your store sends gets used. Fail: Device based is selected, so GA4 ignores any user ID you collect; switch to Blended and click Save.

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); Scopes of traffic-source dimensions (Google); Select attribution settings (Google); Analytics dimensions and metrics (Google); Cookie usage on websites (Google); Reporting identity (Google); Customers reports (Shopify); Free-form exploration (Google); Tech details report (Google)

Frequently asked questions

  • Does GA4 know which visitors are past customers?
    Only roughly. GA4 recognises browsers through a first-party cookie unless you send it a user ID. Its Returning users metric counts anyone with an earlier session, buyer or not. For a true list of repeat buyers, use Shopify's Returning customers report, which reads order history.
  • Do returning customers who open my emails end up in Direct?
    Sometimes. A tagged email click lands under Email. An untagged click, or a regular who reads the email and then types your address, lands in Direct. GA4 can still hand that direct visit to a campaign the same browser clicked earlier, inside the lookback window.
  • Should I treat direct revenue as retention revenue?
    Not without checking. Direct mixes repeat buyers with first-time buyers whose source got lost, and GA4 moves many regulars to the campaign they last clicked. Track retention with Shopify's New vs returning customers report, and treat Direct as revenue without a known source.

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.