An attribution model in marketing is the rule that decides which touchpoint gets credit for a sale — first click, last click, or a split across the whole journey. None of them is "correct." Each is a lens with a known bias, and the budget mistake most store owners make is trusting one lens as if it were the truth. The pro move is knowing each bias and checking all of them against one number no model can game: your blended profit.

You run ads on Meta and Google. Meta claims a sale, Google claims the same sale, and your Shopify report credits branded search. They can't all be right — and the model you happen to be looking through is quietly steering your budget.

This guide explains every attribution model, names the bias baked into each one, and shows what to actually do when the numbers disagree. For the full system view, see our attribution and tracking guide.

What an attribution model actually is

An attribution model answers one question: when an order has several touchpoints behind it, which one gets credit? A shopper might see a prospecting ad, scroll past a retargeting ad, click an email, then search your brand name and buy.

Five touchpoints, one sale. The model is the rule that splits that single order's credit among them.

Here is the part the glossary pages skip: the model doesn't change your revenue. It only changes which channel looks like the hero — which is exactly why a bad model quietly drains budget from the channels that actually build demand.

The models, one by one — and the bias in each

First-touch (first-click). All credit to the first interaction. It overweights discovery channels and ignores whatever closed the sale — good for "what introduces new customers?", useless for judging closers.

Last-touch (last-click). All credit to the final interaction before purchase. It overweights retargeting, branded search, and email, and it has driven more bad budget calls than any other model because it makes demand-harvesting channels look like demand-creators.

Last non-direct click. Last-click, but it skips "direct" visits and walks back to the most recent real referrer. This is Shopify's default order model over a thirty-day window, per WeltPixel's breakdown of Shopify attribution.

Linear. Equal credit to every touchpoint. It treats a three-second video view and the search that closed the sale as equals — fair-sounding and rarely actionable.

Position-based (U-shaped). Roughly forty percent to the first touch, forty percent to the last, and the rest spread across the middle, as the ReferralCandy 2026 attribution guide lays out. A compromise for owners who want discovery and closing visible at once.

Time-decay. More credit to touchpoints closest to the purchase. It systematically talks you out of upper-funnel spend, because awareness always sits early.

Data-driven (DDA). A machine-learning model — GA4's default — that learns each channel's contribution from your own conversion paths and splits one order fractionally, say 0.4 / 0.35 / 0.25. It's less arbitrary than rule-based models, but it's a black box, and that same ReferralCandy guide cites a common practitioner floor of around three hundred conversions a month before its splits stop wobbling with noise.

One honest caveat: for a one-session impulse buy, first-touch and last-touch are often the same event, and model choice barely matters. It matters in proportion to how long your customer journey is.

Why no two of your tools will ever agree

Each platform asks a different question of the same order, so their channel rows can't reconcile — and no setting makes them.

Tool Default model Lookback
Shopify Analytics Last non-direct click 30 days
GA4 Data-driven (DDA) Key-event based
Meta Ads Manager Its own self-credit 7-day click / 1-day view
Google Ads Data-driven self-credit In-platform

Sources for the row above: WeltPixel on Shopify, and Google Analytics Help on GA4 — which also notes that GA4 removed first-click, linear, time-decay, and position-based models in November 2023, so you literally cannot pick those in GA4 anymore.

Meta and Google each grade their own homework. Never use one platform's self-credited number to compare against another's. Our deep dive on the best attribution modeling for marketing walks through which lens to lean on for which decision.

The reason last-click got less reliable

Click-based tracking quietly degraded, and it wasn't your fault. Apple's privacy changes broke the plumbing.

At the launch of iOS App Tracking Transparency in 2021, roughly ninety-six percent of US iPhone users opted out of cross-app tracking per Flurry's data, which gutted the Meta pixel's view of iOS buyers. Then iOS 17 began stripping click IDs like fbclid and gclid from links opened in Apple Mail, Messages, and Safari private browsing — though, as Klaviyo explains, UTM parameters survive because they identify campaigns, not people.

This is not an edge case for a US store. Safari runs roughly fifty-five percent of US mobile sessions per StatCounter data summarized by Backlinko. The takeaway: click IDs are the fragile layer, your own UTMs are the durable one, and disciplined manual tagging matters more after 2023, not less — the mechanics live in our Klaviyo UTM tracking guide.

What to actually do when the numbers disagree

Model-shopping until a channel looks good is self-deception. Here is the operator playbook instead.

Fix the free layer first. Audit your UTMs for case drift, untagged links, and internal links that reset the session source. Most "mystery direct" traffic is a tagging problem, not a measurement mystery.

Give each tool one honest job. Shopify tells you how many orders and how much revenue — server-side truth. Platform dashboards are for comparing campaign A against campaign B inside the same platform, where the bias is identical on both sides.

Anchor on blended reality. Total ad spend ÷ total new-customer orders is your blended cost to acquire a customer, and total revenue ÷ total ad spend is your blended return. Computed from Shopify plus your real ad invoices, those two numbers cannot be reshuffled by any attribution model.

If platform ROAS climbs while your blended numbers sit still, no sale was created — credit was just moved around.

A worked example

Say you run a store doing 340 orders a month at a $31 average order value, with $2,800 a month in Meta spend. Meta's dashboard proudly reports a 4.2x return, mostly from a retargeting campaign.

Your blended check: 340 orders × $31 = $10,540 in revenue. If Meta is your only paid channel, blended return is $10,540 ÷ $2,800 = 3.76x — already below the 4.2x Meta claims, because the platform counts buyers who were coming back anyway.

Now the profit layer the dashboards never show. Say each order carries $14 of product and shipping cost from your supplier and about $1.20 in payment fees, leaving $15.80 of margin before ads. Across 340 orders that's $5,372 of product margin; subtract the $2,800 in ad spend and you're at $2,572 in true profit — a very different story than "4.2x" suggests.

That gap between platform ROAS and real profit is where budgets quietly bleed. Retargeting is the classic culprit: incrementality research from Haus shows platform-reported ROAS on retargeting is typically the most inflated relative to the sales it actually caused, because the audience was already headed to checkout.

Where Victor fits

Victor is PodVector AI's senior AI employee, and he solves the exact problem attribution models create: scattered, conflicting numbers. He connects your Shopify store, Meta Ads, and Google Ads, so he sees every order, every ad dollar, and every supplier cost from Printify, Printful, and Gelato in one place.

That lets Victor compute the true per-order profit on each product — the model-proof number the worked example above had to assemble by hand. Victor is not a dashboard; he acts on what he finds. He pauses the retargeting ad set that looks great on Meta but loses money on a blended basis, shifts budget toward the campaigns that actually lift profit, and builds the Klaviyo flows that recover the margin last-click never credited.

Want the real profit under your attribution numbers? See what Victor finds in your store.

FAQs

Which attribution model is best for my store?

There is no single best model — that's a malformed question. Each is a biased lens, so the right approach is to read several and anchor every budget decision on blended cost-per-acquisition and blended return, which no model can distort. Use last non-direct click for a quick Shopify read, and treat platform numbers as in-channel comparisons only.

Why does Meta say one number and GA4 say another?

Because they're answering different questions about the same order. Meta self-credits on a seven-day-click window, while GA4 defaults to data-driven attribution, per Google Analytics Help. Their channel rows will never match, and no setting makes them — so never compare one platform's self-credited number against another's.

Is last-click attribution bad?

It's not wrong, but it's biased toward closers like branded search, retargeting, and email, and it credits them for demand other channels built. It also over-reports "direct" on long journeys because Safari clips tracking cookies, as documented in Backlinko's browser-share data showing how much US mobile traffic runs on Safari. Read it alongside first-touch to see the upstream source.

Does data-driven attribution fix the problem?

It helps, but it's trained on click paths, so it inherits every blind spot of click tracking and adds opacity. It also needs volume — a commonly cited floor is around three hundred conversions a month, per ReferralCandy — below which its fractional splits are mostly noise.

What's the one number I should trust?

Blended profit: total revenue minus product cost, fees, and ad spend, computed from Shopify and your real ad invoices. It can't be gamed by switching models, which is exactly why it's the guardrail against fooling yourself. Victor computes it per order across Shopify, Meta Ads, Google Ads, and your print suppliers so you don't have to assemble it by hand.