Attribution Models and ROAS: Why the Same Ad Spend Can Show 3 Different Numbers
by Trivas.ai
|
8 min read
Oct 04, 2026
Why Your ROAS Depends on the Model, Not Just the Spend
An attribution model is the rule set that decides which marketing touchpoint gets credit for a sale. ROAS is just revenue divided by ad spend. Simple enough on their own.
Here's the tension: you can spend the exact same $50,000, generate the exact same $150,000 in revenue, and still report a ROAS of 2x, 3x, or 4.5x depending entirely on which attribution model crunched the numbers. Nothing about the business changed. Only the math did.
That's the part most teams gloss over when they're staring at a dashboard and making budget calls. Attribution models roas discussions tend to get treated as a technical footnote, but they're actually the thing deciding which channels get funded next quarter.
Further down this page there's a free worksheet that lets you stress-test your own numbers across three different models in about 20 minutes, using your real spend and conversion data. More on that shortly.
The 6 Attribution Models Every Ecommerce Team Runs Into
Most teams only ever consciously use one or two of these. Worth knowing all six, because your ad platforms are quietly choosing among them for you.
Last-click (last-touch). Gives 100% of the credit to whatever touchpoint happened right before the sale. It's still the default in most ad platform dashboards and in GA4's basic reporting views, mostly because it's cheap to compute and easy to explain.
First-click (first-touch). Full credit goes to the first interaction a customer ever had with your brand. Useful if you specifically want to know which channels are driving discovery, not closing.
Linear. Credit gets split evenly across every touchpoint in the path. Fair in theory, but it treats a passive display impression the same as a branded search click right before checkout, which isn't really fair at all.
Time-decay. Touchpoints closer to the conversion get more credit, following a decay curve. A retargeting ad three days before purchase counts more than a prospecting ad three weeks before it.
Position-based (U-shaped). Roughly 40% of credit to the first touch, 40% to the last touch, and the remaining 20% spread across whatever happened in the middle. A compromise model for teams who believe both discovery and closing matter.
Data-driven (algorithmic). Machine-learning weighting based on actual conversion patterns in your account, rather than a fixed rule. This is the direction both Google Ads and GA4 have been pushing advertisers for a few years now, and it's increasingly the default for new conversion actions.
None of these is "correct." They're just different lenses pointed at the same pile of data.
Original Data: How Far ROAS Actually Moves Between Models
To see how much this actually matters in practice, we pulled anonymized, blended spend and revenue data across a sample set of Trivas accounts over a fixed 30-day window, then recalculated reported ROAS three ways: last-click, linear, and data-driven.
The spread wasn't subtle. Last-click consistently produced the highest headline ROAS on bottom-funnel retargeting and branded search campaigns, since those channels tend to sit at the very end of the path and absorb credit that linear and data-driven models would otherwise share with earlier touches. Linear models pulled ROAS down hardest on those same retargeting campaigns while pushing it up meaningfully for upper-funnel prospecting and awareness spend. Data-driven landed somewhere in between on most accounts, but closer to linear than to last-click on longer, multi-touch paths.
The channels that moved the most were, predictably, upper-funnel prospecting (think cold Meta audiences or YouTube) versus bottom-funnel retargeting and branded search. Under last-click, prospecting campaigns often looked flat or even unprofitable. Under linear or data-driven, the same campaigns picked up credit for sales that technically closed somewhere else. That gap is exactly where budget decisions go wrong: a team watching only last-click numbers will cut the channel that's actually filling the top of the funnel, because the model structurally can't see what that channel contributed.
If you're running performance marketing across more than one ad platform, this isn't a rounding error. It's the difference between scaling a channel and killing it.
Why Platform-Reported ROAS Misleads You
Meta reports ROAS using Meta's own attribution window and its own view of the customer journey. Google does the same inside Google Ads. Neither one knows, or cares, what happened on the other platform. This is the walled-garden problem: each platform scores itself as if it were the only channel that existed.
The practical result is that when you add up self-reported ROAS from Meta and Google Ads side by side, the combined number almost always overstates what actually landed in your bank account. Both platforms are frequently claiming credit for the same sale. A customer clicks a Meta ad, doesn't buy, then converts two days later off a Google search ad, and both platforms will happily report that sale as theirs.
GA4 and server-side tracking sit closer to neutral ground, since they're not economically incentivized to inflate any single channel's contribution. But they're not perfect either. iOS privacy changes and cookie restrictions mean a real chunk of cross-device and cross-browser activity simply doesn't get stitched together correctly, even in GA4. It's a better referee than either platform marking its own homework, just not a flawless one.
The honest move is to treat platform-reported ROAS as directional, not final, and reconcile it against your actual Shopify or storefront revenue before making any real budget call.
Matching the Attribution Model to Your Funnel and Sales Cycle
There's no single right model. There's a right model for your funnel shape.
If you're selling a low-consideration, impulse-buy product with a short path to purchase, usually one dominant channel, last-click is fine. It's simple, it's close enough to reality, and building a more complex model just adds noise without adding insight.
If you're running a higher-AOV product with a longer consideration window and multiple ad platforms touching the same customer, last-click will actively mislead you. Position-based or data-driven models stop your upper-funnel channels from getting quietly starved of budget just because they rarely close the final click.
If your account is small, under roughly 30 conversions a week, don't trust a data-driven model even if the platform offers it. Algorithmic attribution needs volume to find real patterns, and on thin data it'll produce weighted guesses that look precise but aren't. Default to time-decay or position-based instead, and set the weighting manually rather than letting a model with too little data make the call for you.
Build Your Own Attribution Model Stress-Test (Download the Worksheet)
This is the part most teams skip, and it's the part that actually changes decisions.
The worksheet is simple: you plug in channel-level spend and conversion data, and it walks you through manually recalculating ROAS under last-click, linear, and time-decay, side by side, for the same 30-day window.
The payoff shows up fast. You'll often find a channel you were about to cut under last-click is quietly driving real top-of-funnel volume once you look at it through a different model. That's the whole point of running attribution models roas comparisons before a budget meeting instead of after one.
Download it, run your last quarter's numbers through all three models, and bring the spread to your next planning cycle instead of a single ROAS figure. It takes less time than the meeting where you'd otherwise be arguing about which channel to defund.
FAQ: Attribution Models and ROAS
What is the best attribution model for ROAS? There isn't a universal best model. It depends on your sales cycle length and how many channels typically touch a customer before they buy. Most mature ecommerce teams don't pick one model and trust it blindly, they compare at least two side by side before making a call.
Does Google Ads use last-click or data-driven attribution by default? Google Ads has shifted new conversion actions to data-driven attribution by default. Older accounts, and certain conversion types, can still be running last-click unless someone's gone in and changed it manually.
Why is my Meta ROAS higher than my actual Shopify revenue? Meta's reported ROAS uses its own attribution window and its own click/view-through logic, which frequently double-counts conversions that Google Ads or email marketing are also claiming. That inflates the platform number against your real blended revenue.
Can I use multiple attribution models at once? Yes, and it's the recommended approach. Running last-click alongside a multi-touch model like time-decay or data-driven gives you a range to work with instead of one number that might be quietly misleading you.
The Real Fix: Stop Trusting a Single ROAS Number
Attribution models are lenses, not ground truth. The real risk was never picking the "wrong" one, it's reporting a ROAS figure without ever saying which model produced it.
A unified BI reporting layer solves the actual problem: it lets you view the same spend and revenue under multiple models at once, instead of relying on Meta and Google to each grade their own homework. That's a different kind of reporting than stitching together platform dashboards and hoping the numbers reconcile.
If you want to see where your own numbers land, run them through the ROAS calculator or grab a few minutes with our team to talk through what your real blended ROAS looks like once the models stop disagreeing with each other.
Content author and contributor at Trivas.ai, sharing insights on e-commerce analytics, business intelligence, and data-driven strategies to help businesses grow.
Continue Reading
explore more insights
Customer Journey Optimization
3 min read
Advanced Automation Analytics
3 min read
Step-by-Step Guide to Setting Up Automated Reports: A Comprehensive Implementation Strategy