Most "attribution model case study" articles end with a tidy win — a store switched models and lifted ROI. That framing hides the real case. For a store already running paid traffic, the interesting question is not "which model is best" but "what do I do when four tools disagree about the same sale?" This walks that case with operating numbers, and it pairs with the deeper attribution and tracking guide if you want the full map.
What an attribution model actually decides
An attribution model is a rule for assigning credit for one order across the touchpoints that preceded it. It changes who gets credit — never whether the sale happened or how much revenue it carried.
That distinction is the whole game. If switching models makes your favorite channel look better, nothing real changed in your bank account. You just picked a lens that flatters it.
Model choice only matters in proportion to how long your customer journey is. For a one-session impulse buy, the first touch and the last touch are often the same click, so the model barely moves the numbers. Journeys of eight to ten touchpoints — a commonly cited average — are where models diverge hard.
The models, and the bias each one hides
Each model answers the same question with a different rule, and each rule has a built-in tilt you need to name before you trust it.
First-touch and last-touch
First-touch hands all credit to the first interaction, which overweights discovery channels like prospecting ads and organic social and ignores whatever closed the sale (Shopify). Last-touch does the opposite — all credit to the final click — which makes retargeting and branded search look like heroes for harvesting demand other channels built (Kissmetrics).
Last-touch is the default in most tools because it is the easiest to compute, which is also why it has produced more bad budget calls than any other model.
Last non-direct click — what Shopify shows you
Shopify's default is last non-direct click over a thirty-day lookback: it walks back through the shopper's sessions and credits the most recent non-direct click, skipping "direct" visits (WeltPixel). An order only shows as "Direct" when no tagged referrer survived — the link was untagged, the cookie expired, or a payment redirect erased the source.
Rising Direct is usually a tracking-decay symptom, not brand love.
Linear, position-based, and time-decay
Linear splits credit evenly across every touch, which treats a three-second scroll-past and the branded search that closed the sale as equals. Position-based (U-shaped) weights the first and last touches heaviest. Time-decay favors whatever happened closest to purchase, which quietly talks you out of upper-funnel spend.
Data-driven attribution
Data-driven attribution (DDA) is a machine-learning model that splits credit fractionally based on your own conversion paths — one order can land as 0.4 / 0.35 / 0.25 across three channels. It is now the default in Google Analytics, which removed first-click, linear, time-decay, and position-based models in November 2023 and no longer lets you pick them.
DDA is less arbitrary than rule-based models, but it is a black box trained on clicks — so it inherits every blind spot of click tracking and needs volume to be stable. A commonly cited threshold is roughly three hundred conversions a month before its splits stop wobbling with noise.
A worked case: one store, five answers
Say you run a POD store doing 340 orders a month at a $31 average order value — that's $10,540 in monthly revenue. You spend $2,800 on Meta and $1,200 on Google, so $4,000 total ad spend.
Here is the problem every operator hits. Meta's dashboard claims a 4.2x return, which implies it drove 2,800 × 4.2 = $11,760 in sales. Google claims 3.1x, implying 1,200 × 3.1 = $3,720.
Add those platform claims together: $11,760 + $3,720 = $15,480 in "attributed" revenue — against $10,540 you actually took in. The platforms are claiming nearly $5,000 of sales that do not exist, because each one credits itself for buyers the other also touched.
Meanwhile Shopify's last-non-direct report crowns branded search, Google Analytics shows paid social driving half what Meta claims, and a post-purchase survey says "TikTok," where you run no ads at all. Five lenses, five stories, one set of 340 orders. None is lying on purpose — each is answering a different question about the same journey. For why the platform numbers can never reconcile, the tracking guide covers the window and dedup mechanics.
Why the numbers broke: the privacy layer
Part of the mess is Apple. Since iOS 17, Link Tracking Protection strips click IDs like fbclid and gclid from links opened in Apple Mail, Messages, and Safari Private Browsing — while leaving UTM parameters intact.
That matters because Safari is roughly fifty-five percent of US mobile sessions, per StatCounter data. For a US store, iOS tracking behavior is not an edge case — it is half your mobile traffic quietly fragmenting into "Direct."
App Tracking Transparency made it worse earlier: around ninety-six percent of US iPhone users opted out at launch, and the industry opt-in average was still only about thirty-five percent by mid-2025. The takeaway for the model case is simple: click IDs are the fragile layer, UTMs are the durable one — which is exactly why disciplined UTM tagging got more important after these changes, not less.
The case the ranking articles skip: blended numbers
Here is the move that resolves the five-answer standoff, and it is the one most attribution articles never make.
Fix the self-inflicted layer first. Most "mystery Direct" and "Unassigned" traffic is a tagging problem — case drift, untagged links, or UTM-tagged internal links that reset the session source. Audit your UTMs before you blame measurement; cleaning up how Google Analytics reads your tags is free and mechanical.
Give each tool one honest job. Shopify tells you how many orders and how much revenue — server-side truth. Platform dashboards are only for comparing campaigns inside the same platform. A survey tells you which zero-click channels (podcasts, organic social) that clicks never see. Confirmation-page surveys earn forty to sixty percent response rates, which makes them real data, not anecdote.
Then anchor to blended reality. Total ad spend ÷ total new-customer orders is your blended CAC; total revenue ÷ total ad spend is your blended ROAS. In the worked store, blended ROAS is $10,540 ÷ $4,000 = 2.6x — a number no attribution model can inflate, because it comes from your invoices and your Shopify revenue, not from any platform grading its own homework.
If platform numbers improve while that 2.6x stays flat, credit is being reshuffled, not created.
Reserve causal tests for the big claims. Only a holdout experiment measures what your ads actually caused. Meta's Conversion Lift needs at least a seven-day window and ten percent of the audience held out, and across an analysis of 640 Meta experiments, upper-funnel tests averaged thirty-four days. Causal answers are slow and cost forgone sales — run them on the one channel big enough that being wrong changes your budget, not on everything.
Where PodVector AI fits
The reason this is hard is that the numbers live in separate places. Victor, the AI employee inside PodVector AI, connects to Shopify, Meta Ads, Google Ads, and Klaviyo, so he sees every order, every ad dollar, and every supplier cost from Printify, Printful, and Gelato together.
That lets Victor compute the true per-order profit on each product and campaign — your product cost is known before the first sale, so profit is real, not a last-click guess. When a channel's blended contribution turns thin, Victor pauses the losing ad set, shifts budget on Meta and Google, reprices the squeezed SKUs in Shopify, and builds the Klaviyo flow that keeps your UTMs clean so the next month's attribution is less of a mess. He delivers the profit breakdown to your Google Drive.
Victor is not a dashboard you read and interpret. He does the work the attribution debate is supposed to inform.
FAQs
What is the best attribution model for ecommerce?
There isn't one, and promising one answers a malformed question. Every model is a biased lens; the professional move is to know each bias and triangulate across Shopify, Google Analytics, and a survey. If a model switch "improves" a channel, remember nothing real happened — only credit moved.
Why do Meta and Google both claim the same sale?
Because each platform credits itself for any conversion it touched, within its own window, with no knowledge of the other. That is why their claimed revenue, added together, routinely exceeds your actual Shopify revenue — as in the worked store, where platform claims summed to nearly $15,000 against $10,540 taken in. Never compare one platform's self-credited number against another's.
Is last-click attribution bad?
It is the most common source of bad budget decisions because it over-credits closing channels like branded search and retargeting at the expense of everything that built the demand. Branded search closes demand other channels created — someone had to make the customer search your brand. Last-click structurally hides that upstream source.
Did iOS kill UTM tracking?
No — that gets it backwards. Apple's Link Tracking Protection strips click IDs like fbclid and gclid, but UTM parameters survive. Disciplined manual UTM tagging became more valuable, not obsolete.
How do I know what my ads actually caused?
Attribution can't tell you — it only divides credit among touches it observed, and it can't see the counterfactual. Only a holdout or geo test measures causation, and a channel can win every attribution model while being non-incremental (retargeting is the classic case). Keep blended CAC and blended ROAS as your anti-self-deception guardrail.
Should I pay for a third-party attribution tool?
Maybe, once the free fixes are done — clean UTMs and a post-purchase survey solve most "mystery Direct." If you do evaluate paid platforms, weigh them against what native reports already give you in the attribution tools roundup before committing budget.