Revenue Attribution for Ecommerce: How to Tie Marketing Spend to Actual Revenue

David Lopes

TL;DR

  • Revenue attribution ties each order back to the marketing that preceded it. The problem is not calculating it, it is that Meta, Google Ads, Google Analytics 4 and Shopify each report a different revenue number for the same day, and none of them is wrong on its own terms.
  • The model you pick matters less than two settings nobody checks. The lookback window decides which touchpoints are eligible for credit, while the model only decides how credit is split among the ones that qualified. Confusing the two is why a channel appears or vanishes overnight.
  • Polar closes the gap between claimed revenue and real revenue. Polar Pixel runs server-side inside Shopify with Lifetime ID stitching journeys across devices, so conversions reconcile to your actual order count. Ten attribution models, including a Shapley-based Full Impact model, run against contribution margin rather than top line, and Causal Lift proves the channels worth arguing about.

Revenue attribution assigns each sale to the marketing that produced it. That sounds like a reporting problem. It is really a disagreement problem, because on any given day Meta Ads Manager, Google Ads, Google Analytics 4 and Shopify will each hand you a different revenue number for the same store, and none of them is lying.

The question that matters is not which tool is right. It is which number you run the business on, and why. This guide covers what revenue attribution is, how it differs from sales attribution and conversion tracking, the ten models you can apply and where each one misleads you, the two settings that move your answer more than the model choice does, and how to grade channels on margin instead of revenue.

Start with the centrepiece below. One customer, one order, five attribution models, five different answers.

Touchpoint in the journey First Click Last Click Linear Time Decay U-Shaped
1TikTok paid adDay 1, first discovery $180 $0 $36 $21 $72
2Organic searchDay 3, researched the brand $0 $0 $36 $26 $12
3Meta retargeting adDay 6, came back $0 $0 $36 $35 $12
4Klaviyo emailDay 9, welcome flow $0 $0 $36 $46 $12
5Branded searchDay 10, typed the name, bought $0 $180 $36 $52 $72
One $180 order, five verdicts $180 $180 $180 $180 $180

Every column adds to the same $180, because the order only happened once. But TikTok earns the entire order under First Click and nothing at all under Last Click. Branded search does the reverse. If you cut TikTok because a last-click report said it produced no revenue, you cut the channel that found the customer. Figures rounded to the nearest dollar.

What is revenue attribution?

Revenue attribution is the practice of tying realised revenue back to the marketing touchpoints that preceded it, so spend can be judged on money rather than on clicks. It answers a narrow question: of the revenue that landed, how much should each channel, campaign and ad be credited with? Amplitude files the term under the same definition in its analytics glossary.

Two things distinguish it from the metrics sitting next to it in your dashboard. It starts from the order rather than from the ad, and it distributes credit across a journey rather than stamping a single source on a session. Shopify frames the same idea as the way to see how effective each marketing channel really is, and reports that 90% of US sales and marketing teams see a disconnect between their departments.

Attributed revenue is the output: the dollar amount a model assigns to a given channel over a given window. It is a calculated figure, not an observed one. Two honest tools running two different models on identical data will produce different attributed revenue, and both will be correct on their own terms.

Revenue attribution vs sales attribution

Sales attribution and revenue attribution are usually the same practice under two names, and the name tells you who is asking. Sales attribution is the term used where a person closes the deal, so credit gets traced through leads, opportunities and a pipeline. Revenue attribution is the term used where the checkout closes the deal, so credit gets traced through sessions and orders.

For a Shopify brand the distinction collapses: there is no rep, the order is the conversion, and the journey is measured in days rather than quarters. That is why most of the material ranking for these terms reads oddly if you run an ecommerce store. It was written for a sales cycle you do not have.

Revenue attribution vs conversion tracking

Conversion tracking records that an event happened. Revenue attribution decides who gets paid for it. A pixel firing on a purchase is conversion tracking. Deciding that the purchase belongs 40% to the first ad and 40% to the last is attribution.

The practical difference is that conversion tracking can be complete and still useless. You can capture every order and still misallocate the entire budget, because capture is a data question and credit is a modelling question.

Why revenue attribution breaks in ecommerce

Attribution in ecommerce fails for two reasons that have nothing to do with the model you picked. The reporting parties are not neutral, and the underlying tracking has holes that no model can patch.

Ad platforms grade their own homework

Meta, Google and TikTok each decide, using their own click and view windows, which orders they caused. They are measuring their own performance, and the measurement drives your next budget decision. Add the platforms together and the total will exceed what Shopify recorded, because the same order gets claimed more than once.

This is structural, not a bug or a setup error. A platform that counts a view as a touch and a competitor's click as irrelevant will always find itself effective. We wrote up how far that gap runs in practice in the hidden gaps in Shopify attribution.

Two kinds of tracking gap

Worth separating, because only one of them is yours to fix.

  • Fixable gaps are setup problems. Tags firing on the wrong event, a missing app embed, filters excluding traffic you wanted, campaigns without UTM parameters, a sales channel that carries no link data. These produce an inflated share of unattributed orders, and they respond to configuration.
  • Structural gaps come from how the tools work. When a shopper declines cookies, sees the ad on a phone and buys on a laptop, or blocks the platform script outright, a third-party pixel has nothing to record. Google Analytics 4 fills part of that hole with a modelled estimate, which is a guess presented in the same column as a measurement.

The fixable set is worth an afternoon. The structural set is the reason first-party tracking exists: a pixel running server-side inside Shopify's own environment still sees the order when the platform tag does not.

The three revenue numbers that never match

Ask four systems what yesterday's revenue was and you get four answers. Below is the shape of it for an illustrative store on an illustrative day, which is the pattern rather than any particular brand's data.

Source What it actually counts Revenue Reconciles to orders?
Meta Ads Manager Orders Meta believes it caused, on its own click and view windowsIncludes view-through conversions $14,200 No
Google Ads Orders Google believes it caused, counted independently of MetaOverlaps with the row above $9,400 No
Google Analytics 4 Sessions that survived consent and stayed on one device, plus modelled estimates for the rest $18,100 Partly
Shopify Orders that actually happenedGround truth on revenue, silent on cause $22,600 By definition
Polar Pixel The same orders, deduplicated across every channel and split by the model you chose $22,600 Yes

Meta and Google together claim $23,600 against $22,600 of real orders. They have not each invented revenue; they have both counted some of the same orders. The test of an attribution system is not how much revenue it finds, it is whether its conversion count ties back to your order count. If a brand has 1,000 orders in Shopify, a deduplicated first-party pixel shows exactly 1,000 conversions and then argues about how to split them. A platform-reported view shows more. Attribution gives the same advice from the other direction, recommending deterministic attribution over probabilistic modelling.

Worth saying plainly, because it is the most common misreading: when two attribution tools disagree, the cause is usually definitional rather than one of them being broken. Different lookback windows, different time zones, different treatment of returns, one counting sessions and the other counting orders. Compare like for like before concluding a tool is wrong.

The ten revenue attribution models, and where each one misleads

A revenue attribution model is a rule for splitting credit among the touchpoints that qualified. Polar ships ten of them, in two groups: models that consider every touchpoint, and models that only consider paid ones.

ModelHow it splits creditWhere it misleads you
All touchpoints
First Click100% to the first interactionFlatters discovery channels, hides everything that closed the sale
Last Click100% to the final clickFlatters branded search and email, starves the channels that created demand
LinearSplit evenly across every touchpointTreats a passing visit and a decisive one as equals
Time DecayMore credit the closer a touch sits to the orderSystematically underrates upper funnel work with long consideration cycles
U-Shaped40% first, 40% last, 20% shared across the middle good defaultThe 40/40/20 weighting is a convention, not a measurement of your store
Full ImpactShapley values: each touchpoint scored on its estimated marginal contributionHardest to explain to a finance team, and it needs enough volume to be stable
Paid touchpoints only
Linear PaidSplit evenly across paid touchpointsIgnores organic and lifecycle entirely, so paid looks like the whole business
Full Impact PaidShapley values across paid touchpoints onlySame blind spot, applied more precisely
Platform Overlap100% to the last touch of each paid platform separatelyDeliberately double counts, so it will not tie to your order count
Platform Overlap + view-throughAs above, plus Meta's self-reported view-through conversionsThe only model here that is not click based

Single-touch models

First Click and Last Click are the two you already have, because the ad platforms and Google Analytics 4 default to variations of them. They are useful as bookends. Run both, and the spread between them tells you how much of your revenue depends on a journey rather than a single ad.

Multi-touch models

Linear, Time Decay, U-Shaped and Full Impact all spread credit across the path. U-Shaped is the honest starting point for most Shopify brands, because discovery and the closing touch genuinely do most of the work and the model says so without pretending to have measured it. Dotdigital publishes the same 40/40 split for what it calls the positional model, alongside a default five day attribution window.

Full Impact is the one worth graduating to. It uses Shapley values, borrowed from cooperative game theory, to estimate what each touchpoint added rather than applying a fixed weighting. It returns fractional conversions, so a channel can be credited with 7.28 orders, which is a feature: the fraction is the honest answer.

Paid-only and platform-overlap models

Paid-only models answer a narrower question: among the paid touches, what deserves credit? Useful when you are allocating a media budget and organic is not a lever you control this week.

Platform Overlap deserves a warning. It gives every paid platform full credit for its own last touch, which reproduces the double counting you see in the ad managers. That is the point of it: it exists to reconcile against what the platforms report, not to tell you the truth. Do not run a P&L off it.

If you want the longer breakdown of each model with worked ecommerce examples, we covered nine of them in marketing attribution models for Shopify brands.

How to calculate revenue attribution

The calculation itself is arithmetic. Getting the inputs right is the work.

  1. Pick the conversion set. Every order in the period, from Shopify, net of cancellations. This is your denominator and it should never come from an ad platform.
  2. Assemble each order's path. Every touchpoint tied to that customer inside the lookback window, in sequence, stitched across devices and sessions.
  3. Filter to eligible touchpoints. Apply the lookback window and, if you are running a paid-only model, drop the organic touches.
  4. Apply the model weights. For U-Shaped on the five-step journey above: 0.4, then 0.2 divided by three across the middle, then 0.4.
  5. Multiply by order value and sum by channel. Attributed revenue per channel is the sum of every weight it earned times the value of the order that weight came from.

Then divide to get the ratios you actually manage against. Attributed revenue over channel spend gives an attribution-based return on ad spend, which is a different and more defensible figure than the one in Ads Manager. The formula is trivial; the reason two teams get different answers is always step 2 or step 3, never step 4.

The settings that change your answer more than the model does

Most arguments about attribution are really arguments about configuration. Three settings move the numbers more than switching models does.

Lookback window

The lookback window sets how far before an order a touchpoint can sit and still qualify for credit. This is the single most misunderstood control in attribution, so it is worth being precise: the window changes which touchpoints are eligible, and the model changes how credit is split among the ones that qualified. They are separate decisions and they are often confused for each other.

Widen the window from 7 days to 90 and upper-funnel channels appear out of nowhere. Nothing changed in your marketing, only the eligibility rule. Pick a window that matches how long people actually take to buy your product, then leave it alone, because every change re-cuts your history.

Paid only

Restricting eligibility to paid touchpoints answers "what did my media buy do" instead of "what produced this order". Both are legitimate. Reporting one and labelling it the other is how organic and lifecycle revenue quietly gets billed to Meta.

Cash versus accrual

Attribute revenue on the day the order was placed, or on the day the money was recognised? Marketing tends to want the order date, finance tends to want recognition. Neither is wrong, and a report that silently switches between them will not reconcile with either team's numbers.

The touchpoints no pixel can see

Some demand arrives through channels that leave no click. A practitioner recommends the product, a friend mentions it, someone hears it on a podcast, a shopper sees a connected TV spot and searches the brand a week later. A click-based model records the branded search and credits it with the whole order, which is precisely backwards.

Post-purchase surveys as real touchpoints

The one-question survey after checkout is the only signal that captures channels no tracking can reach. Treated properly, an answer is not a separate report, it is a touchpoint: the response enters the customer's journey as a last touch and shows up in the channel breakdown next to paid and organic.

Surveys and pixels disagree for a reason worth understanding: surveys capture what the customer remembers, pixels capture what happened. Recall skews toward the most recent and the most memorable, so a survey over-credits the influencer and the podcast, and a pixel over-credits whatever was clicked. Run both and treat the disagreement as information.

View-through, connected TV and offline

Impressions from connected TV, direct mail and offline placements can be ingested as touchpoints rather than left out of the model. Third-party checkout providers that bypass a store's own pixel are the other common hole: those providers pass their own attribution data with the order, and it can be extracted and added to the path as the final touch.

None of this is a substitute for measuring incrementality. When the question is strategic rather than tactical (is branded search cannibalising organic, is a channel adding anything at all) the answer comes from a holdout test, not from a credit-splitting rule. Twin-geo causal lift compares matched regions with and without exposure and reports the difference at a stated confidence level. Attribution tells you who to credit. Incrementality tells you what would have happened anyway.

Attribute to profit, not just revenue

Revenue attribution graded on revenue alone will tell you to scale campaigns that lose money. A campaign selling heavily discounted, high-return, expensive-to-ship products can post an excellent return on ad spend and still reduce profit on every order.

The fix is to run the same attribution logic against contribution margin. Once cost of goods, shipping, fulfilment and transaction fees sit alongside the order, credit can be assigned in margin rather than in top line, at channel, campaign, ad set and ad level:

  • CM1: revenue after cost of goods
  • CM2: CM1 after marketing spend
  • CM3: CM2 after platform and transaction fees
  • CM4: CM3 after remaining variable costs

Profit on ad spend is then just return on ad spend with the margin included, and it reorders your channel ranking more often than people expect. This is also the version of the number a finance team will accept, which is the difference between an attribution report that changes a budget and one that gets argued about. NetSuite, citing Nielsen's 2025 Annual Marketing Report of around 1,400 respondents, puts the share of marketers who say they can measure media spend across digital and traditional channels together at 32%.

Why revenue attribution matters more in 2026

Attribution used to be a reporting exercise that a sceptical operator could reasonably ignore, on the grounds that the ranking of channels was roughly stable and judgement filled the gaps. That defence has expired, for a simple reason: automated systems now act on these numbers, and they have no judgement to fill the gaps with.

Budget rules, bid automation and agents making allocation decisions all consume attributed revenue as an input. Feed a platform-reported number into an automated allocator and it will keep buying the channel that claims the most credit, which is the channel with the loosest counting rules. The brands that dismissed attribution as a dashboard argument are now the ones who need it precise, because something is executing against it without being asked twice.

The same logic applies to the model choice. A rule that shifts spend on the basis of last-click revenue will converge on branded search and email, defund discovery, and then report improving efficiency while the top of the funnel empties.

How to roll out revenue attribution without boiling the ocean

A workable sequence, in order, each step useful on its own:

  1. Fix capture before you argue about credit. Install first-party tracking that runs server-side, confirm the app embed is live, and get your unattributed share down. A model applied to incomplete paths produces confident nonsense.
  2. Reconcile to Shopify. Conversions should equal orders. If they do not, stop and find out why before anyone presents a channel report.
  3. Set the window to your real purchase cycle, then stop changing it.
  4. Run First Click and Last Click side by side for a fortnight. The gap between them is the size of the problem you are solving.
  5. Move to U-Shaped as the default, and keep the single-touch views for diagnosis.
  6. Add margin. Re-rank channels on contribution margin and expect the order to change.
  7. Test the big claims. Where a channel's credit drives a material budget decision, prove it with a holdout rather than a model.

Choosing where the numbers come from is its own decision, and it is worth doing deliberately: we compared attribution tools on data quality, auditability and touchpoint capture rather than on feature lists. The one property to insist on is access to the raw attribution log. If you cannot audit a single order's touchpoints end to end, you are being asked to take the credit split on faith.

FAQ

Attributed revenue is the share of realised revenue that a model assigns to a given channel, campaign or ad over a chosen window. It is calculated rather than observed, so the same orders produce different attributed revenue under different models. Always state the model and the lookback window next to the figure, because the number is meaningless without them.
You calculate marketing revenue attribution by taking every order in the period, rebuilding each order's touchpoint path, filtering to the touchpoints inside your lookback window, applying the model's weights, then multiplying each weight by the order value and summing by channel. Under a U-Shaped model the first and last touches take 40% each and the middle touches share the remaining 20%. The arithmetic is simple; the accuracy depends entirely on how completely you captured the paths.
The purpose of revenue attribution is to decide where the next unit of budget goes, using money rather than clicks as the measure. It replaces each ad platform's self-assessment with one deduplicated view that ties back to your actual order count. Without it you are allocating spend using numbers supplied by the parties being graded.
Conversion tracking records that an order happened and revenue attribution decides which touchpoints get credited for it. Conversion tracking is a data capture problem, attribution is a modelling problem, and they fail independently. Complete conversion tracking with a badly chosen model still misallocates budget.
The difference between revenue attribution and sales attribution is mostly vocabulary and who is asking. Sales attribution traces credit through leads and opportunities where a person closes the deal, while revenue attribution traces credit through sessions and orders where the checkout closes it. For an ecommerce brand the two collapse into the same practice, which is why most content written for sales attribution assumes a pipeline you do not have.
Meta reports more revenue than Shopify because it counts every order it believes it influenced, including view-through conversions, on windows it sets itself, with no knowledge of what other channels also claimed. Add Meta, Google and TikTok together and the total exceeds your real orders, since the same order is claimed several times. Shopify is the ground truth on how much revenue arrived; the attribution question is only how to divide it.

Table of contents

Make strategic decisions in minutes

See every metric that matters, in one place.

Book a demo

Ecommerce Benchmark

4,000+ brands, refreshed weekly.

See the benchmark

Frequently asked questions

Ready to stop guessing and start growing?

Make strategic decisions in minutes, not weeks.

Book a demo