Why your Shopify attribution numbers disagree

Last reviewed 15 August 2026

Short answer

Shopify offers five attribution models and defaults to last non-direct click, which gives all credit to the final non-direct channel before a sale. Switching to first click can reassign that same sale to a different channel entirely. Neither answer is wrong. Attribution also resets if a visitor does not buy within 30 days.

The five models, and what each is for

Attribution is not a measurement. It is a rule for dividing credit among things that all happened, and Shopify documents five different rules. The report does not change when you switch between them. The answer does.

ModelRuleBest used for
Last non-direct click (default)All credit to the last channel before purchase, excluding direct visitsJudging what closes sales
Last clickAll credit to the last channel, including directRarely useful, direct absorbs credit
First clickAll credit to the first channel, including directJudging what creates demand
Any clickFull credit to every channel the customer clickedSeeing which channels participated at all
LinearEqual credit split across every click in the journeyA compromise when no single answer is right

The same sale, three different owners

A customer finds you through a Google search on a Monday, sees an Instagram ad on the Thursday, clicks a link in your newsletter the following Tuesday, then types your URL directly and buys.

Under last non-direct click, the default, the newsletter gets the sale, because the direct visit is excluded and email was the last real click. Under last click, direct gets it, and the sale disappears from every marketing report you own. Under first click, organic search gets it. Under any click, all three claim it, and your channel totals now sum to more than your revenue.

Nothing in that sequence is ambiguous. Every event is known. The disagreement is entirely about the rule, which is why arguing about whether attribution is "accurate" is the wrong argument. The right question is whether the rule you have selected matches the decision you are about to make.

The 30-day reset, and who it penalises

Shopify documents an attribution window: if a visitor does not buy anything within 30 days of a session, the first interaction referrer is reset.

For an impulse category this is invisible. For anything with a real consideration cycle, furniture, electronics, high-ticket apparel, B2B supplies, it systematically transfers credit away from whatever created the demand and towards whatever happened to be nearby at the end.

The effect is not random, it is directional. Discovery channels look weaker than they are and retargeting or email looks stronger, because the closing channel is always inside the window and the discovery channel often is not. If your average consideration period is longer than a month, your first-click report is not measuring first click.

Direct is your biggest channel and mostly not a channel

Shopify defines direct precisely: the customer entered your store URL into their browser. It defines unknown as a referrer source that fits none of the other cases, and lists causes including do-not-track, proxies and firewalls, and shortened URLs.

Both definitions are honest and both buckets are much larger than typed-URL traffic. Research published by SparkToro with Really Good Data in April 2023 tracked how much referrer information survives across platforms. The sample is small, roughly 100 participants and 1,113 visits across 10 days, and that should be stated whenever the numbers are, which is almost never.

Where the link was clickedShare arriving as direct
TikTok, Slack, Discord, Mastodon, WhatsApp100%
Facebook Messenger75%
Instagram DM30%
LinkedIn public post14%
Pinterest12%
YouTube, public Instagram, public Facebook, public tweetsMostly retained referrer

Where this is genuinely hard, and where Seam does not help

Attribution cannot be fixed, only chosen. There is no configuration that recovers a referrer a messaging app never sent, and no model that is correct in a way the others are not.

Seam reports what Shopify journey data says, including first-visit and last-visit source where both are available, because the gap between them is usually the interesting part. That does not make either one true. Every limit on this page applies to Seam exactly as it applies to the reports, and any tool telling you otherwise is selling confidence rather than data.

The workable stance is to pick one model, keep it, and read changes rather than levels. A channel that doubled under a consistent model has probably done something. A channel that looks large under one model and small under another has told you about the model.

Common questions

What attribution model does Shopify use by default?
Last non-direct click. It gives all credit to the last channel the customer interacted with before buying, excluding direct visits. Shopify also offers last click, first click, any click and linear.
Why does my Shopify attribution not match my ad platform?
Ad platforms attribute using their own windows and their own view of the click, and usually count conversions they believe they influenced. Shopify applies one selected model to the journey it observed. Both are internally consistent and neither is auditable against the other.
What is the Shopify attribution window?
Thirty days. Shopify documents that if a visitor does not buy within 30 days of a session, the first interaction referrer is reset, so discovery channels lose credit on long consideration cycles.
Why is direct traffic so high in my Shopify reports?
Because direct absorbs everything that lost its referrer, not just typed URLs. Links shared through messaging apps frequently arrive with no referrer at all, and Shopify has nowhere to file them except direct or unknown.

Related

Sources

one email. the thing that changed.

Seam reads your store every day and sends one paragraph about what actually moved. No dashboard to open.

Install on Shopify